Kubernetes:将应用程序部署到蓝色和绿色节点组

时间:2020-09-14 22:00:54

标签: kubernetes

我的eks vpc有两个节点组。一个叫做蓝色,另一个叫做绿色。通过将资源“ aws_eks_node_group”与scaling_config一起使用来供应(地形)每个节点组,即,每个节点组都启用了ASG。我想将scs_1.0发行版部署到蓝色节点组,将csc_1.1发行版部署到绿色节点组。该怎么做?

过去,我使用资源“ aws_eks_node_group”(地形)供应eks工作节点(一个节点组),然后登录到Kubernetes集群,在那里部署应用程序。现在,我使用资源“ aws_eks_node_group”设置了两个节点组。如何将不同的发行版部署到不同的节点组?

1 个答案:

答案 0 :(得分:1)

因为您要将不同的“部署”部署到其他节点。因此,您可以在nodeSelector上使用Deployment来选择节点的标签。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxx-v1
spec:
  selector:
    matchLabels:
      app: xxx-v1
  replicas: 1

  template:
    metadata:
      labels:
        app: xxx-v1
        type: microservice
    

    spec:
      nodeSelector:
        nodeGroup: blue
      containers:
      - name: xxx-v1
        image: xxx.dkr.ecr.us-west-2.amazonaws.com/xxx-v1-sandbox
....

您可以通过kubectl label nodes <node-name> <label-key>=<label-value>

将标签分配给节点