# viratvasu0/kubernetes architecture

> Architecture diagram of the GitHub repository viratvasu0/kubernetes, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/viratvasu0/kubernetes
- Repository: https://github.com/viratvasu0/kubernetes

## Overview

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: [`cmd/kube-apiserver/app/server.go`](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-apiserver/app/server.go) (API server), [`cmd/kube-controller-manager/app/controllermanager.go`](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-controller-manager/app/controllermanager.go) (Controller manager), [`cmd/kubelet/app/server.go`](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubelet/app/server.go) (Kubelet), [`cmd/kube-scheduler/app/server.go`](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-scheduler/app/server.go) (Scheduler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["API and control plane"]
  node_apiserver["API server<br/>[server.go]"]
  node_scheduler["Scheduler<br/>[server.go]"]
end

subgraph group_workload["Workload reconciliation"]
  node_controller["Controller manager"]
  node_daemon["Daemon controller"]
  node_job["Job controller<br/>[job_controller.go]"]
  node_resourceclaim["Resource claims<br/>[controller.go]"]
  node_trust["Cluster trust controller"]
  node_svm["Storage migration"]
  node_svmregister["Migration registration"]
end

subgraph group_node["Node execution"]
  node_kubelet["Kubelet<br/>[server.go]"]
  node_runtime["Container runtime manager"]
  node_podstatus["Pod status manager<br/>[status_manager.go]"]
  node_proxy["Service proxy<br/>[server.go]"]
  node_nodeipam["Node IPAM"]
end

subgraph group_bootstrap["Cluster lifecycle"]
  node_kubeadm["Cluster bootstrap<br/>[init.go]"]
  node_certrenewal["Certificate renewal<br/>[manager.go]"]
end

subgraph group_state["Resource state"]
  node_corestorage["Core API storage<br/>[storage_core.go]"]
  node_rbacstorage["RBAC storage<br/>[storage_rbac.go]"]
  node_storagefactory["Storage factory"]
end

node_operator(("Cluster operator"))
node_etcd[("etcd")]
node_containerengine["Container runtime service"]

node_operator -->|"submits desired state"| node_apiserver
node_apiserver -.->|"serves core resources"| node_corestorage
node_apiserver -.->|"serves RBAC resources"| node_rbacstorage
node_storagefactory -.->|"configures storage"| node_etcd
node_apiserver -.->|"provides cluster state"| node_scheduler
node_scheduler -.->|"assigns Pods"| node_apiserver
node_apiserver -.->|"provides cluster state"| node_controller
node_controller -.->|"runs controller"| node_daemon
node_controller -.->|"runs controller"| node_job
node_controller -.->|"runs controller"| node_resourceclaim
node_controller -.->|"runs controller"| node_trust
node_svmregister -->|"constructs controller"| node_svm
node_apiserver -.->|"provides Pod state"| node_kubelet
node_kubelet -.->|"manages containers"| node_runtime
node_runtime -->|"calls runtime service"| node_containerengine
node_kubelet -.->|"reports Pod status"| node_podstatus
node_proxy -.->|"reads service state"| node_apiserver
node_nodeipam -.->|"allocates node CIDRs"| node_apiserver
node_operator -.->|"bootstraps cluster"| node_kubeadm
node_kubeadm -.->|"manages certificates"| node_certrenewal
node_certrenewal -.->|"renews credentials"| node_apiserver
node_svm -.->|"migrates stored resources"| node_etcd

click node_apiserver "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-apiserver/app/server.go"
click node_corestorage "https://github.com/viratvasu0/kubernetes/blob/master/pkg/registry/core/rest/storage_core.go"
click node_rbacstorage "https://github.com/viratvasu0/kubernetes/blob/master/pkg/registry/rbac/rest/storage_rbac.go"
click node_storagefactory "https://github.com/viratvasu0/kubernetes/blob/master/pkg/kubeapiserver/default_storage_factory_builder.go"
click node_scheduler "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-scheduler/app/server.go"
click node_controller "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-controller-manager/app/controllermanager.go"
click node_daemon "https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/daemon/daemon_controller.go"
click node_job "https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/job/job_controller.go"
click node_resourceclaim "https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/resourceclaim/controller.go"
click node_trust "https://github.com/viratvasu0/kubernetes/blob/master/pkg/controlplane/controller/clusterauthenticationtrust/cluster_authentication_trust_controller.go"
click node_svm "https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/storageversionmigrator/storageversionmigrator.go"
click node_svmregister "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-controller-manager/app/storageversionmigrator.go"
click node_kubelet "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubelet/app/server.go"
click node_runtime "https://github.com/viratvasu0/kubernetes/blob/master/pkg/kubelet/kuberuntime/kuberuntime_manager.go"
click node_podstatus "https://github.com/viratvasu0/kubernetes/blob/master/pkg/kubelet/status/status_manager.go"
click node_proxy "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-proxy/app/server.go"
click node_nodeipam "https://github.com/viratvasu0/kubernetes/blob/master/cmd/cloud-controller-manager/nodeipamcontroller.go"
click node_kubeadm "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubeadm/app/cmd/init.go"
click node_certrenewal "https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubeadm/app/phases/certs/renewal/manager.go"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_apiserver,node_scheduler toneBlue
class node_controller,node_daemon,node_job,node_resourceclaim,node_trust,node_svm,node_svmregister,node_etcd toneAmber
class node_kubelet,node_runtime,node_podstatus,node_proxy,node_nodeipam toneMint
class node_kubeadm,node_certrenewal toneRose
class node_corestorage,node_rbacstorage,node_storagefactory,node_operator,node_containerengine toneIndigo
```

## Components

### API and control plane

- [API server](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-apiserver/app/server.go): `cmd/kube-apiserver/app/server.go`
- [Scheduler](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-scheduler/app/server.go): `cmd/kube-scheduler/app/server.go`

### Workload reconciliation

- [Controller manager](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-controller-manager/app/controllermanager.go): `cmd/kube-controller-manager/app/controllermanager.go`
- [Daemon controller](https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/daemon/daemon_controller.go): `pkg/controller/daemon/daemon_controller.go`
- [Job controller](https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/job/job_controller.go): `pkg/controller/job/job_controller.go`
- [Resource claims](https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/resourceclaim/controller.go): `pkg/controller/resourceclaim/controller.go`
- [Cluster trust controller](https://github.com/viratvasu0/kubernetes/blob/master/pkg/controlplane/controller/clusterauthenticationtrust/cluster_authentication_trust_controller.go): `pkg/controlplane/controller/clusterauthenticationtrust/cluster_authentication_trust_controller.go`
- [Storage migration](https://github.com/viratvasu0/kubernetes/blob/master/pkg/controller/storageversionmigrator/storageversionmigrator.go): `pkg/controller/storageversionmigrator/storageversionmigrator.go`
- [Migration registration](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-controller-manager/app/storageversionmigrator.go): `cmd/kube-controller-manager/app/storageversionmigrator.go`

### Node execution

- [Kubelet](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubelet/app/server.go): `cmd/kubelet/app/server.go`
- [Container runtime manager](https://github.com/viratvasu0/kubernetes/blob/master/pkg/kubelet/kuberuntime/kuberuntime_manager.go): `pkg/kubelet/kuberuntime/kuberuntime_manager.go`
- [Pod status manager](https://github.com/viratvasu0/kubernetes/blob/master/pkg/kubelet/status/status_manager.go): `pkg/kubelet/status/status_manager.go`
- [Service proxy](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kube-proxy/app/server.go): `cmd/kube-proxy/app/server.go`
- [Node IPAM](https://github.com/viratvasu0/kubernetes/blob/master/cmd/cloud-controller-manager/nodeipamcontroller.go): `cmd/cloud-controller-manager/nodeipamcontroller.go`

### Cluster lifecycle

- [Cluster bootstrap](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubeadm/app/cmd/init.go): `cmd/kubeadm/app/cmd/init.go`
- [Certificate renewal](https://github.com/viratvasu0/kubernetes/blob/master/cmd/kubeadm/app/phases/certs/renewal/manager.go): `cmd/kubeadm/app/phases/certs/renewal/manager.go`

### Resource state

- [Core API storage](https://github.com/viratvasu0/kubernetes/blob/master/pkg/registry/core/rest/storage_core.go): `pkg/registry/core/rest/storage_core.go`
- [RBAC storage](https://github.com/viratvasu0/kubernetes/blob/master/pkg/registry/rbac/rest/storage_rbac.go): `pkg/registry/rbac/rest/storage_rbac.go`
- [Storage factory](https://github.com/viratvasu0/kubernetes/blob/master/pkg/kubeapiserver/default_storage_factory_builder.go): `pkg/kubeapiserver/default_storage_factory_builder.go`

### Other components

- **Cluster operator**
- **etcd**
- **Container runtime service**

## Connections

- Cluster operator → API server: submits desired state (evidence: `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 (evidence: `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 (evidence: `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
