From c3106a47dd483f0dd736343789a0e307595d3d80 Mon Sep 17 00:00:00 2001 From: AakashKT Date: Thu, 8 Mar 2018 18:54:25 +0530 Subject: Scenario Documentation k8s-ovn-lb-noha scenario Change-Id: I45fa19ed861b873118e1afedcf930cbdff3ecd37 Signed-off-by: AakashKT --- docs/scenarios/JOID/k8s-ovn-lb-noha.rst | 171 ++++++++++++++++++++++++++++++++ docs/scenarios/index.rst | 14 +++ 2 files changed, 185 insertions(+) create mode 100644 docs/scenarios/JOID/k8s-ovn-lb-noha.rst create mode 100644 docs/scenarios/index.rst diff --git a/docs/scenarios/JOID/k8s-ovn-lb-noha.rst b/docs/scenarios/JOID/k8s-ovn-lb-noha.rst new file mode 100644 index 0000000..ea9a35e --- /dev/null +++ b/docs/scenarios/JOID/k8s-ovn-lb-noha.rst @@ -0,0 +1,171 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) + + +Abstract +======== + +This document outlines the notes for deploying Kubernetes with OVN as the SDN and a load +balancer. JOID is used as the deployment tool. + +Introduction +============ +Juju OPNFV Infrastructure Deployer (JOID) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +JOID as Juju OPNFV Infrastructure Deployer allows you to deploy different combinations of +OpenStack release and SDN solution in HA or non-HA mode. For OpenStack, JOID supports +Juno and Liberty. For SDN, it supports Openvswitch, OpenContrail, OpenDayLight, and ONOS. +In addition to HA or non-HA mode, it also supports deploying from the latest development +tree. + +JOID heavily utilizes the technology developed in Juju and MAAS. Juju is a +state-of-the-art, open source, universal model for service oriented architecture and +service oriented deployments. Juju allows you to deploy, configure, manage, maintain, +and scale cloud services quickly and efficiently on public clouds, as well as on physical +servers, OpenStack, and containers. You can use Juju from the command line or through its +powerful GUI. MAAS (Metal-As-A-Service) brings the dynamism of cloud computing to the +world of physical provisioning and Ubuntu. Connect, commission and deploy physical servers +in record time, re-allocate nodes between services dynamically, and keep them up to date; +and in due course, retire them from use. In conjunction with the Juju service +orchestration software, MAAS will enable you to get the most out of your physical hardware +and dynamically deploy complex services with ease and confidence. + +For more info on Juju and MAAS, please visit https://jujucharms.com/ +and http://maas.ubuntu.com. + +Production grade container Orchestrator - Kubernetes (K8S) +========================================================== + +Kubernetes is an open-source system for automating deployment, scaling, and +management of containerized applications. + +This is a Kubernetes cluster that includes logging, monitoring, and operational +knowledge. It is comprised of the following components and features: + +- Kubernetes (automated deployment, operations, and scaling) + TLS used for communication between nodes for security. + A CNI plugin - in this scenario, we use OVN (Refer : https://github.com/openvswitch/ovn-kubernetes) + A load balancer for HA kubernetes-master (Experimental) + Optional Ingress Controller (on worker) + Optional Dashboard addon (on master) including Heapster for cluster monitoring + +- EasyRSA + Performs the role of a certificate authority serving self signed certificates + to the requesting units of the cluster. + +- Etcd (distributed key value store) + Minimum Three node cluster for reliability. + +- Kubernetes deployment with Load Balancer + .. code-block:: sh + + ./deploy.sh -m kubernetes -f lb -l custom -s ovn + + +Deployment Diagram +================== + + + + +-------------------------+ + | | + +------------+ Kubeapi-load-balancer +-----------------+ + | | | | + | +------------+------------+ | + | | | + | | | + | +------+------+ +----------+ | + | | | | | | + | +--------------+ EasyRSA +--------+ etcd | | + | | | | | | | + | | +-------------+ +-----+----+ | + | | | | + | | +---------+ | | + | | | | | | + | | +-------------+ OVN +-------------+ | | + | | | | | | | | + | | | +---------+ | | | + | | | | | | + | | | | | | ++-+---+--+----------+ +-----------+--+------+ | +| | | | | +| Kubernetes-worker +-----------------Kubernetes-master +-+ +| | | | ++-------------------+ +---------------------+ + + + +Using Kubernetes after Deployment +================================= + +Once you have finished installing Kubernetes, you can use the +following command to test the deployment. + +To deploy 5 replicas of the microbot web application inside the Kubernetes +cluster run the following command: + +.. code-block:: bash + + juju run-action kubernetes-worker/0 microbot replicas=5 + +This action performs the following steps: + +It creates a deployment titled 'microbots' comprised of 5 replicas defined +during the run of the action. It also creates a service named 'microbots' +which binds an 'endpoint', using all 5 of the 'microbots' pods. +Finally, it will create an ingress resource, which points at a +xip.io domain to simulate a proper DNS service. + +Running the packaged example + +You can run a Juju action to create an example microbot web application: + +.. code-block:: bash + + $ juju run-action kubernetes-worker/0 microbot replicas=3 + Action queued with id: db7cc72b-5f35-4a4d-877c-284c4b776eb8 + + $ juju show-action-output db7cc72b-5f35-4a4d-877c-284c4b776eb8 + results: + address: microbot.104.198.77.197.xip.io + status: completed + timing: + completed: 2016-09-26 20:42:42 +0000 UTC + enqueued: 2016-09-26 20:42:39 +0000 UTC + started: 2016-09-26 20:42:41 +0000 UTC +Note: Your FQDN will be different and contain the address of the cloud +instance. +At this point, you can inspect the cluster to observe the workload coming +online. + +For deploying via juju, refer to : https://jujucharms.com/u/aakashkt/kubernetes-ovn/ + +Supported OVN scenarios +======================= +Name: joid-k8s-ovn-lb-noha +Test Link: https://build.opnfv.org/ci/view/joid/job/joid-k8-ovn-lb-noha-baremetal-daily-master/ + +References +========== + +Juju +---- +- `Juju Charm store ` +- `Juju documents ` +- `Canonical Distibuytion of Kubernetes ` + +MAAS +---- +- `Bare metal management (Metal-As-A-Service) ` +- `MAAS API documents ` + +JOID +---- +- `OPNFV JOID wiki ` +- `OPNFV JOID Get Started ` + +Kubernetes +---------- +- `Kubernetes Release artifacts ` +- `Kubernetes documentation ` \ No newline at end of file diff --git a/docs/scenarios/index.rst b/docs/scenarios/index.rst new file mode 100644 index 0000000..7954179 --- /dev/null +++ b/docs/scenarios/index.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International Licence. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) + +============================= +OVN4NFV Installer Scenarios +============================= + +.. toctree:: + :numbered: + :maxdepth: 4 + + JOID/k8s-ovn-lb-noha.rst + -- cgit 1.2.3-korg