当前位置: 首页 > news >正文

kubeadm离线部署kubernetesv1.30.0

背景:最近由于docker image获取镜像受限的问题,以及公司内部部署kubernetes受限于内部网络无法访问公网的问题,对于离线部署kubernetes成为不是十分方便。谨以此文仅供参考。

kubernetes部署节点信息

kubernetes版本 1.30.0
操作系统版本:centos 7.9、rockylinux 9.4

IPnodename
192.168.3.3master
192.168.3.4worker1
192.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
EOF
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOFmodprobe overlay
modprobe br_netfilter

从github上下载程序放到本地

软件链接
containerdhttps://github.com/containerd/containerd
cri-toolshttps://github.com/kubernetes-sigs/cri-tools
runchttps://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]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target[Service]
ExecStartPre=/sbin/modprobe overlay
ExecStart=/usr/bin/containerd --config /etc/containerd/config.toml
Restart=always
RestartSec=5
LimitNOFILE=infinity[Install]
WantedBy=multi-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-address=192.168.3.3 \--kubernetes-version v1.30.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--ignore-preflight-errors=all

若命令正常通过,则记录其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
http://www.lryc.cn/news/393081.html

相关文章:

  • 【PYG】dataloader和densedataloader
  • 完美解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
  • ForkJoinPool 简介
  • 复现YOLO_ORB_SLAM3_with_pointcloud_map项目记录
  • Docker:Docker网络
  • Ubuntu 24.04-自动安装-Nvidia驱动
  • 【CSAPP】-attacklab实验
  • docker部署onlyoffice,开启JWT权限校验Token
  • Hive排序字段解析
  • 3101.力扣每日一题7/6 Java(接近100%解法)
  • virtualbox窗口和win10窗口的切换
  • 卫星轨道平面简单认识
  • IP-Guard定制函数配置说明
  • C++常用类
  • React Hooks --- 分享自己开发中常用的自定义的Hooks (1)
  • uniapp H5页面设置跨域请求
  • 使用myCobot280和OAK-D OpenCV DepthAI摄像头制作一个实时脸部跟踪的手机支架!
  • Xilinx FPGA:vivado关于单端ROM的一个只读小实验
  • 集成学习(一)Bagging
  • Docker 中查看及修改 Redis 容器密码的实用指南
  • CH09_JS的循环控制语句
  • Python实现Mybatis Plus
  • 卷积神经网络和Vision Transformer的对比之归纳偏置
  • Java之网络面试经典题(一)
  • Failed to download metadata for repo ‘docker-ce-stable‘
  • vant拍摄视频上传以及多张图片上传
  • 如何用手机拍出高级感黑白色调照片?华为Pura70系列XMAGE演绎黑白艺术
  • Cartographer前后端梳理
  • Java面试题系列 - 第3天
  • 【Spring Boot】Spring Boot简介