K8S—单节点部署—node组件(4)
一.node节点的三大组件
1.kubelet:是master在node节点上的agent,可以管理本机运行容器的生命周期。例如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作,kubelet 将每个 Pod转换成一组容器。
2.kube-proxy:在node节点上实现pod网络代理,维护网络规划和四层负载均衡工作
3.docker engine:已安装
二.部署node组件
1.在master复制kubelet、kube-proxy的执行文件到node上
[root@localhost k8s]# cd kubernetes/server/bin/
[root@localhost bin]# scp kubelet kube-proxy root@192.168.88.13:/opt/kubernetes/bin/
root@192.168.88.13's password:
kubelet 100% 168MB 33.2MB/s 00:05
kube-proxy 100% 48MB 25.7MB/s 00:01
[root@localhost bin]# scp kubelet kube-proxy root@192.168.88.14:/opt/kubernetes/bin/
root@192.168.88.14's password:
kubelet 100% 168MB 36.6MB/s 00:04
kube-proxy 100% 48MB 39.9MB/s 00:01
2.在node1节点上传压缩包,并解压
[root@localhost ~]# rz
[root@localhost ~]# ls
anaconda-ks.cfg flannel-v0.10.0-linux-amd64.tar.gz node.zip 公共 视频 文档 音乐
flannel.sh initial-setup-ks.cfg README.md 模板 图片 下载 桌面
[root@localhost ~]# unzip node.zip
Archive: node.zip
inflating: proxy.sh
inflating: kubelet.sh
3.查看2个脚本
[root@localhost ~]# cat proxy.sh
#!/bin/bash
NODE_ADDRESS=$1
cat <<EOF >/opt/kubernetes/cfg/kube-proxy
KUBE_PROXY_OPTS="--logtostderr=true \\
--v=4 \\
--hostname-override=${NODE_ADDRESS} \\
--cluster-cidr=10.0.0.0/24 \\
--proxy-mode=ipvs \\
--kubeconfig=/opt/kubernetes/cfg/kube-proxy.kubeconfig"
EOF
cat <<EOF >/usr/lib/systemd/system/kube-proxy.service
[Unit]
Description=Kubernetes Proxy
After=network.target
[Service]
EnvironmentFile=-/opt/kubernetes/cfg/kube-proxy
ExecStart=/opt/kubernetes/bin/kube-proxy \$KUBE_PROXY_OPTS
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable kube-proxy
systemctl restart kube-proxy
[root@localhost ~]# cat kubelet.sh
#!/bin/bash
NODE_ADDRESS=$1
DNS_SERVER_IP=${2:-"10.0.0.2"}
cat <<EOF >/opt/kubernetes/cfg/kubelet
KUBELET_OPTS="--logtostderr=true \\
--v=4 \\
--hostname-override=${NODE_ADDRESS} \\
--kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \\
--bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig