187. 【kubernetes】二进制文件方式安装-Kubernetes-集群(三)

写在前头

在 Node 上需要部署 Docker、kubelet、kube-proxy,在成功加入 Kubernetes 集群后,还需要部署 CNI 网络插件、DNS 网络插件等管理组件。
前面几节的内容分别是 部署 etcd部署 docker 服务部署 Master 的服务,本节内容是 部署 Node 的服务
[2022-11-19更新]:下面的步骤在各个节点都需要执行,并且各个节点都需要 /etc/kubernetes/kubelet*(kubelet文件里的–hostname-override对应的ip,改成各个节点自己的ip)、/etc/kubernetes/kubeconfig/etc/kubernetes/pki/client.*

1. 部署 kubelet 服务

  • 为 kubelet 服务创建 systemd 服务配置文件 /usr/lib/systemd/system/kubelet.service,内容如下:
cat > /usr/lib/systemd/system/kubelet.service <<EOF
[Unit]
Description=Kubernetes Kubelet Server
Documentattion=https://github.com/kubernetes/kubernetes
After=docker.target

[Service]
EnvironmentFile=/etc/kubernetes/kubelet
ExecStart=/usr/bin/kubelet \$KUBELET_ARGS
Restart=always

[Install]
WantedBy=multi-user.target
EOF
  • 配置文件 /etc/kubernetes/kubelet 的内容为通过环境变量 KUBELET_ARGS 设置的 kubelet 的全部参数,内容如下:
cat > /etc/kubernetes/kubelet <<EOF
KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubeconfig \
--config=/etc/kubernetes/kubelet.config \
--hostname-override=172.16.0.10 \
--network-plugin=cni \
--v=0"
EOF

–hostname-override:设置本 Node 在集群中的名称,默认值为主机名,应将各 Node 设置为本机 IP 或域名。

  • 配置文件 kubelet.config 的内容如下:
    kind: KubeletConfiguration
    apiVersion: kubelet.config.k8s.io/v1beta1
    address: 0.0.0.0
    port: 10250
    cgroupDriver: systemd
    clusterDNS: ["169.169.0.100"]
    clusterDomain: cluster.local
    authentication:
      anonymous:
    	enabled: true
    
  • 关闭 swap,不然会出现报错信息:running with swap on is not supported, please disable swap
    swapoff -a
  • 在配置文件准备完毕后,在各 Node 主机上启动 kubelet 服务并设置为开机自启动:
    systemctl restart kubelet && systemctl enable kubelet
    

2. 部署 kube-proxy 服务

  • 为 kube-proxy 服务创建 systemd 配置文件 /usr/lib/systemd/system/kube-proxy.service,内容如下:
cat > /usr/lib/systemd/system/kube-proxy.service <<EOF
[Unit]
Description=Kubernetes Kube-Proxy Server
Documentation=https://github.com/kubernetes/kubernetes
After=network.target

[Service]
EnvironmentFile=/etc/kubernetes/proxy
ExecStart=/usr/bin/kube-proxy \$KUBE_PROXY_ARGS
Restart=always

[Install]
WantedBy=multi-user.target
EOF
  • 配置文件 /etc/kubernetes/proxy 的内容通过环境变量 KUBE_PROXY_ARGS 设置的 kube-proxy 的全部参数,内容如下:
cat >  /etc/kubernetes/proxy <<EOF
KUBE_PROXY_ARGS="--kubeconfig=/etc/kubernetes/kubeconfig \
--hostname-override=172.16.0.10 \
--proxy-mode=iptables \
--v=0"
EOF

–hostname-override:设置本 Node 在集群中的名称,默认值为主机名,应将各 Node 设置为本机 IP 或域名。

  • 在配置文件准备完毕后,在各 Node 主机上启动 kube-proxy 服务,并设置好开机自启动:
    systemctl restart  kube-proxy && systemctl enable kube-proxy
    

写在后头

在后头就是部署 CNI 网络插件了。其实整套流程下来,还是挺复杂的,但是跟着走一遍有好处,不管是对 kubernetes 本身,还是对 linux 都能提升新的认识。和前端常用 create-react-app脚手架一样,过了新手阶段,我们应该尝试去摆脱这些,深究其后头的原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值