kubernetes/kubernetes
Components
The seven binaries this repository ships, plus the supporting cloud-controller-manager sample.
| Component | Entry point | Role | Page |
|---|---|---|---|
| kube-apiserver | cmd/kube-apiserver/apiserver.go |
The API + admission + storage front door | kube-apiserver |
| kube-controller-manager | cmd/kube-controller-manager/controller-manager.go |
Hosts the in-tree controllers | kube-controller-manager |
| kube-scheduler | cmd/kube-scheduler/scheduler.go |
Pod-to-node binding via the scheduling framework | kube-scheduler |
| kubelet | cmd/kubelet/kubelet.go |
Per-node agent driving the CRI runtime | kubelet |
| kube-proxy | cmd/kube-proxy/proxy.go |
Per-node Service data-plane programmer | kube-proxy |
| kubectl | cmd/kubectl/kubectl.go |
Official CLI client | kubectl |
| kubeadm | cmd/kubeadm/kubeadm.go |
Cluster bootstrap and upgrade tool | kubeadm |
| kubectl-convert | cmd/kubectl-convert/ |
Plugin that converts manifests between API versions | covered in kubectl |
| cloud-controller-manager | cmd/cloud-controller-manager/ |
Sample CCM binary using the cloud-provider library |
covered in systems/cloud-providers |
| kubemark / hollow-node | cmd/kubemark/ |
Fake kubelet+proxy for scale tests | not given a dedicated page |
The other directories under cmd/ are internal documentation, codegen, and verification tools (gendocs, genman, genyaml, genkubedocs, genfeaturegates, genswaggertypedocs, genutils, gotemplate, import-boss, importverifier, dependencycheck, dependencyverifier, clicheck, fieldnamedocscheck, preferredimports, prune-junit-xml). They run during make verify and make update.
Common boot pattern
Every binary in this list follows the same five-line main:
func main() {
command := app.NewXxxCommand()
code := cli.Run(command)
os.Exit(code)
}cli.Run is staging/src/k8s.io/component-base/cli. It wraps Cobra so that --help, --version, signal handling, panic recovery, and feature-gate registration are uniform across components.
The blank imports at the top of each cmd/<binary>/<binary>.go register cross-cutting boot hooks:
_ "time/tzdata" // for CronJob timezones (apiserver, controller-manager only)
_ "k8s.io/component-base/logs/json/register" // JSON log format
_ "k8s.io/component-base/metrics/prometheus/clientgo" // client-go Prometheus collectors
_ "k8s.io/component-base/metrics/prometheus/version" // version metricEach binary delegates to its own cmd/<binary>/app/ package for command construction, flag parsing, and bootstrap. The pages in this section walk through what each app.New*Command does.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.