kubernetes / kubernetes/kops

Document Cluster Startup

Open
#3,612 5 comments 6 reactions 0 assignees View on GitHub
area/documentation lifecycle/frozen lifecycle/rotten
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.