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

ack-pod-identity-webhook

ack-pod-identity-webhook組件可以幫您更便捷地使用容器服務(wù)提供的RRSA(RAM Roles for Service Accounts)特性,它可以為您的應(yīng)用Pod自動注入應(yīng)用依賴的掛載OIDC Token和環(huán)境變量配置,免去繁瑣的手動配置工作。本文介紹ack-pod-identity-webhook組件信息、使用說明及變更記錄。

組件介紹

ack-pod-identity-webhook組件的架構(gòu)圖如下所示。

架構(gòu)圖

使用示例

本示例部署的應(yīng)用中,將使用RRSA特性扮演指定角色獲取當(dāng)前賬號下集群列表信息。相關(guān)信息如下。

  • 命名空間:rrsa-demo

  • 服務(wù)賬戶:demo-sa

  • RAM角色:ack-pod-identity-webhook-demo

當(dāng)您為Pod所在命名空間增加pod-identity.alibabacloud.com/injection: 'on'標(biāo)簽后,ack-pod-identity-webhook組件將根據(jù)Pod使用的服務(wù)賬號的注解配置,自動為該Pod注入相關(guān)配置項。使用示例的操作步驟如下。

  1. 為集群開啟RRSA功能。具體操作,請參見啟用RRSA功能

    RRSA功能開啟后,請獲取集群中OIDC提供商的URL和ARN信息

  2. 安裝ack-pod-identity-webhook組件。

    1. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運維管理 > 組件管理

    2. 組件管理頁面,單擊安全頁簽,找到ack-pod-identity-webhook組件,單擊組件右下方的安裝

    3. 在提示對話框確認(rèn)組件信息后,單擊確定

  3. 創(chuàng)建一個名為ack-pod-identity-webhook-demo的RAM角色。

    1. 使用阿里云賬號登錄RAM控制臺

    2. 在左側(cè)導(dǎo)航欄,選擇身份管理 > 角色

    3. 角色頁面,單擊創(chuàng)建角色

    4. 創(chuàng)建角色面板,選擇可信實體類型為身份提供商,然后單擊下一步

    5. 在配置角色配置項,配置如下角色信息后,單擊完成

      配置項

      描述

      角色名稱

      ack-pod-identity-webhook-demo

      身份提供商類型

      OIDC

      選擇身份提供商

      ack-rrsa-<cluster_id>。其中,<cluster_id>為您的集群ID。

      限制條件

      • oidc:iss:默認(rèn)即可。

      • oidc:aud:選擇sts.aliyuncs.com

      • oidc:sub:條件判定方式選擇StringEquals,值的格式為system:serviceaccount:<namespace>:<serviceAccountName>

        • <namespace>:應(yīng)用所在的命名空間。

        • <serviceAccountName>:服務(wù)賬戶名稱。

        根據(jù)測試應(yīng)用的信息,此處需要填入system:serviceaccount:rrsa-demo:demo-sa

  4. 為上一步創(chuàng)建的角色授予測試應(yīng)用所需的AliyunCSReadOnlyAccess系統(tǒng)策略權(quán)限。具體操作,請參見為RAM角色授權(quán)

  5. 部署測試應(yīng)用。

    1. 使用以下內(nèi)容,創(chuàng)建demo.yaml文件。

      如下YAML示例中,為命名空間增加標(biāo)簽pod-identity.alibabacloud.com/injection: 'on',并為服務(wù)賬號增加注解pod-identity.alibabacloud.com/role-name: ack-pod-identity-webhook-demo,啟用ack-pod-identity-webhook組件的自動配置注入功能。關(guān)于RRSA Demo調(diào)用實現(xiàn),請參見代碼

      ---
      apiVersion: v1
      kind: Namespace
      metadata:
        name: rrsa-demo
        labels:
          pod-identity.alibabacloud.com/injection: 'on'
      
      ---
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: demo-sa
        namespace: rrsa-demo
        annotations:
          pod-identity.alibabacloud.com/role-name: ack-pod-identity-webhook-demo
      
      ---
      apiVersion: v1
      kind: Pod
      metadata:
        name: demo
        namespace: rrsa-demo
      spec:
        serviceAccountName: demo-sa
        containers:
          - image: registry.cn-hangzhou.aliyuncs.com/acs/ack-ram-tool:1.0.0
            imagePullPolicy: "Always"
            args:
              - rrsa
              - demo
            name: demo
        restartPolicy: OnFailure
    2. 執(zhí)行以下命令,部署測試應(yīng)用。

      kubectl apply -f demo.yaml
  6. 執(zhí)行以下命令,查看測試應(yīng)用Pod,確認(rèn)ack-pod-identity-webhook組件已為Pod自動注入所需的配置。

    kubectl -n rrsa-demo get pod demo -o yaml

    展開查看預(yù)期輸出

    apiVersion: v1
    kind: Pod
    metadata:
      name: demo
      namespace: rrsa-demo
    spec:
      containers:
      - args:
        - rrsa
        - demo
        env:
        - name: ALIBABA_CLOUD_ROLE_ARN
          value: acs:ram::1***:role/ack-pod-identity-webhook-demo
        - name: ALIBABA_CLOUD_OIDC_PROVIDER_ARN
          value: acs:ram::1***:oidc-provider/ack-rrsa-c***
        - name: ALIBABA_CLOUD_OIDC_TOKEN_FILE
          value: /var/run/secrets/ack.alibabacloud.com/rrsa-tokens/token
        image: registry.cn-hangzhou.aliyuncs.com/acs/ack-ram-tool:1.0.0
        imagePullPolicy: Always
        name: demo
        volumeMounts:
        - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
          name: kube-api-access-4bwdg
          readOnly: true
        - mountPath: /var/run/secrets/ack.alibabacloud.com/rrsa-tokens
          name: rrsa-oidc-token
          readOnly: true
      restartPolicy: OnFailure
      serviceAccount: demo-sa
      serviceAccountName: demo-sa
      volumes:
      - name: kube-api-access-4bwdg
        projected:
          defaultMode: 420
          sources:
          - serviceAccountToken:
              expirationSeconds: 3607
              path: token
          - configMap:
              items:
              - key: ca.crt
                path: ca.crt
              name: kube-root-ca.crt
          - downwardAPI:
              items:
              - fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
                path: namespace
      - name: rrsa-oidc-token
        projected:
          defaultMode: 420
          sources:
          - serviceAccountToken:
              audience: sts.aliyuncs.com
              expirationSeconds: 3600
              path: token

    預(yù)期輸出表明,ack-pod-identity-webhook組件已為Pod自動注入了如下配置。

    類別

    配置項名稱

    配置項說明

    環(huán)境變量

    ALIBABA_CLOUD_ROLE_ARN

    需要扮演的RAM角色ARN。

    ALIBABA_CLOUD_OIDC_PROVIDER_ARN

    OIDC身份提供商的ARN。

    ALIBABA_CLOUD_OIDC_TOKEN_FILE

    包含OIDC Token的文件路徑。

    VolumeMount

    rrsa-oidc-token

    掛載OIDC Token的配置。

    Volume

    rrsa-oidc-token

    掛載OIDC Token的配置。

  7. 執(zhí)行以下命令,查看測試應(yīng)用日志。

    kubectl -n rrsa-demo logs demo

    預(yù)期輸出:

    cluster id: cf***, cluster name: foo*
    cluster id: c8***, cluster name: bar*
    cluster id: c4***, cluster name: foob*

