EKS集群手动升级kube-proxy组件

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: EKS集群手动升级kube-proxy组件

生产集群升级kube-proxy组件计划

目的:1.13.7 --> 1.16.8

附件:点我下载kube-proxy-1.16.8.yaml


0.更新前再次确认工作(删除" resource-container= "字段)


kubectl get daemonset kube-proxy --namespace kube-system -o yaml | grep 'resource-container='

如何有输出,edit删除

kubectl edit daemonset kube-proxy --namespace kube-system


1.备份当前kube-proxy文件输出yaml文件备用(包含configmap等资源类型)注:备份后的yaml不能直接使用,需要删除相关集群绑定信息后,调整格式才能应用


kubectl -n kube-system get configmaps kube-proxy -o yaml >> old-kube-proxy-1.13.7-2021xxxx.yaml
kubectl -n kube-system get configmaps kube-proxy-config -o yaml >> old-kube-proxy-1.13.7-2021xxxx.yaml
kubectl -n kube-system get sa kube-proxy -o yaml >> old-kube-proxy-1.13.7-2021xxxx.yaml
kubectl -n kube-system get clusterrolebindings.rbac.authorization.k8s.io eks:kube-proxy -o yaml >> old-kube-proxy-1.13.7-2021xxxx.yaml
kubectl -n kube-system get daemonsets.apps kube-proxy -o yaml >> old-kube-proxy-1.13.7-2021xxxx.yaml


2.修改kube-proxy模板文件(终端节点,镜像版本,提前验证镜像能否拉取)


查看终端服务节点

aws eks describe-cluster \
    --name <cluster-name> \
    --region <region-code> \
    --query 'cluster.endpoint' \
    --output text


返回

https://<A89DBB2140C8AC0C2F920A36CCC6E18C>.sk1.<region-code>.eks.amazonaws.com


修改模板文件


3.部署新版kube-proxy配置文件,并且快速处理对应的pod为running状态 (ssh登录子节点验证iptables规则状态,设置副本数后查看)


kubectl apply -f kube-proxy-temp-1.16.8.yaml

验证方式:

kube-proxy pod running 后

ssh ec2-user@work01
iptables -L <KUBE-SVC-XXXX> -t nat

master节点操作:

kubectl -n <grafana> scale deployments.apps <grafana-dep> --replicas=5

work节点操作

iptables -L <KUBE-SVC-XXXX> -t nat

同步更新则为正常

恢复操作:

kubectl -n <grafana> scale deployments.apps <grafana-dep> --replicas=1

3.1.<<升级失败回滚计划>>,若升级失败,20分钟内kube-proxy-pod或者集群服务还是error状态,则删除对应的资源对象,部署旧的kube-proxy.yaml备份文件,回滚。

方式1(优先):

kubectl  -n kube-system  rollout undo daemonsets.apps kube-proxy
成功后ssh工作节点验证iptables规则


方式2:

old-kube-proxy-1.13.8.yaml(修改格式能直接应用的yaml文件)

kubectl apply -f old-kube-proxy-1.13.8.yaml

pod runing后再次执行验证操作


验证方式:

kube-proxy pod running 后

ssh ec2-user@work01
iptables -L <KUBE-SVC-XXXX> -t nat

master节点操作:

kubectl -n <grafana> scale deployments.apps <grafana-dep> --replicas=5

work节点操作

iptables -L <KUBE-SVC-XXXX> -t nat

同步更新则为正常

恢复操作:

kubectl -n <grafana> scale deployments.apps <grafana-dep> --replicas=1

4.kube-proxy对应资源running后,观察系统pod是否正常,备份yaml文件,方便后续升级kube-proxy !

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
目录
相关文章
|
缓存 Prometheus Kubernetes
kubernetes 【网络组件】coredns【1】配置使用详解
kubernetes 【网络组件】coredns【1】配置使用详解
kubernetes 【网络组件】coredns【1】配置使用详解
|
负载均衡 Kubernetes 网络协议
kubernetes--kube-proxy组件深入理解
每台机器上都运行一个kube-proxy服务’它监听API server中service和endpoint的变化情 况,并通过iptables等来为服务配置负载均衡(仅支持TCP和UDP)
385 0
|
5月前
|
Kubernetes 前端开发 网络协议
云原生|kubernetes|kubernetes中的资源(一)---service详解
云原生|kubernetes|kubernetes中的资源(一)---service详解
220 0
|
存储 Kubernetes 负载均衡
【Kubernetes的Service Mesh发展历程及Istio架构、存储供应使用NFS flexvolume CSI接口】
【Kubernetes的Service Mesh发展历程及Istio架构、存储供应使用NFS flexvolume CSI接口】
208 0
|
Kubernetes 负载均衡 网络协议
Kubernetes 【网络组件】kube-proxy使用详解
Kubernetes 【网络组件】kube-proxy使用详解
Kubernetes 【网络组件】kube-proxy使用详解
|
Kubernetes 负载均衡 Cloud Native
云原生|kubernetes|kubeadm部署高可用集群(二)---kube-apiserver高可用+etcd外部集群+haproxy+keepalived(一)
云原生|kubernetes|kubeadm部署高可用集群(二)---kube-apiserver高可用+etcd外部集群+haproxy+keepalived
281 0
云原生|kubernetes|kubeadm部署高可用集群(二)---kube-apiserver高可用+etcd外部集群+haproxy+keepalived(一)
|
存储 Kubernetes 前端开发
Kubernetes config 配置访问多集群
Kubernetes config 配置访问多集群
|
Kubernetes 容器
k8s部署 kube-proxy 组件
k8s部署 kube-proxy 组件
k8s部署 kube-proxy 组件
|
Kubernetes Cloud Native 容器
云原生|kubernetes|kubeadm部署高可用集群(二)---kube-apiserver高可用+etcd外部集群+haproxy+keepalived(三)
云原生|kubernetes|kubeadm部署高可用集群(二)---kube-apiserver高可用+etcd外部集群+haproxy+keepalived
174 0
|
Kubernetes 测试技术 应用服务中间件
Kubernetes的service mesh – 第五部分:DogFood环境,Ingress和Edge路由
概述 在这篇文章中,我们将向您展示如何使用Linkerd实现的Service Mesh来处理Kubernetes上的入口流量,在Service Mesh中的每个实例上分发流量。我们还将通过一个完整的例子来介绍Linkerd的高级路由功能:如何将特定的请求路由到较新版本的应用实例上,比如用于内部测试的、预发布的应用版本。
1354 0