Kismatic Enterprise Toolkit: Fully-Automated, Production-Grade Kubernetes Operations
Go Makefile Shell Python
Clone or download
dkoshkin Temporarily disable HA integration tests [skip ci]
After moving DNS and Calico to the internal kubernetes endpoint known errors surfaced where the networking is not properly setup because the internal service does not get updated with the working api servers

This will be fixed with #987
Latest commit 020acfd Jun 28, 2018

README.md

GitHub license CircleCI Slackin

Kismatic Enterprise Toolkit (KET): Design, Deployment and Operations System for Production Kubernetes Clusters

Introduction

KET is a set of production-ready defaults and best practice tools for creating enterprise-tuned Kubernetes clusters. KET was built to make it simple for organizations who fully manage their own infrastructure to deploy and run secure, highly-available Kubernetes installations with built-in sane defaults for scalable cross-cluster networking, distributed tracing, circuit-breaking, request-level routing, cluster health-checking and much more!

KET operational tools include:

  1. Kismatic CLI
    • Command-line control plane and lifecycle tool for installing and configuring Kubernetes on provisioned infrastructure.
  2. Kismatic Inspector
    • Cluster health and validation utility for assuring that software and network configurations of cluster nodes are correct when installing Kubernetes.
  3. Kuberang
    • Cluster build verification to ensure networking and scaling work as intended. This tool is used to smoke-test a newly built cluster.
  4. Kismatic Provision
    • Quickly provision infrastructure on public clouds such as AWS and Packet. Makes building demo and development clusters a 2-step process.

Components

Component Version
Kubernetes v1.10.5
Docker v17.03.2.ce
Etcd (for Kubernetes) v3.1.13
Etcd (for Calico & Contiv) v3.1.13
Calico v2.6.10
Weave v2.3.0
Contiv v1.1.1
KubeDNS 1.14.10
CoreDNS 1.1.3
Nginx Ingress Controller 0.15.0
Helm v2.9.1

Download KET here

Supported Operating Systems

  • RHEL 7.4
  • CentOS 7.3
  • Ubuntu 16.04.3

Usage Documentation

Full Documentation -- Index of all the documentation

Installation Overview -- Instructions on using KET to install a Kubernetes cluster.

Upgrading Your Cluster -- Instructions on using KET to upgrade your Kubernetes cluster.

Plan File Reference -- Reference documentaion for the KET plan file.

Cluster Examples -- Examples for various ways you can use KET in your organization.

CNI Providers -- Information about the supported CNI providers by KET.

Add Ons -- Information about the Add-Ons supported by KET.

Kismatic CLI -- Dynamically generated documentation for the Kismatic CLI.

Development Documentation

How to Build KET

How to Contribute to KET

Running Integration Tests

KET Code of Conduct

KET Release Process

Basic Installation Instructions

Use the kismatic install command to work through installation of a cluster. The installer expects the underlying infrastructure to be accessible via SSH using Public Key Authentication.

The installation consists of three phases:

  1. Plan: kismatic install plan
    1. The installer will ask basic questions about the intent of your cluster.
    2. The installer will produce a kismatic-cluster.yaml which you will edit to capture your intent.
  2. Provision
    1. You provision your own machines
    2. You tweak your network
    3. Review the installation plan in kismatic-cluster.yaml and add information for each node.
  3. Install: kismatic install apply
    1. The installer checks your provisioned infrastructure against your intent.
    2. If the installation plan is valid, Kismatic will build you a cluster.
    3. After installation, Kismatic performs a basic test of scaling and networking on the cluster

Using your cluster

KET automatically configures and deploys Kubernetes Dashboard in your new cluster. Open the link provided at the end of the installation in your browser to use it.

Simply use the kismatic dashboard command to open the dashboard

During installation Kismatic generates a kubeconfig file in generated/dashboard-admin-kubeconfig with admin access, use that file or create your own RBAC backed users to access the dashboard.

The installer also generates a kubeconfig file in generated/kubeconfig required for kubectl. Instructions are provided at the end of the installation on how to use it.