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

容器鏡像關(guān)聯(lián)

錄入服務(wù)模板時,若您需要使用已在計算巢發(fā)布的容器鏡像部署物,可以使用容器鏡像關(guān)聯(lián)的功能。

背景信息

使用容器鏡像關(guān)聯(lián)功能,您需要在服務(wù)模板中定義容器鏡像關(guān)聯(lián)的標(biāo)識位和訪問憑證標(biāo)識位,并在容器鏡像關(guān)聯(lián)中設(shè)置關(guān)聯(lián)的容器鏡像部署物,在創(chuàng)建服務(wù)實例時,計算巢會自動識別模板中標(biāo)識位,自動替換成部署物對應(yīng)的容器鏡像版本。

功能配置

  1. 在模板中定義容器鏡像關(guān)聯(lián)標(biāo)識位和訪問計算巢鏡像倉庫的憑證標(biāo)識位。

    在配置容器鏡像關(guān)聯(lián)功能前,需要先在模板中定義容器鏡像標(biāo)識位和計算巢鏡像倉庫訪問憑證標(biāo)識位。容器鏡像關(guān)聯(lián)標(biāo)識位的固定表達(dá)式為:{{ computenest::acrimage::xxx }}。

    說明

    表達(dá)式中的xxx為任意單詞,中間不可包含空格。

    此處以在ALIYUN::CS::ClusterApplication資源中定義容器鏡像標(biāo)識位{{ computenest::acrimage::yourimage }}.dockerconfigjson格式的計算巢鏡像倉庫訪問憑證標(biāo)識位為例,展示模板中容器鏡像關(guān)聯(lián)標(biāo)識位和計算巢鏡像倉庫憑證標(biāo)識位。

    Resources:
      ClusterApplication:
        Type: 'ALIYUN::CS::ClusterApplication'
        Properties:
          DefaultNamespace:
            Ref: 'ALIYUN::StackName'
          YamlContent: |
            apiVersion: v1
            data:
              .dockerconfigjson: {{ computenest::acr::dockerconfigjson }} 
            kind: Secret
            metadata:
              name: computenestrepo
              namespace: default
            type: kubernetes.io/dockerconfigjson
            ---
            apiVersion: apps/v1
            kind: Deployment
            metadata:
              labels:
                app: springboot-demo-deployment
              name: springboot-demo-deployment
            spec:
              selector:
                matchLabels:
                  app: springboot-demo-pod
              template:
                metadata:
                  labels:
                    app: springboot-demo-pod
                spec:
                  containers:
                    - name: springboot-demo-container
                      image: {{ computenest::acrimage::yourimage }} 
                      imagePullPolicy: Always
                      ports:
                        - containerPort: 8080
                          protocol: TCP
                      env:
                        - name: DB_HOST
                          value: mysql
                        - name: DB_USER
                          value: root
                        - name: DB_PASSWORD
                          value: Qwer1234
                  restartPolicy: Always
                  ...
  2. 配置容器鏡像關(guān)聯(lián)。

    1. 在創(chuàng)建服務(wù)界面的部署物關(guān)聯(lián)區(qū)域,單擊設(shè)置容器鏡像關(guān)聯(lián)。

    2. 容器鏡像關(guān)聯(lián)彈窗中,選擇需要關(guān)聯(lián)的容器鏡像部署物和對應(yīng)的版本。

      若您沒有容器鏡像部署物,需先創(chuàng)建容器鏡像部署物后再選擇。關(guān)于如何創(chuàng)建容器鏡像部署物,請參見創(chuàng)建部署物。2024-04-10_17-07-07.png

    3. 單擊確定。2024-04-10_17-09-47.png

功能展示

服務(wù)創(chuàng)建完成后,當(dāng)用戶在創(chuàng)建服務(wù)實例時,計算巢會將模板中的內(nèi)容根據(jù)部署物信息自動替換為鏡像地址。

  • 容器鏡像處替換如下:容器鏡像

  • 計算巢鏡像倉庫訪問憑證替換如下:訪問憑證

線下調(diào)試

若您想要對容器鏡像進行線下手動調(diào)試時,可以在有K8s集群操作權(quán)限的機器上,手動執(zhí)行YAML文件進行容器鏡像的部署。

容器鏡像需要對應(yīng)的secret才能Pull,所以進行線下手動調(diào)節(jié)時,需要先創(chuàng)建secret后再部署容器鏡像。

  • 創(chuàng)建secret

    創(chuàng)建secret前需要先登錄鏡像倉庫后,再到K8s集群創(chuàng)建secret。獲取登錄計算巢鏡像倉庫命令方式,請參見管理容器鏡像部署物

    示例如下:

    # 登錄計算巢服務(wù)鏡像倉庫,登錄命令和賬號密碼詳見創(chuàng)建容器部署物
    docker login compute-nest-registry.cn-hangzhou.cr.aliyuncs.com --username=cr_temp_user --password=eyJhdXRoVG9rZW5JZGVudGlmaWVyIjoiNTU5NGE3OTlkZWNlNGM0Njk4NDc4NTI3MWY2MWYxODQiLCJpbnBN0YW5jZlkIjoiY3JpLWNuZ21qdnRnb3J4Ym9meXAiLCJ0aW1lIjoiMTY5MDQ1NzM5NDAwMCIsInR5cGUiOiJzdHiLCJ1c2VySWQiOiIMTE5ODIxMTU2ODkzODgyIn0:322290403cf9a2b40a7086d4f01edd4603xxxxxx
    
    # 在k8s集群中創(chuàng)建secret,名稱為<secretName>,可以自定義,<path/to/.docker/config.json>為執(zhí)行操作的機器上,安裝docker時對應(yīng)的config.json的位置。
    kubectl create secret generic <secretName> \
        --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
        --type=kubernetes.io/dockerconfigjson
  • 部署容器鏡像

    部署容器鏡像時,YAML文件中的<imageName>為上傳到計算巢容器倉庫中的倉庫名稱和版本,<secretName>為創(chuàng)建secret時生成的secret名稱。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: <imageName>
            ports:
            - containerPort: 80
          imagePullSecrets:
          - name: <secretName>