Skip to content

20170330_kubeCon_2.2

20170330_kubeCon_2.2

2 - Presentations

2.2 - Kubernetes Day 2: Cluster Operations

Outline
1. Cluster Architecture
2. Failure in HA
3. Monitorning + Altering
4. Backup + DR
5. Upgrades
6. Scaling and Management

https://github.com/philips/kubernetes-day-2

1 - Architecture

Today there are plenty tools to deploy k8s
* Tectonic installer
* kargo
* kops
* terraform

2 - Failure in HA
Master nodes HA

“Control plane” is a classic web app
* API Server
* Controller
* …
-> kube in kube ?

Etcd
* is kind of “special”
* is a DB, statefull, on disk state is uniq
* clustered

=> etcd-operator
* Observe
* Decide
* Act

Etcd runs as a Pod
Scheduled on Masters thanks to labels and afinity
k8s has been setup to allow scheduling of some services on the masters

API server
* Run N API servers (Same that ectd servers by example)
* Macth ECTD / API server failure domains
* Maintain a load balancer

Risk if API downtime:
RO: No new workloads
Down: Visibility

Scheduler and Controller
* Statefull but backed by API server
* Leader elected -> you can run nore than 1
* Use anti-afinity to avoid 2 instances on the same node

In case of scheduler failure
-> You have to re-launch manually 1 scheduler Pod

DNS
* …

Interesing concepts
  • Labels
  • Failure domains
  • AntiAfinity
  • -o jsonpath query
3 - Monitoring

Thanks to prometheus
* Nodes
* ControlPlane: etcd key metrics
* …

4 - Backup and Recovery

-> See github nodes

5 - Upgrade

Self hosted architecture shine for that purpose

6 - Management nodes

Use standard tools like terraform or