CentOS ARM 部署 kubernetes v1.24.6

这篇具有很好参考价值的文章主要介绍了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
 wget https://ghproxy.com/https://github.com/opencontainers/runc/releases/download/v1.1.9/runc.armhf

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

2.2.3. 安装critical

mkdir -p /root/kubernetes/critical-1.28.0
wget https://ghproxy.com/?q=https%3A%2F%2Fgithub.com%2Fkubernetes-sigs%2Fcri-tools%2Freleases%2Fdownload%2Fv1.28.0%2Fcrictl-v1.28.0-linux-arm.tar.gz -O /root/kubernetes/critical-1.28.0/critical.tar.gz
cd /root/kubernetes/critical-1.28.0 && tar -zxvf /root/kubernetes/critical-1.28.0/critical.tar.gz

ln -s /root/kubernetes/critical-1.28.0/crictl /usr/local/bin/crictl

ln -s /root/kubernetes/critical-1.28.0/crictl /usr/bin/crictl

2.2.4.安装kubernetes

# 检查该kubelet service 是否存在
cat /usr/lib/systemd/system/kubelet.service
cat /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf 
# kubelet.service
Documentation=https://kubernetes.io/docs/
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/bin/kubelet
Restart=on-failure


[Install]
WantedBy=multi-user.target

# 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"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
[root@container1 kubelet.service.d]# 


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文章来源地址https://www.toymoban.com/news/detail-686907.html

到了这里,关于CentOS ARM 部署 kubernetes v1.24.6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos7安装部署k8s(kubernetes)最新v1.27.1版本超详细安装教程

    从零开始的k8s安装 硬件配置要求 cpu = 2核 硬盘 = 20G 内存 = 2G 节点数量建议为奇数(3, 5, 7, 9等)(1台好像也能搭,没试过) 以下命令出除特殊要求外,其余都建议在master主机执行 本教程配置如下 主机名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    浏览(57)
  • CentOS7.9+Kubernetes1.28.3+Docker24.0.6高可用集群二进制部署

    查看版本关系 1.1 软件获取 所有软件均为开源软件,源文件从官方链接或官方镜像链接地址获取。 1.1.1 centos 7.9 https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ 下载2009或2207其中任何一个版本都可以。 下载:https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Min

    2024年02月04日
    浏览(53)
  • 云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)

    目录 一、理论 1.K8S集群升级 2.环境 3.升级策略 4.master1节点迁移容器运行时(docker → containerd)  5.master2节点迁移容器运行时(docker → containerd)  6.node1节点容器运行时迁移(docker → containerd)  7.升级集群计划(v1.23.14 → v1.24.1) 8.升级master1节点版本(v1.24.1) 9.升级master2节点版本

    2024年02月03日
    浏览(69)
  • Kubernetes v1.20 二进制部署

    k8s集群master01:192.168.80.101    kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.80.102 k8s集群node01:192.168.80.103    kubelet kube-proxy docker  k8s集群node02:192.168.80.104 etcd集群节点1:192.168.80.105    etcd etcd集群节点2:192.168.80.106 etcd集群节点3:192.168.80.107 负载均衡

    2024年02月14日
    浏览(46)
  • kubernetes(k8s) v1.28.2 安装与部署

    版本:kubernetes(k8s) v1.28.2 并准备主机名映射。 设置好静态IP。 在Ubuntu的/etc/hosts文件中,填入如下内容。也可以在Windows的C:WindowsSystem32driversetchosts文件中填写相同内容。 关闭防火墙和SELinux。 关闭防火墙命令如下。 可使用命令 systemctl status firewalld 查看防火墙状态。 关闭

    2024年02月03日
    浏览(51)
  • 使用kubeadm部署kubernetes 1.24.3

     节点信息:  这里使用containerd作为运行时,部署可参照 https://blog.csdn.net/weixin_46476452/article/details/127670046 目录 一、系统环境初始化 二、配置apt源、下载kubeadm 三、安装cni 四、初始化kubernetes 五、配置节点认证,加入集群 六、部署calico网络插件 七、验证 八、报错处理  我系

    2024年02月13日
    浏览(47)
  • Kubespray v2.21.0 离线部署 Kubernetes v1.25.6 集群

    Kubespray 是 Kubernetes incubator 中的项目,目标是提供 Production Ready Kubernetes 部署方案,该项目基础是通过 Ansible Playbook 来定义系统与 Kubernetes 集群部署的任务,具有以下几个特点: 可以部署在 AWS, GCE, Azure, OpenStack 以及裸机上. 部署 High Available Kubernetes 集群. 可组合性 (Composable),

    2024年02月09日
    浏览(46)
  • CentOS7部署Doris V1.2.2

    IP 配置 部署内容 192.168.43.150 8核8G FE,BE 192.168.43.151 4核8G BE 192.168.43.152 4核8G BE 服务器配置免密登录 3台服务器配置免密登录,可参考CentOS7 设置SSH免密钥登陆 安装JDK 安装JDK 修改CentOS系统默认参数 时间同步 下载安装包 3台服务器下载并解压 doris官网下载安装包 防火墙配置 服

    2023年04月12日
    浏览(51)
  • centos8.x系统安装K8S,kubernetes集群v1.23.9,docker支持的最后一个版本

    卸载podman,centos默认安装了podman容器(不管有没有,执行下总没错),可能与docker存在冲突 2.1 第一种安装方法 docker安装请参考 Linux系统在线安装docker任意版本完整教程 2.2 第二种安装方法 ** ##执行完毕后请记住如下的信息: **

    2024年02月12日
    浏览(64)
  • 《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.24.12单master集群》

    如下图所示: 主机名 K8S版本 系统版本 内核版本 IP地址 备注 k8s-master-62 1.24.12 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.62 master节点 k8s-worker-63 1.24.12 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.63 worker节点 k8s-worker-64 1.24.12 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.64 worker节点 说明:分别在对应的

    2023年04月25日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包