Kubernetes Installations
- 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)
![](https://www.cncf.io/wp-content/uploads/2016/09/ico_kubernetes-100x100.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/ico_prometheus-100x100.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/logo_opentracing.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/logo_fluentd.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/containerd-dark-d_neww-e1490985724669.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/rkt-glyph-color_new.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/ico_CNI-e1496154536171.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/logo_envoy2.png)
![](https://www.cncf.io/wp-content/uploads/2018/02/jaeger-icon-color-.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/thumb_notary.png)
![](https://www.cncf.io/wp-content/uploads/2018/05/tuf.png)
![](https://www.cncf.io/wp-content/uploads/2018/05/vitess.png)
![](https://www.cncf.io/wp-content/uploads/2016/09/logo_coredns.png)
![](https://www.cncf.io/wp-content/uploads/2018/03/nats_icon.png)
![](https://www.cncf.io/wp-content/uploads/2018/05/linkerd.png)
![](https://raw.githubusercontent.com/cncf/artwork/master/kubernetes/certified-kubernetes/versionless/color/certified-kubernetes-color.png)
CNCF supported k8s OSS distributions
Located: https://github.com/kubernetes repositories
Described: https://github.com/kubernetes/community/blob/master/sig-cluster-lifecycle/README.md#subprojects
- 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
![](https://raw.githubusercontent.com/kubernetes/minikube/master/images/logo/logo.png)
![](https://github.com/kubernetes/kops/raw/master/docs/img/logo.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
![](https://d2908q01vomqb2.cloudfront.net/ca3512f4dfa95a03169c5a670a4c91a19b3077b4/2018/05/23/kubernetes.jpg)
![](https://hsto.org/webt/yc/mj/hk/ycmjhkbbxvrabrdn66xlunt5rta.png)
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...
- AWS (Amazon) - EKS (Amazon Elastic Container Service for Kubernetes)
- Azure (Microsoft) - AKS (Azure Kubernetes Service)
- Google Cloud - GKE (Google Kubernetes Engine)
- 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
![](https://www.projectcalico.org/images/felix_hero_cmp.png)
![](http://www.yet.org/images/posts/kargo-kubespray-logo.png)
![](https://hsto.org/webt/yc/mj/hk/ycmjhkbbxvrabrdn66xlunt5rta.png)
![](https://cdn-images-1.medium.com/max/1600/1*w0iIGUfsxNXvUBKqrC_uSA.png)
Architecture Diagram
![](https://raw.githubusercontent.com/ruzickap/multinode_kubernetes_cluster/master/images/kubespray_diagram.png)
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/blog/2016/09/how-we-made-kubernetes-easy-to-install/
-
part of the Kubernetes distribution as of 1.4.0
-
response to criticisms of Kubernetes is hard to install
-
does not provision machines
-
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
![](https://raw.githubusercontent.com/ruzickap/multinode_kubernetes_cluster/master/images/kubeadm_diagram.png)
Architecture Diagram
kubeadm demo
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/841021/images/4978574/logo.png)
Thank you...
Kubernetes Installations
By Petr Ruzicka
Kubernetes Installations
- 1,917