Caution
Kubernetes support termination notice
Starting with the MCP 2019.2.5 update, the Kubernetes component is no longer supported as a part of the MCP product. This implies that Kubernetes is not tested and not shipped as an MCP component. Although the Kubernetes Salt formula is available in the community driven SaltStack formulas ecosystem, Mirantis takes no responsibility for its maintenance.
Customers looking for a Kubernetes distribution and Kubernetes lifecycle management tools are encouraged to evaluate the Mirantis Kubernetes-as-a-Service (KaaS) and Docker Enterprise products.
Note
This feature is available as technical preview in the MCP Build ID 2019.2.0. Starting from the MCP 2019.2.2 update, the feature is fully supported.
The OpenStack cloud provider extends the basic functionality of Kubernetes by fulfilling the provider requirement for several resources. This is achieved through communication with several OpenStack APIs. As a rule, the Kubernetes cluster must consist of instances that are deployed on an OpenStack environment in order to activate the cloud provider.
Additionally, the OpenStack environment must have the following components installed: Nova, Keystone, Neutron (with Octavia), and Cinder.
In the future, DNS support may become available through the Designate project.
Several of the Kubernetes components communicate with the OpenStack environment services in order to obtain information as well as create and maintain objects.
The kubelet
service accesses nova
to obtain the nova
instance name. The kubelet node name will be set to the instance name.
It also accesses cinder
to mount PersistentVolumes
that are requested
by a pod.
The kube-apiserver
service accesses nova
to limit admission
to the Kubernetes cluster. The service only allows the
cloudprovider
-enabled Kubernetes nodes to register themselves into the
cluster.
The openstack-cloud-controller-manager
service accesses cinder
and neutron
to create PersistentVolumes
(using cinder
) and
LoadBalancers
(using neutron-lbaas
).
Below is a diagram of the components involved and how they interact.
Fixed in 2019.2.2 OpenStack cloud provider has the following limitation: it works as designed only when a Kubernetes node has only one physical network interface. For more details, see the community bug.