summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorAakashKT <aakash.kt@research.iiit.ac.in>2018-03-08 18:54:25 +0530
committerAakashKT <aakash.kt@research.iiit.ac.in>2018-03-24 21:33:37 +0530
commitc3106a47dd483f0dd736343789a0e307595d3d80 (patch)
treeaccfedb35f0880cc869bf2de52e245c70f96b2d1 /docs
parente0e7d50a8dbf70117baec66451df7f594a7db233 (diff)
Scenario Documentation
k8s-ovn-lb-noha scenario Change-Id: I45fa19ed861b873118e1afedcf930cbdff3ecd37 Signed-off-by: AakashKT <aakash.kt@research.iiit.ac.in>
Diffstat (limited to 'docs')
-rw-r--r--docs/scenarios/JOID/k8s-ovn-lb-noha.rst171
-rw-r--r--docs/scenarios/index.rst14
2 files changed, 185 insertions, 0 deletions
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) <optionally add copywriters name>
+
+
+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 <https://jujucharms.com/>`
+- `Juju documents <https://jujucharms.com/docs/stable/getting-started>`
+- `Canonical Distibuytion of Kubernetes <https://jujucharms.com/canonical-kubernetes/>`
+
+MAAS
+----
+- `Bare metal management (Metal-As-A-Service) <http://maas.io/get-started>`
+- `MAAS API documents <http://maas.ubuntu.com/docs/>`
+
+JOID
+----
+- `OPNFV JOID wiki <https://wiki.opnfv.org/joid>`
+- `OPNFV JOID Get Started <https://wiki.opnfv.org/display/joid/JOID+Get+Started>`
+
+Kubernetes
+----------
+- `Kubernetes Release artifacts <https://get.k8s.io/>`
+- `Kubernetes documentation <https://kubernetes.io/>` \ 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) <optionally add copywriters name>
+
+=============================
+OVN4NFV Installer Scenarios
+=============================
+
+.. toctree::
+ :numbered:
+ :maxdepth: 4
+
+ JOID/k8s-ovn-lb-noha.rst
+