At KubeCon, Seattle, USA, Apprenda released their commercially supported open source ‘Kismatic Enterprise Toolkit (KET)’ version 1.0.0. KET provides developers and operators an integrated set of tools to automate the design, deployment and operation of productionKubernetes container orchestration clusters. The KET application suite and source code is available for download from the Apprenda GitHub account, and is released under the Apache 2.0 licence.
Kubernetes, the open source container orchestration platform donated to the Cloud Native Computing Foundation (CNCF) by Google earlier in the year, is challenging the likes of Docker Swarm and Apache Mesos to become the de facto method of running container-packaged applications and ‘microservices’ at scale. The Kubernetes project on GitHub has just under 1000 individual contributors, and many related community created projects are being spawned. According to the Apprenda blog, although this is a sign of a vibrant and growing ecosystem “these offerings fall short in providing an end-to-end lifecycle of best practices and production defaults for enterprise users”.
KET attempts to codify ‘best practices for running trusted Kubernetes platforms in production’, and includes the following features:
- Simple and intuitive ‘kismatic’ CLI-driven interface for running minimal commands to stand up and operate ‘production-tuned’ Kubernetes clusters.
- Following the style of Hashicorp’s Terraform, the interactive ‘kismatic install plan’ command can be used to produce a ‘kismatic-cluster-yaml’ file that specifies the required configuration of a Kubernetes cluster.
- After this file has been modified and reviewed by the user, the ‘kismatic install apply’ command verifies the configuration file content and builds a Kubernetes cluster as defined.
- After installation, the ‘kismatic’ tool will perform a basic test of scaling and networking on the cluster.
- Built-in upstream enterprise-grade security based on LDAP/AD integration and granular RBAC policies.
- Default set of cluster services, including distributed health checking (Kuberang) and the standard Kubernetes Web UI Dashboard.
- The use of these auxiliary services acknowledges the community established ‘best practices’ for running container orchestration platforms, e.g. Brendan Burns’ “The Distributed Systems Toolkit: Patterns for Composite Containers” and Brendan Burns and David Oppenheimers’ “Design Patterns for Container-based Distributed Systems”
- Integration with Project Calico, a cloud-native software defined network (SDN) control plane that offers granular ‘microsegmentation’, support for IT security policies, BGP-based routing, and pure layer-3 configuration of virtual distributed networks.
- Integration with Linkerd, the RPC-based microservices instrumentation layer for transparent service-to-service communication, tracing, transport level security (TLS), and routing based on Twitter’s Finagle.
- Maintained RPM and Debian packages for easy and up-to-date distribution of KET components and deployments behind an enterprise firewall.
- Build-in private container registry allowing cluster operators to deliver distributed services to their organization in a single command.
- Documented and codified production-tuned recommendations for deploying and running HA/FT Kubernetes clusters.
- Commercial support for running on major platforms, including:
- All modern versions of Linux supporting systemd: Red Hat, CentOS, Fedora etc.
- Ubuntu, Debian and CoreOS.
- Private Cloud: Bare Metal, VMware, OpenStack.
- Public Cloud: AWS, Packet.
KET is placed in the market alongside CoreOS’ Tectonic commercial distribution of Kubernetes, which also bundles open source Kubernetes components with additional proprietary offerings, and aims to allow operators to deploy ‘Google infrastructure for everyone else (GIFEE)’; Canonical’s Distribution of Kubernetes that creates and manages clusters using the organisation’s JuJudeployment technology, for which commercial support can be obtained; Red Hat’s OpenShift 3, which provides a commercially supported platform-as-a-service (PaaS) offering powered by Kubernetes and Docker; and the managed service offerings of Kubernetes, for example, Google Container Engine (GKE) and Platform9’s Kubernetes-based Containers-as-a-Service (CaaS).
Additional details of Apprenda’s release of the Kismatic Enterprise Toolkit (KET) can be found on the Apprenda blog, and the code can be found within the Kismatic subfolder of the Apprenda GitHub account. A Kismatic Users Google Group and Kismatic Slack channel have also been created to allow users to ask questions within a public forum.