kuberneter基础
kubelet ,本地服务,由systemd管理,k8s不会直接接管docker, 由kubelet管理docker api 。在所有节点都需安装。kuberneter>>>kubelet>>>docker
kubectl 命令行管理工具。
kubeadm k8s部署工具。
两个systemd 管理的服务。docker和kubelet。
master 节点功能
1,kubelet服务。 docker服务
2,api-server. (pod) api服务器,
3,scheduler ,(pod)调度器。容器运行选择比较闲的work节点,
4,etcd (pod)数据库,保存kuberneter中所有数据,容器部署。可采用systemd管理的数据库,或者使用pod管理。
5,kubeproxy, (pod)ha的一个虚拟ip service流量转发到pod。流量分发,所有节点
6,kube-controller-manager k8s管理端
[root@master01 ~]# kubectl get pods --all-namespaces |grep master
default staticpod-master01 1/1 Running 0 15m
kube-system etcd-master01 1/1 Running 6 (19h ago) 5d19h
kube-system kube-apiserver-master01 1/1 Running 6 (19h ago) 5d19h
kube-system kube-controller-manager-master01 1/1 Running 10 5d19h
kube-system kube-scheduler-master01 1/1 Running 8 (19h ago) 5d19h
[root@master01 ~]#
node
1,kubelet:管理docker服务,,本地服务,操作系统管理
2,kube-proxy :实现负载均衡,调度分发pod. 流量分发
3,kubectl: 命令行管理工具。
[root@master01 ~]# kubectl get pods --all-namespaces -o wide |grep node01
default multi 2/2 Running 0 31m 10.244.196.154 node01 <none> <none>
kube-system calico-kube-controllers-cd8566cf-x6lv9 1/1 Running 8 (19h ago) 4d17h 10.244.196.147 node01 <none> <none>
kube-system calico-node-vwf92 1/1 Running 28 (19h ago) 4d17h 192.168.5.171 node01 <none> <none>
kube-system kube-proxy-mhjj4 1/1 Running 4 (19h ago) 4d19h 192.168.5.171 node01 <none> <none>
kube-system metrics-server-66877746fd-npp6s 1/1 Running 0 39m 192.168.5.171 node01 <none> <none>
kubernetes-dashboard dashboard-metrics-scraper-799d786dbf-72r8z 1/1 Running 3 (19h ago) 44h 10.244.196.150 node01 <none> <none>
上面为基础组件还有服务,就能构建一个简单的kuberneter。
还有一些附加功能:
k8s计量服务性能收集 # 实现deployment 的hpa 自动化scale 上面我也有部署
网络组件 calico CNI # bgp 网络策略 "可以使用flannel”
Web UI #dashboard web管理平台 上面我也有部署
LoadBalancer # TCP /UDP 应用的发布
ingress-nginx 反向代理,实现 网站应用的发布