更新应用

上一节将应用部署到了Argo CD,本节将更新github仓库,并实现部署更新。

更新应用

更新kubernetes/deployment.yaml:

image-20210415220435439 更新为: spec.replicas: 2

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ecsdemo-nodejs
  labels:
    app: ecsdemo-nodejs
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: ecsdemo-nodejs
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: ecsdemo-nodejs
    spec:
      containers:
      - image: brentley/ecsdemo-nodejs:latest
        imagePullPolicy: Always
        name: ecsdemo-nodejs
        ports:
        - containerPort: 3000
          protocol: TCP

然后提交更新到代码库。

访问 ArgoCD Web界面

image-20210415220728288

点击refresh按钮后,状态会变为OutOfSync:

image-20210415220958423

这表示github仓库当前部署的应用没有实现版本同步,所以需要部署新的版本(2个replica)。点击sync,选择APPS/DEPLOYMENT/DEFAULT/ECSDEMO-NODEJS 并点击 SYNCHRONIZE:

image-20210415221112602

Sync完成后,应用的状态恢复为Synced, 并有两个pod:

image-20210415221248345

上面所有的过程也可以通过argo CLI完成。