日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用ApplicationSet創建多個應用

ApplicationSet用于簡化多集群應用編排,它可以基于單一應用編排并根據用戶的編排內容自動生成一個或多個Application。本文介紹如何使用ApplicationSet創建多個應用。

前提條件

  • 已登錄GitOps系統。具體操作,請參見登錄GitOps系統

  • 已安裝kubectl命令行工具并獲取ACK One Fleet實例的KubeConfig,默認路徑為~/.kube/config

示例說明

將echo-server應用部署至Production和Staging集群,echo-server的Git倉庫中manifests目錄結構如下所示:

.
├── Dockerfile
├── go.mod
├── go.sum
├── main.go
└── manifests
    └── directory
        ├── production
        │ ├── deployment.yaml
        │ └── service.yaml
        └── staging
            ├── deployment.yaml
            └── service.yaml

由于Production和Staging集群中部署的echo-server應用版本以及服務暴露方式不同,所以需要創建productionstaging兩個子目錄來保存不同的應用編排。

操作步驟

  1. 使用以下內容,創建applicationset.yaml

    該ApplicationSet編排將創建2個應用,分別是production-echo-serverstaging-echo-server,其中production-echo-server應用將部署manifests/directory/production子目錄下的manifests,staging-echo-server將部署manifests/directory/staging目錄下的manifests。

    apiVersion: argoproj.io/v1alpha1
    kind: ApplicationSet
    metadata:
      name: echo-server
    spec:
      generators:
      - list:
          elements:
          - cluster: production
            url: https://47.91.XX.XX:6443
          - cluster: staging
            url: https://47.111.XX.XX:6443
      template:
        metadata:
          name: '{{cluster}}-echo-server'
        spec:
          project: default
          source:
            repoURL: https://code.aliyun.com/shuwei.hsw/echo-server.git
            targetRevision: main
            path: manifests/directory/{{cluster}}
          destination:
            server: '{{url}}'
            namespace: multi-echo-server
  2. 執行以下命令,部署ApplicationSet。

    kubectl -n argocd apply -f applicationset.yaml
  3. 執行以下命令,查看已創建的應用列表。

    kubectl -n argocd get application

    預期輸出:

    NAME                     SYNC STATUS   HEALTH STATUS
    production-echo-server   OutOfSync     Missing
    staging-echo-server      OutOfSync     Missing
  4. 執行以下命令,同步部署應用到目標集群。

    argocd app sync production-echo-server staging-echo-server
  5. 驗證集群中的echo-server服務是否正常。

    • 執行以下命令,驗證Production集群中的echo-server服務是否正常。

      curl XX.XX.XX.XX:8080/version     #替換XX.XX.XX.XX為echo-server服務的IP地址。

      預期輸出:

      "Hello Echo Server v1.0"
    • 執行以下命令,驗證Staging集群中的echo-sercer服務是否正常。

      curl XX.XX.XX.XX:8080/version     #替換XX.XX.XX.XX為echo-server服務的IP地址。

      預期輸出:

      "Hello Echo Server v2.0"

相關文檔

更多關于ApplicationSet的使用,請參見ApplicationSet