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