k8s 1.28升级1.30

0、简介

这里只用3台服务器来做一个简单的集群,当前版本是1.28目标升级到1.30

地址    主机名
192.168.160.40    kuber-master-1
192.168.160.41    kuber-master-2
192.168.160.42    kuber-node-1

1、添加yum源

添加1.29版本的源

[kubernetes-29]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.29/rpm/
enabled=1
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.29/rpm/repodata/repomd.xml.key

添加1.30版本的源

[kubernetes-30]
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

2、修改运行时版本

containerd config default > /etc/containerd/config.toml

sed -i 's#sandbox_image = "registry.k8s.io/pause:3.6"#sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"#g' /etc/containerd/config.toml

vim /var/lib/kubelet/kubeadm-flags.env

KUBELET_KUBEADM_ARGS="--network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6"

修改为

KUBELET_KUBEADM_ARGS="--pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9 --container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock"

systemctl daemon-reload

systemctl restart containerd #重启containerd

systemctl restart kubelet #重启kubelet

3、升级1.29版版本--升级集群master


升级第一个master
yum list --showduplicates kubelet kubeadm kubectl --disableexcludes=kubernetes | grep 1.29
yum install kubeadm-1.29.15-150500.1.1 kubectl-11.29.15-150500.1.1 kubelet-1.29.15-150500.1.1 --disableexcludes=kubernetes -y
kubeadm upgrade plan
kubectl drain master --ignore-daemonsets
kubeadm upgrade apply 1.29.15
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon master
升级其他的master
yum install kubeadm-1.29.15-150500.1.1 kubectl-1.29.15-150500.1.1 kubelet-1.29.15-150500.1.1 --disableexcludes=kubernetes -y
kubectl drain master --ignore-daemonsets
kubeadm upgrade node
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon master


4、升级集群node

和升级其他master的步骤一样

yum install kubeadm-1.29.15-150500.1.1 kubectl-1.29.15-150500.1.1 kubelet-1.29.15-150500.1.1 --disableexcludes=kubernetes -y
kubectl drain node --ignore-daemonsets
kubeadm upgrade node
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon node


5、升级ingress


将ingress的包fetch下来,修改里边的参数

我这里就修改 hostport、service类型NodePort、pod的类型为Daemonset

先升级到4.12.1的版本

helm fetch ingress-nginx/ingress-nginx --version 4.12.1

tar -zxvf ingress-nginx-4.12.1.tgz

helm upgrade ingress-nginx -f values.yaml . --namespace ingress-nginx

6、升级1.30版本--升级集群master

和升级1.29是一样。

Kubernetes (k8s) 1.28 版本部署 Calico 需要注意的是,这个版本相对比较旧,Calico 的官方文档可能会推荐更新到较新的版本以获得更好的支持。以下是基本的步骤: 1. **安装 prerequisites**: - 安装 kubectl 和 minikube 或者一个生产环境的 Kubernetes 控制面板,如 EKS、GKE 或 AKS。 2. **获取 Calico 资源**: - 下载 Calico 的 YAML 或 Helm chart。可以从 Calico GitHub(https://github.com/projectcalico/calico)克隆仓库,并找到对应版本的配置文件。 3. **创建网络政策**: - 创建 `calico.yaml` 文件,其中包括了网络策略控制器(CNP),节点配置(如 `calico-node`),以及服务发现等组件。 ```yaml apiVersion: projectcalico.org/v3 kind: NetworkPolicy # ...其他配置... --- apiVersion: v1 kind: ConfigMap metadata: name: calico-config data: # ...配置 calico 数据... ``` 4. **应用资源**: - 使用 `kubectl apply -f calico.yaml` 命令将上述配置应用到集群中。 5. **验证**: -A` 查看是否有 Calico 相关的 pod 启动成功。 - 可以通过 `kubectl describe networkpolicies` 或 `kubectl get cnp` 来查看网络策略是否生效。 6. **调整节点配置**: - 如果使用的是容器网络插件(例如 `--network-plugin=cni`),需要配置 Calico CNI 插件。 7. **安全组替换** (仅针对某些云平台): - 如果你的集群使用了安全组,可能需要更新规则以允许 Calico 网络通信。 **相关问题--:** 1. 如何检查 Calico 是否已正确集成到 K8s 中? 2. 有没有特定于 k8s 1.28 版本的 Calico 部署限制? 3. 如何在 Calico 集群中管理和服务发现?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值