Kubernetes - Source Code
Last Updated: 2022-12-04
https://github.com/kubernetes/kubernetes
cmd/
: themain
functions- running on the control plane:
kube-apiserver/
kube-controller-manager/
kube-scheduler/
cloud-controller-manager/
- running on nodes:
kubelet/
kube-proxy/
- CLI tools:
kubeadm
kubectl
- running on the control plane:
pkg/
api/
: the core apisapis/
: the non-core apiskubeapiserver/
:admission/
authenticator/
authorizer/
kubectl
kubelet
staging/src/k8s.io/apiserver/
vendor
: e.g. things about golang
https://github.com/kubernetes/apiserver is derived from https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/apiserver
kubernetes/vendor/k8s.io
symlink to ../../staging/src/k8s.io/
Modules
k8s.io/apimachinery
k8s.io/api
: structs describing Kubernetes API Objects. Only the data structures, almost no algorithms. Depends onk8s.io/apimachinery
k8s.io/client-go
depends onk8s.io/api
andk8s.io/apimachinery
Objects:
api/v1
: API type definitions, e.g. pods (kind:Pod
), nodes (Node
)apiextensions.k8s.io/v1
: crds (CustomResourceDefinition
), apiservices (APIService
)