Document Cluster Startup
- Dominant language
- Go
- Stars
- 16.7k
- Forks
- 4.7k
- Avg merge
- 17h 21m
- Merged PRs (30d)
- 68
Description
1. addons are created in the s3 bucket by kops update cluster
1. nodeup creates the base manifests
1. nodeup downloads protokube from s3 in a tarball and is imported into docker via docker import
1. protokube mounts etcd disks
1. protokube bootstraps etcd
1. protokube sets etcd DNS endpoints
1. kubectl starts, everything is in eventual consistency
1. etcd starts
1. API server comes up
then we have a base bootstrapped cluster
everything is starting
protokube has two loops in it
1. it makes sure kubelet is running (important)
2. it executes channels
Channels is a binary that has the 'addon' api
1. it parses the addons from the addons folder in the state store
2. and runs `kubectl apply`
anything that is not a core k8s component or etcd is an addon
CNI
dns-controller
kube-dns
DNS Controller
1. one of the first deployments to start on the master
1. it sets the dns for API of the master
Contributor guide
Research direction
Start by tracing the entry points named in the issue: kops update cluster, nodeup, protokube, channels, and kubectl apply. Document the sequence from S3 and manifest creation through etcd, the API server, addons, and DNS Controller startup, including the two protokube loops. Done means the cluster bootstrap and addon flow are clearly explained for readers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker
- Domain
- cloud, devops, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100