Open-Source Wikis

/

Kubernetes

/

Components

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 metric

Each 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.

Components – Kubernetes wiki | Factory