Kubernetes Installations

  • open source software foundation dedicated to making cloud native computing universal and sustainable
  • host and nurture components of cloud native software stacks
  • over 230 members
  • events, webinars, training
  • Graduated Projects - Kubernetes (Orchestration)
  • Incubating Projects - Prometheus (Monitoring), Fluentd (logging), rkt (Container Runtime), CNI (Networking API), Notary (Security), CoreDNS (Service Discovery), Linkerd (Service Mesh), Helm (Package Management), ...
  • Sandbox Projects - Rook (Storage), SPIFFE (Identity Spec), SPIRE(Identity), Open Policy Agent (Policy), CloudEvents (Serverless), Telepresence (Tooling)

 

 

CNCF supported k8s OSS distributions

  • bootkube - tool for launching self-hosted Kubernetes clusters 
  • kops - run production-grade, highly available, k8s clusters on AWS, GCE or DigitalOcean
  • kube-aws - create, update and destroy Kubernetes clusters on AWS, Highly available and scalable k8s clusters backed by multi-AZ deployment and Node Pools
  • kube-up - start k8s in GCE, part of Kubernetes
  • kubeadm - toolkit that helps you bootstrap a best-practice Kubernetes cluster in an easy, reasonably secure and extensible way, part of Kubernetes
  • kubernetes-anywhere - k8s in the cloud
  • kubespray - create HA cluster on AWS, GCE, Azure, OpenStack, vSphere or Baremetal
  • minikube -  run Kubernetes locally, single-node k8s cluster inside a VM/Docker

How to start with Kubernetes

Use your own laptop...

  • Minikube - single node, easy, can be docker based (--vm-driver=none) or virtualization needed, addons, mount local dir to pods
  • Kubeadm - official Kubernetes tool for installations, multinode, multi distro
  • Kubespray - multinode, more complex, many options, HA, enterprise, multi distro

Use Public Cloud...

Many Public Cloud providers has "Kubernetes as a Service", depends on costs...

  • https://github.com/kubernetes-incubator/kubespray
  • Started by a group of independent developers as "Kargo" project
  • Install Production Ready Kubernetes Cluster with HA
  • Ansible based
  • Kubernetes Incubated project
  • Supported distributions: Container Linux by CoreOS, Debian, Ubuntu, CentOS/RHEL 7, Fedora/CentOS Atomic, openSUSE Leap 42.3/Tumbleweed
  • Network Plugins: flannel, calico, canal, cilium, contiv, weave
  • Many options: https://github.com/kubernetes-incubator/kubespray/tree/master/inventory/sample/group_vars

kubespray

Architecture Diagram

3 VMs, all 3 have etcd installed, all 3 are nodes (running pods), 2 of them run master components

kubespray demo

kubeadm

 

 

  • https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

  • You install Docker and the official Kubernetes packages

  • Select a master host, run kubeadm init

  • This sets up the control plane and outputs a kubeadm join […] command which includes a secure token

  • On each host selected to be a worker node, run the kubeadm join […] command from above

  • Install a pod network

Architecture Diagram

kubeadm demo

Thank you...

Kubernetes Installations

By Petr Ruzicka

Kubernetes Installations

  • 1,970