master是k8s集群的大脑:
1.api提供前端接口
2.etcd是后端数据库,保存集群的配置和各种资源信息
3.scheduler调度pod自由负载到node
4.controller-manager负责管理集群的各种资源
5.pod-network(flannel)网络
6.kube-proxy这个是节点的agent组件,master也可以是节点
[root@node2 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
node2 Ready control-plane,master 90d v1.20.2
node201 Ready <none> 90d v1.20.2
master节点: kubelet,kube-proxy, kube-apiserver, kube-schedule, kube-controller
etcd作为内部访问的容器。
[root@node2 ~]# netstat -tunlp|grep kube
tcp 0 0 0.0.0.0:31865 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:32638 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:30080 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:30785 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:31143 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 127.0.0.1:41127 0.0.0.0:* LISTEN 4156/kubelet
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 4156/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:32108 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:30094 0.0.0.0:* LISTEN 6330/kube-proxy
tcp 0 0 0.0.0.0:32307 0.0.0.0:* LISTEN 6330/kube-proxy
tcp6 0 0 :::10250 :::* LISTEN 4156/kubelet
tcp6 0 0 :::10251 :::* LISTEN 3283/kube-scheduler
tcp6 0 0 :::6443 :::* LISTEN 5269/kube-apiserver
tcp6 0 0 :::10252 :::* LISTEN 3313/kube-controlle
tcp6 0 0 :::10256 :::* LISTEN 6330/kube-proxy
tcp6 0 0 :::10257 :::* LISTEN 3313/kube-controlle
tcp6 0 0 :::10259 :::* LISTEN 3283/kube-scheduler
worker节点: 一个kubelet客户端agent进程,一个kube-proxy网络间通讯代理进程
[root@node201 secret]# netstat -tunlp|grep kube
tcp 0 0 0.0.0.0:32638 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 0.0.0.0:30080 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 0.0.0.0:30785 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 0.0.0.0:31143 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 30969/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 0.0.0.0:32108 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 0.0.0.0:30094 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 0.0.0.0:32307 0.0.0.0:* LISTEN 5065/kube-proxy
tcp 0 0 127.0.0.1:33461 0.0.0.0:* LISTEN 30969/kubelet
tcp 0 0 0.0.0.0:31865 0.0.0.0:* LISTEN 5065/kube-proxy
tcp6 0 0 :::10250 :::* LISTEN 30969/kubelet
tcp6 0 0 :::10256 :::* LISTEN 5065/kube-proxy
[root@node2 ~]# kubectl get pod -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-7f89b7bc75-66xlx 1/1 Running 0 63s 10.244.0.239 node2 <none> <none>
coredns-7f89b7bc75-9ddjc 1/1 Running 4 15d 10.244.1.28 node201 <none> <none>
etcd-node2 1/1 Running 30 90d 192.168.56.102 node2 <none> <none>
kube-apiserver-node2 1/1 Running 3 5d22h 192.168.56.102 node2 <none> <none>
kube-controller-manager-node2 1/1 Running 57 90d 192.168.56.102 node2 <none> <none>
kube-flannel-ds-6w5pl 1/1 Running 6 15d 192.168.56.102 node2 <none> <none>
kube-flannel-ds-ppl4b 1/1 Running 5 15d 192.168.56.201 node201 <none> <none>
kube-proxy-dcb8l 1/1 Running 29 90d 192.168.56.102 node2 <none> <none>
kube-proxy-zlcdc 1/1 Running 27 90d 192.168.56.201 node201 <none> <none>
kube-scheduler-node2 1/1 Running 55 90d 192.168.56.102 node2 <none> <none>
metrics-server-v0.3.6-5f8ddf8db9-ksm8k 2/2 Running 12 22d 10.244.0.232 node2 <none> <none>