Codes

Codes Structure: #

Command Name for k8s componentsCobra ClientReal CodeNote
kube-apiservercmd/kube-apiserver/apiserver.gocmd/kube-apiserver/app/server.gokubeAPIServer, APIExtensionsServer, AggregatorServer
kube-controller-managercmd/kube-controller-manager/controller-manager.go
kube-schedulercmd/kube-scheduler/scheduler.gopkg/scheduler/scheduler.go
Etcd
Cloud Controller Managercmd/cloud-controller-manager/main.go
kubeletcmd/kubelet/kubelet.gopkg/kubelet/kubelet.go
kube-proxycmd/kube-proxy/proxy.gopkg/proxy/service.go
kubectlcmd/kubectl/kubectl.go

Commands #

kube-apiserver
–advertise-address=172.20.0.2
–allow-privileged=true
–authorization-mode=Node,RBAC
–client-ca-file=/etc/kubernetes/pki/ca.crt
–enable-admission-plugins=NodeRestriction
–enable-bootstrap-token-auth=true
–etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt –etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
–etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key –etcd-servers=https://127.0.0.1:2379
–kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
–kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
–kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
–proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt –proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
–requestheader-allowed-names=front-proxy-client
–requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
–requestheader-extra-headers-prefix=X-Remote-Extra-
–requestheader-group-headers=X-Remote-Group
–requestheader-username-headers=X-Remote-User
–runtime-config=
–secure-port=6443
–service-account-issuer=https://kubernetes.default.svc.cluster.local
–service-account-key-file=/etc/kubernetes/pki/sa.pub –service-account-signing-key-file=/etc/kubernetes/pki/sa.key
–service-cluster-ip-range=10.96.0.0/16
–tls-cert-file=/etc/kubernetes/pki/apiserver.crt –tls-private-key-file=/etc/kubernetes/pki/apiserver.key
kube-controller-manager
–allocate-node-cidrs=true
–authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
–authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
–bind-address=127.0.0.1
–client-ca-file=/etc/kubernetes/pki/ca.crt
–cluster-cidr=10.244.0.0/16
–cluster-name=kind
–cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt –cluster-signing-key-file=/etc/kubernetes/pki/ca.key
–controllers=*,bootstrapsigner,tokencleaner
–enable-hostpath-provisioner=true
–kubeconfig=/etc/kubernetes/controller-manager.conf
–leader-elect=true
–requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
–root-ca-file=/etc/kubernetes/pki/ca.crt
–service-account-private-key-file=/etc/kubernetes/pki/sa.key
–service-cluster-ip-range=10.96.0.0/16
–use-service-account-credentials=true
kube-scheduler
–authentication-kubeconfig=/etc/kubernetes/scheduler.conf –authorization-kubeconfig=/etc/kubernetes/scheduler.conf
–bind-address=127.0.0.1
–kubeconfig=/etc/kubernetes/scheduler.conf
–leader-elect=true
etcd
–advertise-client-urls=https://172.20.0.2:2379
–cert-file=/etc/kubernetes/pki/etcd/server.crt
–client-cert-auth=true
–data-dir=/var/lib/etcd
–experimental-initial-corrupt-check
/usr/bin/kubelet
–bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf
–kubeconfig=/etc/kubernetes/kubelet.conf
–config=/var/lib/kubelet/config.yaml
–container-runtime-endpoin
/usr/local/bin/kube-proxy
–config=/var/lib/kube-proxy/config.conf
–hostname-override=kind-control-plane

Customer Resource Definition (CRD) #

Kuberenetes Design&Architecture Pictures

Writing Kubernetes Controllers from Peter J

kubebuilder

Concepts -> Extending Kubernetes

Tasks -> Extend Kubernetes


Tutorials

SIG-Scheduling Intro & Deep Dive

What’s New on Controller-Runtime of the Day – Make Your Operator More Efficient - Siyu Wang, Alibaba Cloud

Kubernetes Operators: what are they? Some examples

Nginx Community

https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/architecture

Aggregator Server #

apiserver-builder

Code Learn Turorial #

k8s Dev Guide

sig-k8s-source-code

https://bharatrajani.com/debugging-kubernetes-source-code-using-vscode/

https://www.qikqiak.com/k8strain/operator/operator/

k8s Doc

Let’s read the Kubernetes source code(Youtube)

Operator概述: 如何对 Kubernetes 进行扩展

How to build and run Kubernetes locally

kube-apiserver的设计与实现

Kubernetes API Server handler 注册过程分析

Kubernetes源码

Kubernetes源码分析——apiserver

Managing Kubernetes

新高度 Kubernetes实战与源码剖析实战

kubernetes 源码分析

深究Kubernetes源码

也谈云原生 - 系统设计漫谈

倪朋飞

https://www.jianshu.com/nb/51646191

https://zhuanlan.zhihu.com/p/542730941

https://www.51cto.com/article/749490.html

https://blog.csdn.net/fengcai_ke/article/details/126695585

https://www.oomspot.com/post/mafenxikubeapiserverzhongapiserverservicedeshixian

https://andblog.cn/3203

http://www.zlprogram.com/Show/74/DF178041.shtml

https://www.cnblogs.com/yangyuliufeng/p/14217887.html

https://podsbook.com/posts/kubernetes/operator/#client-go

Reference #

k8s Github




K8s Releases:

ReleaseStartEndNote
1.322024/12
1.312024/082025/10Release Doc
1.302024/042025/06Release Doc
——–——–——–——–
1.292023/122025/02https://kubernetes.io/blog/2023/12/13/kubernetes-v1-29-release/
1.282023/082024/10https://kubernetes.io/blog/2023/08/15/kubernetes-v1-28-release/
1.272023/042024/06
——–——–——–——–
1.262022/122024/02
1.252022/082023/10
1.242022/052023/07
——–——–——–——–
1.232021/122023/02
1.142019/032019/12
1.02015/07/10Original Release

Release , Wiki, Snapshot

Reference #

CloudNative & Kubernetes 学习资源整理

Palpark

Template