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

通過云效流水線自動構建和更新ECI伸縮組容器鏡像

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

在您使用ECI伸縮組時,手動更新ECI實例中的容器鏡像可能會成為一個耗時且易出錯的任務。為了解決這一問題,您可以借助彈性伸縮服務集成的云效流水線功能,實現一鍵自動構建鏡像、更新鏡像和更新伸縮組中的實例。

實現原理

本方案通過集成云效的流水線組件,在您更新您的業務代碼后,可以在伸縮組一鍵完成鏡像的構建更新和部署,具體實現流程如下:

  1. 云效流水線會將您配置的代碼倉庫的代碼打包構建成Docker鏡像。

  2. 在打包構建好鏡像后,將鏡像發布到容器鏡像倉庫(ACR)

  3. 在完成鏡像發布之后,云效流水線會通過系統運維管理(OOS),將您的鏡像更新到您伸縮組實例中,同時您伸縮組實例配置來源中的鏡像也會得到更新。

更多云效的信息,請參見云效

準備工作

如果您使用RAM賬號登錄,請您確保您有以下權限。如何為RAM用戶授權,請參見為RAM用戶授權

自定義權限示例

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ess:*",
                "cr:*",
                "rdc:*",
                "vpc:Describe*",
                "ecs:DescribeSecurityGroups",
                "oos:ListExecutions",
                "oos:ListTaskExecutions",
                "oos:GetExecutionTemplate",
                "eci:Describe*",
                "eci:ListUsage",
                "oss:GetExecutionTemplate",
                "ram:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

配置環境

為完成一鍵構建部署鏡像到伸縮組,您需要先完成下述配置。

步驟一:創建阿里云容器鏡像倉庫

重要

如果您已經有阿里云容器鏡像倉庫,可以跳過該步驟。

創建容器鏡像倉庫后,您構建好的鏡像將會存儲在此倉庫。

  1. 登錄容器鏡像服務控制臺

  2. 創建容器鏡像實例。

    1. 在頂部菜單欄選擇地域。

      說明

      推薦容器鏡像倉庫的地域與伸縮組的地域保持一致,同地域可直接通過內網VPC域名訪問。若不一致,需鏡像倉庫開通公網訪問能力,且伸縮組下實例具備公網訪問能力。

    2. 在實例列表頁面,點擊個人實例,等待實例創建完成。

      image

    3. 創建完成后會進入如下界面,點擊設置Registry登錄密碼,并按照界面提示完成密碼設置。

      image

  3. 設置完成Registry登錄密碼之后,在左側導航欄點擊命名空間,點擊創建命名空間,按照界面提示完成命名空間的創建。

  4. 在左側導航欄選擇鏡像倉庫,然后點擊創建鏡像倉庫。按照界面提示完成參數配置。主要參數說明如下:

    • 倉庫信息

      配置項

      說明

      示例

      命名空間

      選擇步驟3創建的命名空間。

      ess_eci_test_namespace

      倉庫名稱

      自定義倉庫名稱。

      ess_eci_test_repo

      倉庫類型

      選擇私有

      私有

      摘要

      簡要描述創建鏡像倉庫的用途。

      test

    • 代碼源

      代碼源選擇本地倉庫,然后單擊創建鏡像倉庫

  5. 創建完成后,會進入倉庫的基本信息頁面,找到公網地址并復制,供后續步驟使用。

步驟二:創建ECI伸縮組

重要

如果您已經創建好伸縮組,可以跳過該步驟。

您可以通過以下兩種方式創建伸縮組:

  • 通過YAML創建。

  • 通過表單創建。

方式一:通過YAML創建

  1. 登錄阿里云彈性伸縮控制臺

  2. 在頂部菜單欄選擇地域,在左側點擊伸縮組管理,點擊創建伸縮組

  3. 通過YAML創建頁簽下,完成伸縮組配置后點擊創建。本示例采用以下配置。更多關于通過YAML創建伸縮組的配置說明,請參見通過Kubernetes YAML文件方式配置ECI類型的伸縮組

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        k8s.aliyun.com/ess-scaling-group-name: ess-eci-test
        k8s.aliyun.com/ess-scaling-group-min-size: 0
        k8s.aliyun.com/ess-scaling-group-max-size: 5
    spec:
      selector:
        matchLabels:
          app: nginx-demo
      replicas: 0
      template:
        metadata:
          labels:
            app: nginx-demo
          annotations:
            k8s.aliyun.com/eci-with-eip: false
        spec:
          containers:
            - name: nginx
              image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 1Gi
                  cpu: '1'
    警告

    如果您已有業務鏡像,您可以將鏡像修改為您的業務鏡像。如果沒有,請使用示例里的鏡像,后續步驟運行流水線會自動替換該鏡像。鏡像為空將無法創建伸縮組。

    參數說明:

    參數名

    說明

    示例

    k8s.aliyun.com/ess-scaling-group-name

    伸縮組名稱

    ess-eci-test

    k8s.aliyun.com/ess-scaling-group-min-size

    組內最小實例數。當伸縮組的當前實例數小于伸縮最小實例數時,彈性伸縮服務會自動添加實例,使得伸縮組的當前實例數等于伸縮最小實例數。

    0

    k8s.aliyun.com/ess-scaling-group-max-size

    組內最大實例數。當伸縮組的當前實例數大于伸縮最大實例數時,彈性伸縮服務會自動移出實例,使得伸縮組的當前實例數等于伸縮最大實例數。

    5

    k8s.aliyun.com/eci-with-eip

    是否自動創建并綁定EIP

    false

