Kubernetes部署apisix的理论与最佳实践(四)

#作者: stackofumbrella

文章目录

接上篇:https://panjistack.blog.csdn.net/article/details/150350935?spm=1001.2014.3001.5502

版本升级

K8S部署的apisix是采用deploy控制器部署的,升级版本只需要修改镜像的版本号即可,同时要注意的是apisix有两种镜像类型,即redhat和debian,所以前后版本类型要一致

修改版本

$ sudo vim apisix.yaml

$ kubectl apply -f apisix/apisix.yaml

$ kubectl get pod -n gv-public -w

查看apisix的版本

$ kubectl exec -it apisix-59b764776b-8h5hv -n gv-public -- bash -c "apisix version"

apisix版本升级成功

修改etcd版本

$ sudo vim etcd.yaml

$ kubectl apply -f etcd.yaml

$ kubectl get pod -n gv-public -w

查看etcd版本

$ kubectl exec -it apisix-etcd-0 -n gv-public -- bash -c "etcd --version"

查看数据

可以看到dashboard上的插件数据没有丢失,说明升级成功

apisix和etcd扩缩容

apisix是采用deploy部署,etcd是statefulset部署,都可以采用更改yml配置清单文件,或在线扩缩容,都是可以实现的

apisix在线扩容

$ kubectl scale deploy apisix --replicas=3 -n gv-public

etcd在线扩容

$ kubectl scale sts apisix-etcd --replicas=4 -n gv-public

$ kubectl get pod -n gv-public -w | grep apisix-etcd

测试etcd

$ kubectl exec -it apisix-etcd-0 -n gv-public -- bash -c 'etcdctl put key1 value2'

OK

$ kubectl exec -it apisix-etcd-3 -n gv-public -- bash -c 'etcdctl get key1'

key1

value2

在旧的节点中添加数据,可以在新增的节点中查询到数据,说明etcd集群扩容是成功的

apisix在线缩容

$ kubectl scale deploy apisix --replicas=2 -n gv-public

$ kubectl get pod -n gv-public -w

$ kubectl get pod -n gv-public

etcd在线缩容

$ kubectl scale sts apisix-etcd --replicas=3 -n gv-public

$ kubectl get pod -n gv-public -w | grep apisix-etcd

$ kubectl get pod -n gv-public | grep apisix-etcd

测试etcd

$ kubectl exec -it apisix-etcd-2 -n gv-public -- bash -c 'etcdctl get key1'

key1

value2

在etcd节点中可以查询到旧数据,说明etcd集群缩容是成功的

相关推荐
灰阳阳1 小时前
Docker镜像远程(离线)迁移教程
运维·docker·容器
KIHU快狐2 小时前
KIHU快狐|台式液晶监视器桌面摆放药店用药安全宣传小屏幕
容器
岁岁种桃花儿3 小时前
kubenetes从入门到上天系列第十四篇:Kubernetes的持久化存储
云原生·容器·kubernetes
糟糕喔4 小时前
harbor私有仓库搭建
运维·docker·云原生·容器·kubernetes
05大叔6 小时前
微服务,拆分原则,远程调用,服务治理,OpenFeign
微服务·云原生·架构
就叫飞六吧8 小时前
K8s 端口暴露:集群统一暴露 vs 单 Pod 暴露
云原生·容器·kubernetes
执笔为剑9 小时前
docker环境升级数据库
数据库·docker·容器
于眠牧北10 小时前
ubuntu22.04安装docker以及安装过程中报错解决方法
运维·docker·容器
returnthem12 小时前
Docker学习笔记
云原生·eureka
AI成长日志12 小时前
【agent专栏】Agent服务化与性能优化——Docker容器化、并发处理、成本控制
docker·容器·性能优化