自定義配置

ack-pod-identity-webhook組件的自定義配置包括命名空間配置、服務(wù)賬戶配置以及Pod配置。

命名空間配置

參數(shù)

類型

說明

代碼示例

pod-identity.alibabacloud.com/injection

標(biāo)簽

是否為該命名空間下的Pod啟用配置自動注入功能。

  • 當(dāng)值為on時:表示啟用配置自動注入功能。

  • 未配置或其他值時:表示禁用配置自動注入功能。

apiVersion: v1
kind: Namespace
metadata:
  name: test
  labels:
    pod-identity.alibabacloud.com/injection: 'on'

服務(wù)賬戶配置

參數(shù)

類型

說明

代碼示例

pod-identity.alibabacloud.com/role-name

注解

該服務(wù)賬戶關(guān)聯(lián)的RAM角色名稱。如果未配置該配置項或配置的值不是一個合法的RAM角色名稱,使用該服務(wù)賬戶的Pod將不會被自動注入配置。

apiVersion: v1
kind: ServiceAccount
metadata:
  name: test-sa
  namespace: test
  annotations:
    pod-identity.alibabacloud.com/role-name: test-role

pod-identity.alibabacloud.com/service-account-token-expiration

注解

指定使用該服務(wù)賬戶的Pod掛載的OIDC Token的有效期。

