二进制文件安装高可用k8s集群(六)node部署服务
标签搜索

二进制文件安装高可用k8s集群(六)node部署服务

mrui
2025-04-03 / 0 评论 / 27 阅读 / 正在检测是否收录...

containerd的安装与配置详见文章 containerd安装与配置

kubelet安装与配置

cd /root
#下载客户端软件包并解压
wget https://dl.k8s.io/v1.29.0/kubernetes-node-linux-amd64.tar.gz
#复制软件包到/usr/bin目录
tar xf kubernetes-node-linux-amd64.tar.gz
cd kubernetes/node/bin/
cp kubelet kube-proxy /usr/bin/
mkdir -p /etc/kubernetes/pki

#修改配置文件

cd /etc/kubernetes/
vim /usr/lib/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet Server
Documentation=https://github.com/kubernetes/kubernetes
After=containerd.service
Requires=containerd.service

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

[Install]
WantedBy=multi-user.target
vim /etc/kubernetes/kubelet
KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubeconfig
--config=/etc/kubernetes/kubelet.config \
--hostname-override=192.168.88.61"
#--hostname-override=192.168.88.61 表明 kubelet 会使用 192.168.88.61 这个 IP 地址作为该节点在 Kubernetes 集群中的名称,而非操作系统默认的主机名。这样一来,在 Kubernetes 集群里,这个节点就会以 192.168.88.61 来进行标识和管理。
#注意事项
#要保证 --hostname-override 指定的名称在集群内是唯一的,不然会引发节点注册冲突。
#若使用 IP 地址作为主机名,要确保该 IP 地址在集群内是可访问的。
vim /etc/kubernetes/kubelet.config
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
address: 0.0.0.0
port: 10250
cgroupDriver: systemd
clusterDNS: ["10.245.0.100"]
clusterDomain: cluster.local
authentication:
  anonymous:
    enabled: false
  webhook:
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
systemctl start kubelet && systemctl enable kubelet
#把各种配置文件拷贝到node002,003
scp /usr/lib/systemd/system/kubelet.service node002:/usr/lib/systemd/system/kubelet.service
scp /usr/lib/systemd/system/kubelet.service node003:/usr/lib/systemd/system/kubelet.service
scp /etc/kubernetes/kubelet node002:/etc/kubernetes/kubelet
scp /etc/kubernetes/kubelet node003:/etc/kubernetes/kubelet
scp /etc/kubernetes/kubelet.config node002:/etc/kubernetes/kubelet.config
scp /etc/kubernetes/kubelet.config node003:/etc/kubernetes/kubelet.config
kube-proxy安装与配置

#加载需要的内核模块,安装需要的软件包
for i in overlay br_netfilter nf_conntrack;do
    modprobe ${i}
    echo "${i}" >>/etc/modules-load.d/containerd.conf
done
cat >/etc/sysctl.d/99-kubernetes-cri.conf<<EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
dnf -y install iptables ipvsadm ipset nfs-utils

#创建所需的配置文件
vim /usr/lib/systemd/system/kube-proxy.service
[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
vim /etc/kubernetes/proxy
KUBE_PROXY_ARGS="--kubeconfig=/etc/kubernetes/kubeconfig \
--hostname-override=192.168.88.61 \
--proxy-mode=ipvs \
--ipvs-strict-arp=true \
--cluster-cidr=169.169.0.0/16"
#把配置文件拷贝到node002,003
scp /usr/lib/systemd/system/kube-proxy.service node002:/usr/lib/systemd/system/kube-proxy.service
scp /usr/lib/systemd/system/kube-proxy.service node003:/usr/lib/systemd/system/kube-proxy.service
scp /etc/kubernetes/proxy node002:/etc/kubernetes/proxy
scp /etc/kubernetes/proxy node003:/etc/kubernetes/proxy
#启动服务
systemctl start kube-proxy && systemctl enable kube-proxy

#在/etc/kubernetes/目录中的kubelet和proxy文件中,有个hostname-override配置项,把它的值改为当前主机的IP地址
#node002::--hostname-override=192.168.88.62 \
sed -i "/override=/s/61/62/" /etc/kubernetes/proxy 
sed -i "/override=/s/61/62/" /etc/kubernetes/kubelet 
#node003:--hostname-override=192.168.88.63 \
sed -i "/override=/s/61/63/" /etc/kubernetes/proxy 
sed -i "/override=/s/61/63/" /etc/kubernetes/kubelet 
#开启服务
systemctl start kube-proxy && systemctl enable kube-proxy
0

评论 (0)

取消