Readme Update
Following sections has been addedd: * Features * Rolling Updates of Kubernetes application * Interacting with Kubernetes Cluster deployed by Murano Co-Authored-By: Nikolay Mahotkin <nmakhotkin@mirantis.com> Change-Id: I7d7572d6c53c9f6f0165ff55fa4d0ed5abdedef9
This commit is contained in:
parent
31e2504251
commit
66ddf3c4e0
@ -1,16 +1,16 @@
|
|||||||
Google Kubernetes for Murano
|
Murano deployed Kubernetes Cluster application
|
||||||
============================
|
==============================================
|
||||||
|
|
||||||
Packages in this folder are required to deploy both Google Kubernetes and
|
Packages in this folder are required to deploy both Google Kubernetes and
|
||||||
applications on top of it.
|
applications on top of it.
|
||||||
|
|
||||||
Contents of each folder need to be zipped and uploaded to Murano Catalog.
|
Contents of each folder need to be zipped and uploaded to Murano Catalog.
|
||||||
|
|
||||||
You will also need to build a proper Ubuntu-based image for Kubernetes.
|
You will also need to build a proper image for Kubernetes.
|
||||||
This can be done using `diskimage-builder <https://git.openstack.org/cgit/openstack/diskimage-builder>`_
|
This can be done using `diskimage-builder <https://git.openstack.org/cgit/openstack/diskimage-builder>`_
|
||||||
and `DIB elements
|
and `DIB elements
|
||||||
<https://git.openstack.org/cgit/openstack/murano/tree/contrib/elements/kubernetes>`_.
|
<https://git.openstack.org/cgit/openstack/murano/tree/contrib/elements/kubernetes>`_.
|
||||||
The image has to be named *ubuntu14.04-x64-kubernetes.qcow2*
|
The image has to be named *debian8-x64-kubernetes.qcow2*
|
||||||
|
|
||||||
|
|
||||||
Overview of Kubernetes
|
Overview of Kubernetes
|
||||||
@ -32,6 +32,106 @@ count is a property of KubernetesPod.
|
|||||||
For a more in-depth review of Kubernetes please refer to official
|
For a more in-depth review of Kubernetes please refer to official
|
||||||
`documentation <http://kubernetes.io/v1.1/docs/user-guide/README.html>`_.
|
`documentation <http://kubernetes.io/v1.1/docs/user-guide/README.html>`_.
|
||||||
|
|
||||||
|
Features
|
||||||
|
========
|
||||||
|
|
||||||
|
Murano deployed Kubernetes Cluster supports following features:
|
||||||
|
|
||||||
|
* Networking_: Calico
|
||||||
|
* `Container Runtime`_: Docker
|
||||||
|
* `Rolling Updates`_ of Kubernetes application
|
||||||
|
* Publishing services: ClusterIP Type
|
||||||
|
|
||||||
|
.. _Networking:
|
||||||
|
|
||||||
|
Networking
|
||||||
|
----------
|
||||||
|
|
||||||
|
Kubernetes Cluster deployed by Murano supports Calico networking by default.
|
||||||
|
Support for Flannel is disabled by default, but can be enabled as an option.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Container runtime:
|
||||||
|
|
||||||
|
Container runtime
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
A container runtime responsible for pulling container images from a registry,
|
||||||
|
unpacking the container and running the application. Kubernetes by default
|
||||||
|
supports Docker runtime. Recently in Kubernetes version 1.3 support for rkt
|
||||||
|
runtime has been added. More runtimes planned to be added in the future.
|
||||||
|
|
||||||
|
Kubernetes Cluster deployed by Murano currently supports only Docker runtime.
|
||||||
|
Though we planning to add rkt runtime in close future.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Rolling Updates:
|
||||||
|
|
||||||
|
Rolling Updates of Kubernetes application
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Kubernetes Cluster deployed by Murano supports rolling updates with the use of
|
||||||
|
“Deployments” and “Replication Controllers (RC)” abstractions. Rolling updates
|
||||||
|
using Deployments is a recommended way to perform updates.
|
||||||
|
Rolling update via Deployments provides following benefits over RC:
|
||||||
|
|
||||||
|
* Declarative way to control how service updates are performed
|
||||||
|
* Rollback to an earlier Deployment version
|
||||||
|
* Pause and resume a Deployment.
|
||||||
|
|
||||||
|
To use Rolling updates via Deployments refer to `Kubernetes documentation <http://kubernetes.io/docs/user-guide/deployments/#updating-a-deployment>`_.
|
||||||
|
|
||||||
|
**NOTE:** Currently all applications deployed from Apps Catalog has been created as
|
||||||
|
Replication Controllers (RC). It means that Rolling updates via Deployments
|
||||||
|
are not available for those applications.
|
||||||
|
|
||||||
|
In case application running as Replication Controllers (RC) and requires update,
|
||||||
|
please refer to Kubernetes documentation `here <http://kubernetes.io/docs/user-guide/rolling-updates>`_.
|
||||||
|
|
||||||
|
|
||||||
|
Interacting with Kubernetes Cluster deployed by Murano
|
||||||
|
======================================================
|
||||||
|
|
||||||
|
There are several ways to create, manage applications on Kubernetes cluster:
|
||||||
|
|
||||||
|
Using Murano->Apps Catalog-> Environments view in Horizon:
|
||||||
|
----------------------------------------------------------
|
||||||
|
Users can perform following actions:
|
||||||
|
|
||||||
|
* Deploy/Destroy Kubernetes Cluster
|
||||||
|
* Perform Kubernetes Cluster related actions such as scale Nodes and Gateways.
|
||||||
|
* Perform Kubernetes Pod related actions such as scale, recreate pods or restart Containers.
|
||||||
|
* Deploy selected Application from Apps Catalog via Murano Dashboard.
|
||||||
|
* Deploy any docker image from Docker Hub using Docker Container apps from Apps Catalog.
|
||||||
|
|
||||||
|
Using kubectl CLI:
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Deploy and manage applications using Kubernetes command-line tool - ``kubectl``
|
||||||
|
from you laptop or any local environment:
|
||||||
|
|
||||||
|
* * `Download and install <http://kubernetes.io/docs/getting-started-guides/minikube/#install-kubectl>`_ the ``kubectl`` executable based on OS of the choice.
|
||||||
|
* Configure kubectl context on local env:
|
||||||
|
|
||||||
|
* ``kubectl config set-cluster kubernetes --server=http://<kube1-floating_IP>:8080``
|
||||||
|
* ``kubectl config set-context kubelet-context --cluster=kubernetes --user=""``
|
||||||
|
* ``kubectl config use-context kubelet-context``
|
||||||
|
|
||||||
|
* Verify kubectl Configuration and Connection:
|
||||||
|
|
||||||
|
* ``kubectl config view``
|
||||||
|
* ``kubectl get nodes``
|
||||||
|
|
||||||
|
The resulting kubeconfig file will be stored in ~/.kube/config. Can be sourced at any time after.
|
||||||
|
|
||||||
|
Additionally, it is possible to access ``kubectl cli`` from Master Node (kube-1),
|
||||||
|
where ```kubectl cli``` is installed and configured by default.
|
||||||
|
|
||||||
|
**NOTE:** In case application has been deployed via kubectl it will be exposed
|
||||||
|
automatically outside based on the port information provided in service yaml file.
|
||||||
|
However, it will be required to manually add required port to the OpenStack Security
|
||||||
|
Groups created for this Cluster in order to be able reach application from outside.
|
||||||
|
|
||||||
|
|
||||||
How murano installs Kubernetes
|
How murano installs Kubernetes
|
||||||
------------------------------
|
------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user