做网站还是订阅号,北京企业建站定制,网上网页设计,如何给网站做备份背景#xff1a;最近由于docker image获取镜像受限的问题#xff0c;以及公司内部部署kubernetes受限于内部网络无法访问公网的问题#xff0c;对于离线部署kubernetes成为不是十分方便。谨以此文仅供参考。
kubernetes部署节点信息
kubernetes版本 1.30.0 操作系统版本最近由于docker image获取镜像受限的问题以及公司内部部署kubernetes受限于内部网络无法访问公网的问题对于离线部署kubernetes成为不是十分方便。谨以此文仅供参考。
kubernetes部署节点信息
kubernetes版本 1.30.0 操作系统版本centos 7.9、rockylinux 9.4
IPnodename192.168.3.3master192.168.3.4worker1192.168.3.5worker2
关闭防火墙、selinux、swap
systemctl stop firewalld
systemctl disable firewalld
sed -i s/enforcing/disabled/ /etc/selinux/config
setenforce 0
swapoff -a
sed -ri s/.*swap.*/#/ /etc/fstab修改系统信息
cat /etc/sysctl.d/k8s.conf EOF
net.bridge.bridge-nf-call-ip6tables 1
net.bridge.bridge-nf-call-iptables 1
net.ipv4.ip_forward 1
EOF
sysctl --system设置主机名
# 在哪个节点运行就写哪个节点主机名
hostnamectl set-hostname master添加hosts
cat /etc/hosts EOF
192.168.3.3 master
192.168.3.4 worker1
192.168.3.5 worker2
EOFcat EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOFmodprobe overlay
modprobe br_netfilter从github上下载程序放到本地
软件链接containerdhttps://github.com/containerd/containerdcri-toolshttps://github.com/kubernetes-sigs/cri-toolsrunchttps://github.com/opencontainers/runc
$addr$(pwd)
mkdir -p /root/containerd
tar -C /root/containerd -zxvf $addr/tar/containerd.tar.gzexport PATH$PATH:/usr/local/bin:/usr/local/sbin source ~/.bashrc
cd /root/containerd/bin
cp * /usr/bin
cp ctr /usr/local/binmkdir -p /etc/containerd/ containerd config default /etc/containerd/config.tomlcat /usr/lib/systemd/system/containerd.service EOF
[Unit]
Descriptioncontainerd container runtime
Documentationhttps://containerd.io
Afternetwork.target[Service]
ExecStartPre/sbin/modprobe overlay
ExecStart/usr/bin/containerd --config /etc/containerd/config.toml
Restartalways
RestartSec5
LimitNOFILEinfinity[Install]
WantedBymulti-user.target
EOFcontainerd config default | sudo tee /etc/containerd/config.toml
sed -i s/pause:3.8/pause:3.9/ /etc/containerd/config.toml
systemctl daemon-reload systemctl enable --now containerdcp $addr/crictl /usr/local/bin/cat /etc/crictl.yaml EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
EOFcp $addr/runc.amd64 /usr/local/bin/runc
chmod x /usr/local/bin/runc下载rpm依赖包
阿里云kubernetes镜像站
查看kubeadm初始化需要的image
kubeadm config image list在有网络环境中拉取上述命令输出的image如果拉取不到则按照下面的代理格式写
docker pull m.daocloud.io/registry.k8s.io/kube-apiserver:版本号将image导入
containerd比docker多了一个namespace的设定不要忘记
ctr namespace create k8s.io
ctr -n k8s.io image import $addr/images/coredns.tar
ctr -n k8s.io image import $addr/images/kube-controller-manager_v1.30.0.tar
ctr -n k8s.io image import $addr/images/etcd.tar
ctr -n k8s.io image import $addr/images/kube-proxy_v1.30.0.tar
ctr -n k8s.io image import $addr/images/kube-apiserver_v1.30.0.tar
ctr -n k8s.io image import $addr/images/kube-scheduler_v1.30.0.tar
ctr -n k8s.io image import $addr/images/pause.tar注如果通过代理拉下来的镜像记得通过ctr -n k8s.io image tag将镜像命名为其默认包名
kubeadm init
主节点(192.168.3.3)运行
kubeadm init \--apiserver-advertise-address192.168.3.3 \--kubernetes-version v1.30.0 \--service-cidr10.96.0.0/12 \--pod-network-cidr10.244.0.0/16 \--ignore-preflight-errorsall若命令正常通过则记录其join的字符串在其他的子节点上运行
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config如果没记下上述过程中输出的kubeadm join命令内容则可以通过下列命令重新获取
kubeadm token create --print-join-command