方式二:通過表單創建

  1. 登錄阿里云彈性伸縮控制臺。在頂部菜單欄選擇地域。

  2. 創建伸縮組。

    1. 在左側點擊伸縮組管理,點擊創建伸縮組

    2. 通過表單創建頁簽下,完成伸縮組配置,然后點擊創建按鈕。本示例采用以下配置,更多關于伸縮組的配置說明,請參見創建伸縮組

      配置項

      說明

      示例

      伸縮組名稱

      輸入伸縮組名稱。

      ess-eci-test

      伸縮組類型

      選擇ECI,表示伸縮組內的實例類型為ECI實例。

      ECI

      組內實例配置信息來源

      先不指定自動創建實例的模板。伸縮組創建完成后,您需要繼續創建伸縮配置。

      從零開始創建

      組內最小實例數

      代表伸縮組最小有1個ECI實例。

      0

      組內最大實例數

      代表伸縮組最大有5個ECI實例。

      5

      專有網絡

      該伸縮組下創建的ECS實例會在此專有網絡下。

      vpc-test****-001

      選擇交換機

      您可以配置多個可用區的交換機以提高擴容成功率。

      vsw-test****

  3. 為伸縮組創建伸縮配置。

    1. 找到剛剛創建的伸縮組,點擊查看詳情進入伸縮組詳情頁。

    2. 實例配置來源頁簽下,點擊伸縮配置,點擊創建伸縮配置按鈕進入創建伸縮配置頁。

    3. 本實例采用以下配置,其他配置項均按默認配置,完成配置后點擊配置確認,點擊確認創建,更多關于創建伸縮配置的說明,請參見創建伸縮配置(ECI實例)

      配置項

      說明

      示例

      付費模式

      根據您的需求,選擇付費模式。

      按量付費

      安全組

      根據您的需求,選擇安全組。

      sg-****oer

      容器配置 > 容器名稱

      輸入您的容器名稱。

      nginx

      容器配置 > 鏡像

      選擇容器的鏡像和版本。

      警告

      如果您已有業務鏡像,您可以將鏡像修改為您的業務鏡像。如果沒有,請使用示例里的鏡像。鏡像為空將無法創建伸縮組。

      • 鏡像名稱:registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx

      • 鏡像版本:latest

    4. 伸縮配置頁簽下找到剛才創建的伸縮配置,點擊啟用

步驟三:在彈性伸縮控制臺配置云效流水線

配置云效流水線,使其可以自動完成鏡像的打包、發布和部署。

  1. 伸縮組管理頁面,點擊發布管理,點擊使用云效發布

    image

  2. 選擇云效企業,點擊下一頁

    重要

    如果尚未創建云效企業,需要先點擊創建企業,根據界面提示完成云效企業的創建。創建完成在選擇企業后,請按照界面提示完成授權操作。

  3. 配置流水線。

    1. 配置流水線源。在流水線源下,點擊添加,選擇示例代碼源,點擊添加

      image

      說明

      如果您已經有自己業務的代碼源,您可以根據界面提示,選擇您的代碼倉庫地址。

    2. 添加鏡像構建任務。

      1. 鏡像構建任務下,點擊添加

      2. 鏡像構建任務 > 選擇服務鏈接下,點擊創建服務鏈接,會跳轉到云效的服務鏈接管理界面,點擊新建服務連接

        image

      3. 選擇容器鏡像服務(ACR),點擊下一步,選擇服務授權(若沒有,點擊新建會跳轉到授權頁),點擊創建

      4. 回到鏡像構建任務頁面,在選擇服務連接參數下選擇之前創建的鏈接服務,在鏡像倉庫參數下選擇之前創建的鏡像倉庫,點擊添加

        image

    3. 添加部署任務。

      1. 部署任務下,點擊添加,在選擇服務連接配置下,點擊創建服務鏈接

        image

      2. 服務連接類型選擇彈性伸縮(ESS),點擊下一步,點擊創建

      3. 部署鏡像配置下,選擇鏡像構建并推送至阿里云鏡像倉庫個人版.鏡像VPC地址,點擊添加

        說明

        如果您伸縮組的Region和鏡像服務的Region相同時,推薦優先選擇鏡像VPC地址,其他情況需要實例能夠訪問公網才能夠拉取鏡像。

    4. 點擊完成新建

使用:一鍵構建鏡像并部署到伸縮組

重要

如果其他RAM用戶需要使用該功能,請確保該RAM用戶在您的云效企業下,同時具有該流水線的權限。且該RAM用戶至少需要具有以下權限:

  • 管理云效(RDC)的權限。

  • 只讀訪問訪問控制(RAM)的權限。

  • 管理系統運維管理(OOS)的權限。

在您更新代碼后,點擊云效發布運行按鈕,即可將新代碼打包并部署到您的伸縮組。

  1. 準備工作。

    • 已經環境配置。具體操作,可參見配置環境

    • 已經更新了您的代碼并推送到了代碼倉庫。

  2. 一鍵構建鏡像并部署。

    1. 進入伸縮組,點擊發布管理頁簽,點擊使用云效發布頁簽,點擊運行按鈕,此時運行記錄列表里會新增一條記錄。

      image

    2. 在運行記錄列表,點擊詳細按鈕查看流水線詳細信息,等待流水線執行完畢。流水線執行結束后,您的伸縮組中的實例和伸縮配置將會自動更新,相應的新擴容出的實例也將采用新鏡像。

      image

      • 實例配置來源頁簽下,找到正在生效的伸縮配置,點擊修改進行伸縮配置的檢查。核實伸縮配置中的容器配置 > 鏡像是否已更新。

      • 手動觸發一次擴容,在實例列表頁簽下點擊新擴容出的ECI實例,確認新加入的ECI實例采用新鏡像。

      • 如果伸縮組存在正在運行的ECI實例,您可以在實例列表頁簽下點擊該ECI實例的名稱,進入實例詳細頁面,確認已有ECI實例鏡像已更新。