HTTPS SSH

Kubernetes stack with Mirantis virtlet

This Terraform stack creates Kubernetes cluster in Openstack with preinstalled Mirantis virtlet software.
You may shape parameters of the cluster available in variables.tf file.

Requirements

This resources are required to successfully run cluster:

  • Openstack fip: you have to ensure available fip for each server in cluster (both master and worker nodes)
  • apt-based image for vms: this cluster was tested on Ubuntu 16.04
  • Openstack external-network: alongside with fips you have to ensure external-network
  • internet access: all vms should have to access internet with DNS
  • Terraform version >=0.11.10
  • Openstack version >=Ocata

Known limitations

Cluster hosts

  1. cluster has to have at least one master
  2. master shouldn't be deleted as it's used as seed for cluster
  3. workloads (including virtlet) are spawned only on worker nodes

Cluster keys

All hosts in cluster uses keys stored in _resources folder in this repository:

  • id_rsa - as private key
  • id_rsa.pub - as public keys

Those file names and path are hardcoded. You may replace those keys with your own, but you have to preserve file names and location.

OpenStack auth

This setup uses openstack provider:

provider "openstack" {

}

you have to set all necessary OpenStack variables eg. by sourcing openrc file corresponding with yours OpenStack Tennant

Software versions

Used virtlet version 1.1.2 requires Kubernetes 1.10.x and Kubernetes should work with Docker 17.03.x

## TODO

  1. increase etcd to master nodes number
  2. increase kube-scheduler to master nodes number
  3. re-trigger / trigger states on node add
  4. add github.com/kubernetes-incubator/cri-tools/cmd/crict