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

CentOS ARM 部署 kubernetes v1.24.6

1.背景

之前安装的kubernetes版本为v1.19.0 树莓派使用(CentOS7.9 armv71 Kubernetes1.19.0), 由于版本过低,一些HPA相关的功能支持不是特别好,因此需要将版本升级,本次会将版本升级为v1.24.6.

2. 如何upgrade

2.1. 优雅升级

kubeadm自带支持优雅升级,详情见 kubeadm upgrade

2.2. 卸载升级

鉴于本次版本升级跨度比较大,kubernetes 1.19使用的还是docker作为CRI,但是到了kubernetes 1.24.6,建议使用的为containerd 作为CRI,因此需要额外安装一些组件;鉴于集群上没有什么重要的数据,因此我采用直接卸载掉旧集群做upgrade;

# 卸载命令
kubeadm reset

2.2.1. 安装containerd

从 containerd release 中下载对应系统架构的最新版本
对于arm架构,我们需要在 containerd arm release中找到我们需要的版本


// containerd 1.7.0 arm
// https://github.com/alexellis/containerd-arm/releases/download/v1.7.0/containerd-1.7.0-linux-armhf.tar.gz
// 由于官网下载速度过慢,因此我们使用github代理: https://ghproxy.com/
// containerd 1.7.0 arm github proxy (recommend)
mkdir -p ~/kubernetes/containerd-1.7.0 
wget https://ghproxy.com/?q=https%3A%2F%2Fgithub.com%2Falexellis%2Fcontainerd-arm%2Freleases%2Fdownload%2Fv1.7.0%2Fcontainerd-1.7.0-linux-armhf.tar.gz -O ~/kubernetes/containerd-1.7.0-linux-armhf.tar.gz 
tar -zxvf ~/kubernetes/containerd-1.7.0-linux-armhf.tar.gz -C ~/kubernetes/containerd-1.7.0// 注意好路径 将该可执行文件链接到/usr/bin, /usr/local/bin 路径下
ln -s /root/kubernetes/containerd-1.7.0/containerd /usr/bin/containerd 
ln -s /root/kubernetes/containerd-1.7.0/containerd-shim /usr/bin/containerd-shim
ln -s /root/kubernetes/containerd-1.7.0/containerd-shim-runc-v1 /usr/bin/containerd-shim-runc-v1 
ln -s /root/kubernetes/containerd-1.7.0/containerd-shim-runc-v2 /usr/bin/containerd-shim-runc-v2 
ln -s /root/kubernetes/containerd-1.7.0/containerd-stress /usr/bin/containerd-stress 
ln -s /root/kubernetes/containerd-1.7.0/ctr /usr/bin/ctr 
......// 导出containerd配置文件到指定目录
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml// 修改containerd默认的sandbox_image地址
sed -i 's#registry.k8s.io/pause:3.8#registry.aliyuncs.com/google_containers/pause:3.8#g' /etc/containerd/config.toml
systemctl daemon-reload
systemctl restart containerd
systemctl enable --now containerd

2.2.2. 安装 runc

在 runc release找到符合自己系统架构的runc, 通过 github proxy 下载该版本

# arm
install -m 755 runc.armhf /usr/bin/runc
runc -v

2.2.3.安装kubernetes

kubeadm init --kubernetes-version=v1.24.6 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16 --v=10 --image-repository="registry.aliyuncs.com/google_containers"kubectl get po -n kube-system

Reference

Kubernetes v1.24
Getting Started with Containerd

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

相关文章:

  • LeetCode 725. Split Linked List in Parts【链表】中等
  • 云计算中的负载均衡技术,确保资源的平衡分配
  • 探索 SOCKS5 代理在跨境电商中的网络安全应用
  • 全网独家:编译CentOS6.10系统的openssl-1.1.1多版本并存的rpm安装包
  • 【go】异步任务解决方案Asynq实战
  • 掌握 Android 自动化测试框架 UiAutomator UiAutomator2
  • c#抽象类(abstract)
  • 语义分割实践思考记录(个人备忘录)
  • Zebec Protocol 成非洲利比亚展会合作伙伴,并将向第三世界国家布局
  • 随机流-RandomAccessFile
  • 单例和静态类
  • PMP-项目风险管理的重要性
  • 学习的心得
  • Python网络爬虫中这七个li标签下面的属性值,不是固定的,怎样才能拿到他们的值呢?...
  • 白鲸开源 DataOps 平台加速数据分析和大模型构建
  • (其他) 剑指 Offer 65. 不用加减乘除做加法 ——【Leetcode每日一题】
  • RestTemplate 的用法
  • postgresql-使用plpgsql批量插入用户测试数据
  • 通过Siri打造智能爬虫助手:捕获与解析结构化数据
  • 【电源专题】典型设备的接地设计
  • LeetCode-216-组合总和Ⅱ
  • [技术杂谈]几款常用的安装包制作工具
  • 旋转屏幕显示方向-rk3568
  • 07 Linux补充|秋招刷题|9月6日
  • 【JavaGuide学习笔记】Day.1
  • 大数据课程K18——Spark的ALS算法与显式矩阵分解
  • Android Jetpack架构组件库:Hilt
  • 企业帮助中心如何在线搭建,还能多场景使用呢?
  • C++ primer plus第十五章编程练习答案
  • 【精品】商品规格 数据库表 设计