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

K8s第三节:k8s1.23.1升级为k8s1.30.0

        上回书说到我们使用了kubeadm安装了k8s1.23.1,但是在k8s1.24之前还是使用docker作为容器运行时,所以这一节我打算将我安装的k8s集群升级为1.30.0版本;

 1、修改containerd 配置

        因为我们安装的docker自带containerd,所以我们不需要重新安装containerd,只需要修改containerd的配置即可

cd /etc/containerd && vim config.toml

 

因为k8s1.30.0需要的是pause3.9版本,所以我需要修改sandbox_image处;

以及修改SystemdCgroup 为true;

重启containerd;

systemctl restart containerd && systemctl status containerd 

 重启成功;

2、清空集群设置并卸载管理组件

kubeadm reset

yum erase -y kubelet kubectl kubeadm

3、修改配置yaml源

cat >  /etc/yum.repos.d/kubernetes-new.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
enabled=1
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/repodata/repomd.xml.key
EOF

重新生成索引缓存;

yum makecache

 4、安装k8s1.30.0版本

yum install -y kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0

 5、kubeadm初始化k8s集群

生成配置:

kubeadm config print init-defaults > kubeadm.yaml && vim kubeadm.yaml

需要修改一下配置: 

 

 6、拉取镜像

将会拉取以下镜像,不用执行这一步也可以,初始化的时候会自动拉取镜像 

kubeadm config images pull

 拉取以后可以用命令看到这些镜像

7、初始化集群节点

kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

 同样的创建配置文件并赋值;

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

执行以后就可以通过一下命令查看节点了; 

 8、加入工作节点

在master节点中执行一下语句可以得到加入集群的命令: 

kubeadm token create --print-join-command

 kubeadm join 192.168.136.130:6443 --token w4q5wa.0fqstmsnkuu6vozd --discovery-token-ca-cert-hash sha256:676d1f4b0bcd18b19fab77fb0f00f7f0a7df088239ffc68f52e42875af523986 

在工作节点中这些该命令即可加入集群

此时从节点执行命令,会提示一下报错信息

 解决方法为:将主节点的$HOME/.kube/config下文件传给从节点

 此时再执行就不会报错;

 

 kubectl label nodes k8snode1 node-role.kubernetes.io/work=work

 给从节点打上work的标签;

 

如果工作节点是NOTREADY的状态,就需要安装网络插件 

 8、安装网络插件calio

上传calico.yaml文件:

百度网盘 请输入提取码

 kubectl apply -f  calico.yaml

执行以后pods状态变为Ready: 

 

 

 

http://www.lryc.cn/news/419686.html

相关文章:

  • .gitignore不生效的解决方案
  • 脱胎于 S 语言的R语言,Ross Ihaka 和 Robert Gentleman 和社区的力量让 R 在学术界与研究机构放光彩
  • JavaEE 第6节 内存可见性问题以及解决方法
  • es基本操作
  • 开源 AI 智能名片 S2B2C 商城小程序赋能下的社区团购商业模式研究
  • AutoSar AP软件规范中CM介绍及功能概要
  • 【图形学】TA之路-向量
  • [flink]部署模式
  • 为什么不用postman做自动化
  • 一、Matlab基础
  • 执行java -jar命令,显示jar中没有主清单属性
  • 【C++进阶】红黑树
  • linux使用ssh连接一直弹出密码框问题
  • Python 3 数据结构
  • 【开源社区】Elasticsearch(ES)中空值字段 null_value 及通过exists查找非空文档
  • JavaDS —— 位图(BitSet)与 布隆过滤器
  • 如何确保场外个股期权交易的安全?
  • 第2章:LabVIEW FPGA未来发展方向《LabVIEW ZYNQ FPGA宝典》
  • 苹果电脑维护工具:CleanMyMac X让你的Mac焕发新生!
  • MySQL2 DML数据操纵语言和SQL约束
  • Ubuntu 20.04 中安装 Nginx (通过传包编译的方式)、开启关闭防火墙、开放端口号
  • 解决no main manifest attribute错误
  • 002 | 常见的金融量化指标计算
  • Web Vitals:提升用户体验的关键指标
  • c#中的约束、TimeSpan、defult、operator
  • 挖矿木马攻破了服务器
  • 从容应对技术面试:策略、技巧与成功案例
  • Spring Boot 整合 RestTemplate:详解与实战
  • 【利用模板模式和责任链模式实现数据校验】
  • 学习笔记第十九天