【kubernetes】蓝绿部署

概念:

蓝绿部署中,一共有两套系统:一套是正在提供服务系统,标记为"绿色";另一套是准备发布的系统,标记为"蓝色"。

两套系统都是功能完善的、正在运行的系统,只是系统版本和对外服务情况不同。

应用:

通过创建service服务 + 两套系统,可以做发布前的应用测试。

优缺点:

优点:

1、更新过程无需停机,风险较少

2、回滚方便,只需要更改路由或者切换DNS服务器,效率较高。

缺点:

1、如果新版本中基础服务出现问题,或者新版本有问题,会瞬间影响全网用户。

2、需要部署两套机器,对资源或硬件成本较高,费用开销大。

3、在非隔离的机器(Docker、VM)上操作时,可能会导致蓝绿环境被摧毁风险

4、负载均衡器/反向代理/路由/DNS处理不当,将导致流量没有切换过来情况出现

案例:

部署镜像下载:蓝绿部署环境.zip

创建命名空间:

python 复制代码
kubectl  create namespace[ns]  blue-green
第一步:部署绿色系统
python 复制代码
# vim lv.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-v1
  namespace: blue-green
spec:
  replicas: 3
  selector:
   matchLabels:
    app: myapp
    version: v2
  template:
   metadata:
    labels:
     app: myapp
     version: v2
   spec:
    containers:
    - name: myapp
      image: janakiramm/myapp:v2
      imagePullPolicy: IfNotPresent
      ports:
      - containerPort: 80
第二步:部署蓝色系统
python 复制代码
# vim lan.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-v2
  namespace: blue-green
spec:
  replicas: 3
  selector:
   matchLabels:
    app: myapp
    version: v1
  template:
   metadata:
    labels:
     app: myapp
     version: v1
   spec:
    containers:
    - name: myapp
      image: janakiramm/myapp:v1
      imagePullPolicy: IfNotPresent
      ports:
      - containerPort: 80
第三步:部署service服务
python 复制代码
# vim service-lanlv.yaml

apiVersion: v1
kind: Service
metadata:
  name: myapp-lan-lv
  namespace: blue-green
  labels:
    app: myapp
spec:
  type: NodePort
  ports:
  - port: 80
    nodePort: 30062
    name: http
  selector:
    app: myapp
    version: v1   # 修改切换 v1  和 v2 切换蓝绿部署

通过修改版本来访问,http://192.168.40.180:30062/ ,切换不一样的版本。

相关推荐
cpolar技术支持13 分钟前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障
Lsetea2 小时前
Kubernetes 1.37 Pod证书怎么签发:Signer与mTLS信任链排查
云原生·kubernetes·ssl证书·tls·mtls
新时代牛马3 小时前
docker run 起不来?从dockerd、containerd 到runc 一条线讲透
运维·docker·容器
努力努力再努力wz5 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
JavaPub-rodert5 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器
2601_962218476 小时前
万象生鲜系统多账套隔离技术适配集团生鲜企业集团化数字化管控
大数据·运维·微服务·云原生·架构
@PHARAOH6 小时前
WHAT - 微服务统一入口配置原理
微服务·云原生·架构
PC2005-cloud7 小时前
Qdrant 连接失败排查:localhost 解析到 __1,而 Docker 只绑了 IPv4
运维·docker·容器
2601_962218479 小时前
万象生鲜系统智能报表引擎技术为生鲜企业提供数字化经营分析能力
大数据·运维·微服务·云原生·架构
Meta3911 小时前
cenots8安装docker
docker·容器·centos