Open
Description
- addons are created in the s3 bucket by kops update cluster
- nodeup creates the base manifests
- nodeup downloads protokube from s3 in a tarball and is imported into docker via docker import
- protokube mounts etcd disks
- protokube bootstraps etcd
- protokube sets etcd DNS endpoints
- kubectl starts, everything is in eventual consistency
- etcd starts
- API server comes up
then we have a base bootstrapped cluster
everything is starting
protokube has two loops in it
- it makes sure kubelet is running (important)
- it executes channels
Channels is a binary that has the 'addon' api
- it parses the addons from the addons folder in the state store
- and runs
kubectl apply
anything that is not a core k8s component or etcd is an addon
CNI
dns-controller
kube-dns
DNS Controller
- one of the first deployments to start on the master
- it sets the dns for API of the master