Google has announced the release of Kubernetes 1.4 that makes it easier to install and use Kubernetes. To ease the process of installation, Kubernetes has been packaged with its dependencies for major Linux distributions including Red Hat Enterprise Linux (RHEL) and Ubuntu. Just fire up apt-get or yum and install Kubernetes on your system.
But that’s just the installation part. Once you have Kubernetes installed there is a new tool called ‘kubeadm’ which reduces bootstrapping to two commands: kubeadm init starts the master whereas kubeadm join adds the nodes to the cluster. This is the first release of kubeadm, so there are some limitations to be ironed out in future releases.
The third component to further ease the management of containers is the Kubernetes Dashboard UI that offers 90 percent CLI parity for at-a-glance management. Put all of these three together and you have a perfect container management tool at your disposal.
Other important features
Some of the new features of Kubernetes 1.4 include increased focus on security:
- Pod Security Policy is a new object that enables cluster administrators to control the creation and validation of security contexts for pods/containers. Admins can associate service accounts, groups, and users with a set of constraints to define a security context.
- AppArmor support is added, enabling admins to run a more secure deployment, and provide better auditing and monitoring of their systems. Users can configure a container to run in an AppArmor profile by setting a single field.
As organizations are spreading their clouds across regions, there is a demand for the ability to build applications with clusters that span regions and clouds. Kubernetes 1.4 addresses that demand with some new features:
- Federated Replica Sets Beta – replicas can now span some or all clusters enabling cross region or cross cloud replication. The total federated replica count and relative cluster weights / replica counts are continually reconciled by a federated replica-set controller to ensure you have the pods you need in each region / cloud.
- Federated Services are now Beta, and secrets, events and namespaces have also been added to the federation API.
- Federated Ingress Alpha – starting with Google Cloud Platform (GCP), users can create a single L7 globally load balanced VIP that spans services deployed across a federation of clusters within GCP. With Federated Ingress in GCP, external clients point to a single IP address and are sent to the closest cluster with usable capacity in any region or zone of the federation in GCP.
Cloud is a relatively new concept, there are many existing applications that were not designed to run in containers. That doesn’t mean organizations with these legacy applications can’t use containers and cloud. Kubernetes comes with many new features that simplifies the deployment of such apps.
- ScheduledJob is introduced as Alpha so users can run batch jobs at regular intervals. Init-containers are Beta, addressing the need to run one or more containers before starting the main application, for example to sequence dependencies when starting a database or multi-tier app.
- Dynamic PVC Provisioning moved to Beta. This feature now enables cluster administrators to expose multiple storage provisioners and allows users to select them using a new Storage Class API object.
- Curated and pre-tested Helm charts for common stateful applications such as MariaDB, MySQL and Jenkins will be available for one-command launches using version 2 of the Helm Package Manager.
The war of container management
The container format war is over and Docker came out as a winner, but a new war is looming on the horizon. It’s about the container management system. There are many container management solutions but the main battle is between Kubernetes and Docker’s own Swarm.
The leading Linux vendors are betting big on Kubernetes. SUSE Linux Enterprise Server (SLES) ships Kubernetes as part of its Containers Module. Red Hat is using Kubernetes and it has no plans to support Docker Swarm. Canonical went a step further and launched its own distribution of Kubernetes.
Time will tell which of these container management technologies will survive, or maybe they will continue to co-exist.