目 录CONTENT

文章目录

离线安装k8s1.23.17

Administrator
2025-07-28 / 0 评论 / 2 点赞 / 31 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

离线安装k8s1.23.17

安装包装备

docker24.0.2离线安装

安装前准备

卸载老版本的kubernetes

kubeadm reset
# 输入y
rm -rf /root/.kube 
rm -rf /etc/cni/net.d 
rm -rf /etc/kubernetes/* 
ipvsadm -C iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X 
 
yum list installed | grep kube
yum remove kube* -y

设置hostname

hostnamectl set-hostname k8s-master01
echo "192.168.xxx.xxx k8s-master01" >> /etc/hosts

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

关闭swap

swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab

关闭selinux

sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

修改内核参数

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system

离线安装安装nfs存储

安装nfs

cd nfs-utils
rpm -ivh --force --nodeps *.rpm 

让master成为nfs服务端(node节点不需要)

echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports
# 执行以下命令,启动 nfs 服务;创建共享目录
mkdir -p /nfs/data
# 在master执行
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server

# 使配置生效
exportfs -r

#检查配置是否生效
exportfs

离线安装kubeadm1.23.7

安装k8s

cd k8s1.23.17
rpm -ivh --force --nodeps *.rpm 
sudo systemctl daemon-reload
sudo systemctl restart kubelet
sudo systemctl enable kubelet

配置k8s

修改kubelet的启动环境变量(每一台k8s内部的机器,都需要,这--eviction-hard=nodefs.available<10%,磁盘空间低于10%,开始驱逐pod)

vim  /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
变成
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --eviction-hard=nodefs.available<10%"

修改后需要重新加载
systemctl daemon-reload && systemctl restart kubelet

使用kubeadm引导集群(参照初始化master继续做,node节点不需要)

#### --apiserver-advertise-address 的地址一定写成自己master机器的ip地址
#### 以下的只在master节点执行
kubeadm init \
--apiserver-advertise-address=192.168.xxx.xxx  \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.17 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.10.0.0/16

去掉master上面的污点

kubectl taint nodes k8s-master01 node-role.kubernetes.io/master-

安装calico插件

kubectl apply -f calico.yaml

打印加入集群的命令

kubeadm token create --print-join-command
2
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区