取值范圍:[600, 43200]。單位:秒。

默認(rèn)值為3600,當(dāng)配置值無效時,將使用3600作為此配置項的值。

apiVersion: v1
kind: ServiceAccount
metadata:
  name: test-sa
  namespace: test
  annotations:
    pod-identity.alibabacloud.com/service-account-token-expiration: '3600'

Pod配置

參數(shù)

類型

說明

代碼示例

pod-identity.alibabacloud.com/service-account-token-expiration

注解

指定該Pod掛載的OIDC Token的有效期。

取值范圍:[600, 43200]。單位:秒。

默認(rèn)值為3600,當(dāng)配置值無效時,將使用3600作為此配置項的值。

說明

當(dāng)服務(wù)賬戶和Pod上都存在該配置項時,服務(wù)賬戶上的配置將會被忽略。

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  namespace: test
  annotations:
    pod-identity.alibabacloud.com/service-account-token-expiration: '3600'

pod-identity.alibabacloud.com/only-containers

注解

限制只為Pod內(nèi)特定名稱的容器自動注入配置,使用英文半角逗號(,)分隔多個容器名稱。

如果未配置該配置項,將為Pod內(nèi)所有容器自動注入配置。

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  namespace: test
  annotations:
    pod-identity.alibabacloud.com/only-containers: 'controller,test'

pod-identity.alibabacloud.com/skip-containers

注解

配置不為特定名稱的容器自動注入配置,使用英文半角逗號(,)分隔多個容器名稱。

說明

當(dāng)某個容器名稱同時存在于pod-identity.alibabacloud.com/only-containerspod-identity.alibabacloud.com/skip-containers配置中時,pod-identity.alibabacloud.com/only-containers中的配置將會被自動忽略。

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  namespace: test
  annotations:
    pod-identity.alibabacloud.com/skip-containers: 'controller,test'

RRSA SDK參考代碼

編程語言

支持認(rèn)證的SDK版本

使用示例

Go

Alibaba Cloud Credentials for Go 1.2.6及以上版本

GO SDK使用示例

Java

Alibaba Cloud Credentials for Java 0.2.10及以上版本

Java SDK使用示例

Python 3

Alibaba Cloud Credentials for Python 0.3.1及以上版本

Python 3 SDK使用示例

Node.js和TypeScript

Alibaba Cloud Credentials for TypeScript/Node.js 2.2.6及以上版本

Node.js和TypeScript使用示例

變更記錄

2023年06月

版本號

鏡像地址

變更內(nèi)容

變更時間

變更影響

0.1.1

registry.cn-hangzhou.aliyuncs.com/acs/ack-pod-identity-webhook:v0.1.1.0-gbddcb74-aliyun

增強組件對ACK Serverless集群的兼容性。

2023年06月07日

組件升級異常可能會導(dǎo)致Pod創(chuàng)建失敗,建議在業(yè)務(wù)低谷期進行升級操作。

2023年02月

版本號

鏡像地址

變更內(nèi)容

變更時間

變更影響

0.1.0

registry.cn-hangzhou.aliyuncs.com/acs/ack-pod-identity-webhook:v0.1.0.9-g26b8fde-aliyun

實現(xiàn)為應(yīng)用Pod自動掛載OIDC Token以及自動配置環(huán)境變量的功能。

2023年02月01日

首個版本。

相關(guān)文檔

通過RRSA配置ServiceAccount的RAM權(quán)限實現(xiàn)Pod權(quán)限隔離