Skip to content

20180503_talk_2

20180503_talk_2

KubeSpray Introduction

k8s

Goals
  • Run app
  • Keep these running
  • Give resources
  • Connecting them together
  • Publishing services
Requirements
  • Etcd
  • Masters
  • Workers
  • Container Runtime
  • Container Network
  • PKI
  • Storage
Deployments

Divivsive
* Golang vs CfgMgnt
* Orchestration approcaches (do your own)
* CfgMgmt divisions
* Not invented here syndrome
* Reliability and maintenance

Ecosystem
* Kops (cloud 1st, BareMetal now)
* KubeAdm
* Comercials

Kubespray

Overview
  • Lifecycle manager
  • Flexible and composable
  • Prod ready
  • Community driven since 2015
Ansible playbook
  • Comprehensive approach with playbooks concepts
  • Covers all componenents
  • Readable
  • Flexible
  • Actively maintained
Approach
  • Containerize everything
  • Container engine option (Dokcer or rkt)
  • Depoyment options (container-static-pods, Kubeadm, SelfHosted)
Community

Acvite & Helpful: 250+ contributors

Ci
  • 20+ cluster topolgies tested
  • Deploys real clusters
  • Runs n GCE and DO
Workflows

Deployment
* Bootstrap OS
* Preinstall (?)
* Container Runtime
* ETCD
* PKI
* Kube Masters
* Kube workers
* Network
* DNS

Upgrade
* Change ansible value
* Apply changes

Notes

Upgrade concerns: Drain nodes before maintenance

HA
  • ETCD
  • KubeAPIServer
  • Runs Nnginx on every master servers (Or Cloud LBs of available)
Scale tips
  • IOs for ETCD

Next steps

  • More cloud providers support
  • K8s e2e tests
  • Auto-scaling
  • More add-on providers besides Helm