summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin chi <chigang@huawei.com>2017-10-18 13:53:29 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-10-18 13:53:29 +0000
commit77538b1f55316c9fda9a6cbcec17707a03bdfa05 (patch)
tree63498fab33810c4fd50842a04ebc2da31a9c47be
parent0bd9deecf2efcbb06b24a2c6200c3f6c1326aaf6 (diff)
parent4f90858ffbe3e566f30f8bf58309d28989212d0e (diff)
Merge "Update the Euphrates docs for kubernetes scenario"
-rw-r--r--deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml65
-rw-r--r--docs/release/configguide/index.rst13
-rw-r--r--docs/release/installation/featureTable.rst2
-rw-r--r--docs/release/installation/images/architecture.pngbin0 -> 268126 bytes
-rw-r--r--docs/release/installation/images/k8s.pngbin0 -> 143868 bytes
-rw-r--r--docs/release/installation/index.rst2
-rw-r--r--docs/release/installation/k8s-deploy.rst267
-rw-r--r--docs/release/installation/k8s-intro.rst96
-rw-r--r--docs/release/release-notes/release-notes.rst4
-rw-r--r--docs/release/scenarios/k8s-nosdn-nofeature-ha.rst6
-rw-r--r--docs/release/scenarios/os-nosdn-nofeature-ha.rst6
-rw-r--r--docs/release/scenarios/os-odl-nofeature-ha.rst6
-rw-r--r--docs/release/scenarios/os-odl-sfc-ha.rst6
-rw-r--r--docs/release/userguide/FAQ/faq.rst35
14 files changed, 481 insertions, 27 deletions
diff --git a/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml b/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml
new file mode 100644
index 00000000..995d0107
--- /dev/null
+++ b/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml
@@ -0,0 +1,65 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+TYPE: baremetal
+FLAVOR: cluster
+POWER_TOOL: ipmitool
+
+ipmiUser: root
+ipmiVer: '2.0'
+
+hosts:
+ - name: host1
+ mac: 'F8:4A:BF:55:A2:8D'
+ interfaces:
+ - eth1: 'F8:4A:BF:55:A2:8E'
+ ipmiIp: 172.16.130.26
+ ipmiPass: Opnfv@pod1
+ roles:
+ - kube_master
+ - etcd
+
+ - name: host2
+ mac: 'D8:49:0B:DA:5A:B7'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5A:B8'
+ ipmiIp: 172.16.130.27
+ ipmiPass: Opnfv@pod1
+ roles:
+ - kube_master
+ - etcd
+
+ - name: host3
+ mac: '78:D7:52:A0:B1:99'
+ interfaces:
+ - eth1: '78:D7:52:A0:B1:9A'
+ ipmiIp: 172.16.130.29
+ ipmiPass: Opnfv@pod1
+ roles:
+ - kube_master
+ - etcd
+
+ - name: host4
+ mac: 'D8:49:0B:DA:5B:5D'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5B:5E'
+ ipmiIp: 172.16.130.30
+ ipmiPass: Opnfv@pod1
+ roles:
+ - kube_node
+
+ - name: host5
+ mac: 'D8:49:0B:DA:56:85'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:56:86'
+ ipmiIp: 172.16.130.31
+ ipmiPass: Opnfv@pod1
+ roles:
+ - kube_node
diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst
deleted file mode 100644
index fae27101..00000000
--- a/docs/release/configguide/index.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-
-.. _compass4nfv-overview:
-
-*********************************
-Compass4NFV Release Overview
-*********************************
-
-.. toctree::
- :maxdepth: 2
-
- containerized_compass.rst
diff --git a/docs/release/installation/featureTable.rst b/docs/release/installation/featureTable.rst
index 7d91d2a0..2cd74a2b 100644
--- a/docs/release/installation/featureTable.rst
+++ b/docs/release/installation/featureTable.rst
@@ -44,7 +44,7 @@ Supported Openstack Flavor and Features
| Multi-Nic | Yes | Yes | Yes | Yes |
| Support | | | | |
+---------------+--------------+--------------+---------------+---------------+
-| Boot | Yes | Yes | Yes | YES |
+| Boot | Yes | Yes | Yes | Yes |
| Recovery | | | | |
+---------------+--------------+--------------+---------------+---------------+
| SFC | No | No | Yes | Yes |
diff --git a/docs/release/installation/images/architecture.png b/docs/release/installation/images/architecture.png
new file mode 100644
index 00000000..0ee8bceb
--- /dev/null
+++ b/docs/release/installation/images/architecture.png
Binary files differ
diff --git a/docs/release/installation/images/k8s.png b/docs/release/installation/images/k8s.png
new file mode 100644
index 00000000..6af82dcc
--- /dev/null
+++ b/docs/release/installation/images/k8s.png
Binary files differ
diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst
index d678b9df..80d07e86 100644
--- a/docs/release/installation/index.rst
+++ b/docs/release/installation/index.rst
@@ -17,6 +17,8 @@ Compass4nfv Installation Instructions
configure-network.rst
bmdeploy.rst
vmdeploy.rst
+ k8s-intro.rst
+ k8s-deploy.rst
offline-deploy.rst
expansion.rst
references.rst
diff --git a/docs/release/installation/k8s-deploy.rst b/docs/release/installation/k8s-deploy.rst
new file mode 100644
index 00000000..65f638cb
--- /dev/null
+++ b/docs/release/installation/k8s-deploy.rst
@@ -0,0 +1,267 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Yifei Xue (HUAWEI) and Justin Chi (HUAWEI)
+
+Installation of K8s on virtual machines
+=======================================
+
+Quick Start
+-----------
+
+Only 1 command to try virtual deployment, if you have Internet access. Just Paste it and Run.
+
+.. code-block:: bash
+
+ curl https://raw.githubusercontent.com/opnfv/compass4nfv/master/quickstart_k8s.sh | bash
+
+If you want to deploy noha with1 controller and 1 compute, run the following command
+
+.. code-block:: bash
+
+ export SCENARIO=k8-nosdn-nofeature-noha.yml
+ export VIRT_NUMBER=2
+ curl https://raw.githubusercontent.com/opnfv/compass4nfv/euphrates/quickstart_k8s.sh | bash
+
+Installation of K8s on Bare Metal
+=================================
+
+Nodes Configuration (Bare Metal Deployment)
+-------------------------------------------
+
+The below file is the inventory template of deployment nodes:
+
+"compass4nfv/deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml"
+
+You can write your own IPMI IP/User/Password/Mac address/roles reference to it.
+
+ - name -- Host name for deployment node after installation.
+
+ - ipmiVer -- IPMI interface version for deployment node support. IPMI 1.0
+ or IPMI 2.0 is available.
+
+ - ipmiIP -- IPMI IP address for deployment node. Make sure it can access
+ from Jumphost.
+
+ - ipmiUser -- IPMI Username for deployment node.
+
+ - ipmiPass -- IPMI Password for deployment node.
+
+ - mac -- MAC Address of deployment node PXE NIC.
+
+ - interfaces -- Host NIC renamed according to NIC MAC addresses when OS provisioning.
+
+ - roles -- Components deployed.
+
+**Set TYPE/FLAVOR and POWER TOOL**
+
+E.g.
+.. code-block:: yaml
+
+ TYPE: baremetal
+ FLAVOR: cluster
+ POWER_TOOL: ipmitool
+
+**Set ipmiUser/ipmiPass and ipmiVer**
+
+E.g.
+
+.. code-block:: yaml
+
+ ipmiUser: USER
+ ipmiPass: PASSWORD
+ ipmiVer: '2.0'
+
+**Assignment of different roles to servers**
+
+E.g. K8s only deployment roles setting
+
+.. code-block:: yaml
+
+ hosts:
+ - name: host1
+ mac: 'F8:4A:BF:55:A2:8D'
+ interfaces:
+ - eth1: 'F8:4A:BF:55:A2:8E'
+ ipmiIp: 172.16.130.26
+ roles:
+ - kube_master
+ - etcd
+
+ - name: host2
+ mac: 'D8:49:0B:DA:5A:B7'
+ interfaces:
+ - eth1: 'D8:49:0B:DA:5A:B8'
+ ipmiIp: 172.16.130.27
+ roles:
+ - kube_node
+
+Network Configuration (Bare Metal Deployment)
+---------------------------------------------
+
+Before deployment, there are some network configuration to be checked based
+on your network topology.Compass4nfv network default configuration file is
+"compass4nfv/deploy/conf/hardware_environment/huawei-pod1/network.yml".
+This file is an example, you can customize by yourself according to specific network
+environment.
+
+In this network.yml, there are several config sections listed following(corresponed to the
+ordre of the config file):
+
+Provider Mapping
+~~~~~~~~~~~~~~~~
+
+ - name -- provider network name.
+
+ - network -- default as physnet, do not change it.
+
+ - interfaces -- the NIC or Bridge attached by the Network.
+
+ - type -- the type of the NIC or Bridge(vlan for NIC and ovs for Bridge, either).
+
+ - roles -- all the possible roles of the host machines which connected by this
+ network(mostly put both controller and compute).
+
+System Interface
+~~~~~~~~~~~~~~~~
+
+ - name -- Network name.
+
+ - interfaces -- the NIC or Bridge attached by the Network.
+
+ - vlan_tag -- if type is vlan, add this tag before 'type' tag.
+
+ - type -- the type of the NIC or Bridge(vlan for NIC and ovs for Bridge, either).
+
+ - roles -- all the possible roles of the host machines which connected by this
+ network(mostly put both controller and compute).
+
+IP Settings
+~~~~~~~~~~~
+
+ - name -- network name corresponding the the network name in System Interface section one by one.
+
+ - ip_ranges -- ip addresses range provided for this network.
+
+ - cidr -- the IPv4 address and its associated routing prefix and subnet mask?
+
+ - gw -- need to add this line only if network is external.
+
+ - roles -- all the possible roles of the host machines which connected by this
+ network(mostly put both controller and compute).
+
+Internal VIP(virtual or proxy IP)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - ip -- virtual or proxy ip address, must be in the same subnet with mgmt network
+ but must not be in the range of mgmt network.
+
+ - netmask -- the length of netmask
+
+ - interface -- mostly mgmt.
+
+Public VIP
+~~~~~~~~~~
+
+ - ip -- virtual or proxy ip address, must be in the same subnet with external
+ network but must not be in the range of external network.
+
+ - netmask -- the length of netmask
+
+ - interface -- mostly external.
+
+
+Public Network
+~~~~~~~~~~~~~~
+
+ - enable -- must be True(if False, you need to set up provider network manually).
+
+ - network -- leave it ext-net.
+
+ - type -- the type of the ext-net above, such as flat or vlan.
+
+ - segment_id -- when the type is vlan, this should be id of vlan.
+
+ - subnet -- leave it ext-subnet.
+
+ - provider_network -- leave it physnet.
+
+ - router -- leave it router-ext.
+
+ - enable_dhcp -- must be False.
+
+ - no_gateway -- must be False.
+
+ - external_gw -- same as gw in ip_settings.
+
+ - floating_ip_cidr -- cidr for floating ip, see explanation in ip_settings.
+
+ - floating_ip_start -- define range of floating ip with floating_ip_end(this
+ defined range must not be included in ip range of external configured in
+ ip_settings section).
+
+ - floating_ip_end -- define range of floating ip with floating_ip_start.
+
+
+**The following figure shows the default network configuration.**
+
+.. figure:: images/k8s.png
+ :alt: Kubernetes network configuration
+ :figclass: align-center
+
+ Fig 5. Kubernetes network configuration
+
+Start Deployment (Bare Metal Deployment)
+----------------------------------------
+
+1. Edit deploy.sh
+
+1.1. Set OS version for deployment nodes.
+ Compass4nfv supports ubuntu and centos based openstack newton.
+
+E.g.
+
+.. code-block:: bash
+
+ # Set OS version for target hosts
+ # Only CentOS7 supported now
+ export OS_VERSION=centos7
+
+1.2. Set tarball corresponding to your code
+
+E.g.
+
+.. code-block:: bash
+
+ # Set ISO image corresponding to your code
+ export ISO_URL=file:///home/compass/compass4nfv.tar.gz
+
+1.3. Set hardware deploy jumpserver PXE NIC. (set eth1 E.g.)
+ You do not need to set it when virtual deploy.
+
+E.g.
+
+.. code-block:: bash
+
+ # Set hardware deploy jumpserver PXE NIC
+ # you need to comment out it when virtual deploy
+ export INSTALL_NIC=eth1
+
+1.4. K8s scenario that you want to deploy
+
+E.g.
+
+nosdn-nofeature scenario deploy sample
+
+.. code-block:: bash
+
+ # DHA is your dha.yml's path
+ export DHA=./deploy/conf/hardware_environment/huawei-pod1/k8-nosdn-nofeature-ha.yml
+
+ # NETWORK is your network.yml's path
+ export NETWORK=./deploy/conf/hardware_environment/huawei-pod1/network.yml
+
+2. Run ``deploy.sh``
+
+.. code-block:: bash
+
+ ./deploy.sh
diff --git a/docs/release/installation/k8s-intro.rst b/docs/release/installation/k8s-intro.rst
new file mode 100644
index 00000000..a3ea4547
--- /dev/null
+++ b/docs/release/installation/k8s-intro.rst
@@ -0,0 +1,96 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International Licence.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) by Yifei Xue (HUAWEI) and Justin Chi (HUAWEI)
+
+K8s introduction
+================
+
+Kubernetes Architecture
+-----------------------
+
+Currently Compass can deploy kubernetes as NFVI in 3+2 mode by default.
+
+**The following figure shows a typical architecture of Kubernetes.**
+
+.. figure:: images/architecture.png
+ :alt: K8s architecture
+ :figclass: align-center
+
+ Fig 3. K8s architecture
+
+Kube-apiserver
+~~~~~~~~~~~~~~
+
+Kube-apiserver exposes the Kubernetes API. It is the front-end for the Kubernetes control plane.
+It is designed to scale horizontally, that is, it scales by deploying more instances.
+
+Etcd
+~~~~
+
+Etcd is used as Kubernetes' backing store. All cluster data is stored here. Always have a backup
+plan for etcd's data for your Kubernetes cluster.
+
+Kube-controller-manager
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Kube-controller-manager runs controllers, which are the background threads that handle routine
+tasks in the cluster. Logically, each controller is a separate process, but to reduce complexity,
+they are all compiled into a single binary and run in a single process.
+
+These controllers include:
+
+ - Node Controller: Responsible for noticing and responding when nodes go down.
+ - Replication Controller: Responsible for maintaining the correct number of pods for every
+ replication controller object in the system.
+ - Endpoints Controller: Populates the Endpoints object (that is, joins Services & Pods).
+ - Service Account & Token Controllers: Create default accounts and API access tokens for
+ new namespaces.
+
+kube-scheduler
+~~~~~~~~~~~~~~
+
+Kube-scheduler watches newly created pods that have no node assigned, and selects a node for them
+to run on.
+
+Kubelet
+~~~~~~~
+
+Kubelet is the primary node agent. It watches for pods that have been assigned to its node (either
+by apiserver or via local configuration file) and:
+
+ - Mounts the pod's required volumes.
+ - Downloads the pod's secrets.
+ - Runs the pod's containers via docker (or, experimentally, rkt).
+ - Periodically executes any requested container liveness probes.
+ - Reports the status of the pod back to the rest of the system, by creating a mirror pod if
+ necessary.
+ - Reports the status of the node back to the rest of the system.
+
+Kube-proxy
+~~~~~~~~~~
+
+Kube-proxy enables the Kubernetes service abstraction by maintaining network rules on the host and
+performing connection forwarding.
+
+Docker
+~~~~~~
+
+Docker is used for running containers.
+
+POD
+~~~
+
+A pod is a collection of containers and its storage inside a node of a Kubernetes cluster. It is
+possible to create a pod with multiple containers inside it. For example, keeping a database container
+and data container in the same pod.
+
+Understand Kubernetes Networking in Compass configuration
+---------------------------------------------------------
+
+**The following figure shows the Kubernetes Networking in Compass configuration.**
+
+.. figure:: images/k8s.png
+ :alt: Kubernetes Networking in Compass
+ :figclass: align-center
+
+ Fig 4. Kubernetes Networking in Compass
diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst
index 85700385..0c5e804c 100644
--- a/docs/release/release-notes/release-notes.rst
+++ b/docs/release/release-notes/release-notes.rst
@@ -31,7 +31,7 @@ Release Data
| **Release designation** | Euphrates.1.0 |
| | |
+--------------------------------------+--------------------------------------+
-| **Release date** | September 2017 |
+| **Release date** | October 2017 |
| | |
+--------------------------------------+--------------------------------------+
| **Purpose of the delivery** | OPNFV Euphrates release |
@@ -69,6 +69,8 @@ upstream components supported with this release.
- Openstack (Ocata release)
+ - Kubernates (1.7.3)
+
- Opendaylight (Nitrogen release)
diff --git a/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst b/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst
index 7e8e3b33..d9925cb7 100644
--- a/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst
+++ b/docs/release/scenarios/k8s-nosdn-nofeature-ha.rst
@@ -9,9 +9,9 @@ deployment with no SDN controller and no feature enabled.
:depth: 3
:local:
-============
-Introduction
-============
+======================
+k8s-nosdn-nofeature-ha
+======================
This scenario is used to deploy an kubernets cluster.
diff --git a/docs/release/scenarios/os-nosdn-nofeature-ha.rst b/docs/release/scenarios/os-nosdn-nofeature-ha.rst
index f2dce3da..6ff3b85c 100644
--- a/docs/release/scenarios/os-nosdn-nofeature-ha.rst
+++ b/docs/release/scenarios/os-nosdn-nofeature-ha.rst
@@ -9,9 +9,9 @@ deployment with no SDN controller and no feature enabled.
:depth: 3
:local:
-============
-Introduction
-============
+=====================
+os-nosdn-nofeature-ha
+=====================
This scenario is used to deploy an Ocata OpenStack deployment with
Ceph Jewel, and without SDN controller nor any NFV feature enabled.
diff --git a/docs/release/scenarios/os-odl-nofeature-ha.rst b/docs/release/scenarios/os-odl-nofeature-ha.rst
index 14b02e6d..64e74e04 100644
--- a/docs/release/scenarios/os-odl-nofeature-ha.rst
+++ b/docs/release/scenarios/os-odl-nofeature-ha.rst
@@ -9,9 +9,9 @@ deployment with the OpenDaylight controller and no feature enabled.
:depth: 3
:local:
-============
-Introduction
-============
+===================
+os-odl-nofeature-ha
+===================
This scenario is used to deploy an Ocata OpenStack deployment with
OpenDaylight Nitrogen, Ceph Jewel, and without any NFV feature enabled.
diff --git a/docs/release/scenarios/os-odl-sfc-ha.rst b/docs/release/scenarios/os-odl-sfc-ha.rst
index 2a7a9fe0..7dca2417 100644
--- a/docs/release/scenarios/os-odl-sfc-ha.rst
+++ b/docs/release/scenarios/os-odl-sfc-ha.rst
@@ -9,9 +9,9 @@ deployment with the OpenDaylight controller and SFC feature enabled.
:depth: 3
:local:
-============
-Introduction
-============
+=============
+os-odl-sfc-ha
+=============
This scenario is used to deploy an Ocata OpenStack deployment with
OpenDaylight Nitrogen, Ceph Jewel, and SFC feature enabled.
diff --git a/docs/release/userguide/FAQ/faq.rst b/docs/release/userguide/FAQ/faq.rst
index f2500a0d..326b85fe 100644
--- a/docs/release/userguide/FAQ/faq.rst
+++ b/docs/release/userguide/FAQ/faq.rst
@@ -131,9 +131,44 @@ How to recovery network connection after Jumphost reboot
source deploy/network.sh && save_network_info
+How to use Kubernetes CLI
+=========================
+
+Login one of the controllers
+----------------------------
+
+There are 3 controllers referring to host1 to host3 with IPs from 10.1.0.50 to 10.1.0.52.
+The username of the nodes is root, and the password is root.
+
+.. code-block:: bash
+
+ ssh root@10.1.0.50
+
+Run the Kubernetes command
+--------------------------
+
+Kubectl controls the Kubernetes cluster manager.
+
+.. code-block:: bash
+
+ kubectl help
+
+Follow the k8s example to create a ngnix service
+------------------------------------------------
+
+To create a nginx service, please read Ref[2] at the end of this page.
+
References
==========
+
+[1]
+---
+
For more information on the Compass4nfv FAQ, please visit
`COMPASS FAQ WIKI Page <https://wiki.opnfv.org/compass4nfv_faq>`_
+[2]
+---
+
+`K8s Get-Started Page <http://containertutorials.com/get_started_kubernetes/k8s_example.html>`_