How viratvasu0/kubernetes works
Kubernetes manages containerized applications across hosts through deployment, maintenance, and scaling. Users submit desired state to the API server; controllers reconcile resources, the scheduler assigns Pods, and kubelets manage their execution through container runtimes. The repository also includes node networking, service proxying, cluster bootstrap and upgrade, and API resource storage. The graph combines README-level workflow with relationships visible in the provided source index and excerpts; unsampled subsystems are included where the tree and index establish their role, but their internal wiring is not inferred.
Main entry points: app/server.go API server · controllermanager.go Controller manager · app/server.go Kubelet · app/server.go Scheduler
Components 22
API and control plane
- API server
cmd/kube-apiserver/app/server.go - Scheduler
cmd/kube-scheduler/app/server.go
Workload reconciliation
- Controller manager
cmd/kube-controller-manager/app/controllermanager.go - Daemon controller
pkg/controller/daemon/daemon_controller.go - Job controller
pkg/controller/job/job_controller.go - Resource claims
pkg/controller/resourceclaim/controller.go - Cluster trust controller
pkg/controlplane/controller/clusterauthenticationtrust/cluster_authentication_trust_controller.go - Storage migration
pkg/controller/storageversionmigrator/storageversionmigrator.go - Migration registration
cmd/kube-controller-manager/app/storageversionmigrator.go
Node execution
- Kubelet
cmd/kubelet/app/server.go - Container runtime manager
pkg/kubelet/kuberuntime/kuberuntime_manager.go - Pod status manager
pkg/kubelet/status/status_manager.go - Service proxy
cmd/kube-proxy/app/server.go - Node IPAM
cmd/cloud-controller-manager/nodeipamcontroller.go
Cluster lifecycle
- Cluster bootstrap
cmd/kubeadm/app/cmd/init.go - Certificate renewal
cmd/kubeadm/app/phases/certs/renewal/manager.go
Resource state
- Core API storage
pkg/registry/core/rest/storage_core.go - RBAC storage
pkg/registry/rbac/rest/storage_rbac.go - Storage factory
pkg/kubeapiserver/default_storage_factory_builder.go
Other components
- Cluster operator
- etcd
- Container runtime service
Connections 22
- Cluster operator → API server: submits desired state
README.md - API server → Core API storage: serves core resources
- API server → RBAC storage: serves RBAC resources
- Storage factory → etcd: configures storage
- API server → Scheduler: provides cluster state
- Scheduler → API server: assigns Pods
- API server → Controller manager: provides cluster state
- Controller manager → Daemon controller: runs controller
- Controller manager → Job controller: runs controller
- Controller manager → Resource claims: runs controller
- Controller manager → Cluster trust controller: runs controller
- Migration registration → Storage migration: constructs controller
cmd/kube-controller-manager/app/storageversionmigrator.go - API server → Kubelet: provides Pod state
- Kubelet → Container runtime manager: manages containers
- Container runtime manager → Container runtime service: calls runtime service
pkg/kubelet/kuberuntime/kuberuntime_manager.go - Kubelet → Pod status manager: reports Pod status
- Service proxy → API server: reads service state
- Node IPAM → API server: allocates node CIDRs
- Cluster operator → Cluster bootstrap: bootstraps cluster
- Cluster bootstrap → Certificate renewal: manages certificates
- Certificate renewal → API server: renews credentials
- Storage migration → etcd: migrates stored resources