すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:Pod での Secret の使用

最終更新日:Jun 21, 2026

多くのビジネスシナリオでは、ワークロードのバックエンドデータベースへの接続やクライアントリクエストの検証などで、ユーザー名、パスワード、証明書などの機密情報を保存する必要があります。データ漏洩を防ぐために、お使いの Alibaba Cloud Container Compute Service (ACS) クラスターで Secret を使用してこの情報を管理することを推奨します。このトピックでは、Container Compute Service コンソールで Secret を作成し、ボリュームとしてマウントするか、環境変数として公開することで Secret を使用する方法を説明します。

前提条件

Secret の作成

この例では、secret-test という名前の Secret を作成します。

  1. ACS コンソール にログインします。左側のナビゲーションペインで、クラスター をクリックします。

  2. クラスター ページで、管理するクラスターを見つけ、その ID をクリックします。クラスター詳細ページの左側のナビゲーションペインで、ワークロード > デプロイメント を選択します。

  3. Deployments ページで、Create from YAML をクリックします。

  4. サンプルテンプレートを選択するか、YAML コンテンツをカスタマイズして、Create をクリックします。

    次の YAML テンプレートは、Secret を作成する例です。

    apiVersion: v1
    kind: Secret
    metadata:
      name: secret-test
    type: Opaque
    data:
      username: YWRtaW4=  # プレーンテキストは「admin」です。Base64 でエンコードされています。
      password: MTIzNDU=  # プレーンテキストは「12345」です。Base64 でエンコードされています。

YAML ではなくコンソールの UI を使用して Secret を作成する方法については、「Secret の作成」をご参照ください。

Secret のボリュームとしての使用

kubectl

Secret を Pod 内のファイルとしてマウントできます。この例では、secret-test Secret の username キーと password キーが /srt ディレクトリにファイルとしてマウントされます。

  1. ファイル名が example0.yaml のファイルを作成し、以下の内容をコピーします。

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod0
    spec:
      containers:
      - name: redis
        image: redis
        volumeMounts:
        - name: srt
          mountPath: "/srt"
          readOnly: true
      volumes:
      - name: srt
        secret:
          secretName: secret-test
  2. Pod を作成します。

    kubectl apply -f example0.yaml
  3. Secret がマウントされていることを確認します。

    kubectl describe pod pod0 | grep -A 4 Volumes

    期待される出力:

    Volumes:
      srt:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  secret-test
        Optional:    false

コンソール

  1. ACS コンソール にログインします。左側のナビゲーションペインで、クラスター をクリックします。

  2. クラスター ページで、管理するクラスターを見つけ、その ID をクリックします。クラスター詳細ページの左側のナビゲーションペインで、ワークロード > デプロイメント を選択します。

  3. Deployments ページで、Create from Image をクリックします。

    説明

    パラメーターの詳細については、「ステートレスワークロード (Deployment) の作成」をご参照ください。

  4. Basic Information タブで、必要に応じてパラメーターを設定し、Next をクリックします。

  5. Container タブの Volume セクションで、Add Local Storage をクリックします。PV タイプsecret に設定します。マウントソース には、作成した secret を選択します。コンテナーパス には、コンテナー内のアクセスパスを入力します。情報を設定したら、Next をクリックします。

    次に設定例を示します。

    [マウントソース]secret-test を選択します。[コンテナーパス]/srt を入力します。

  6. Advanced タブで、パラメーターを設定し、Create をクリックします。

Secret の環境変数としての使用

次のいずれかの方法を使用できます。

kubectl

この例では、Secret「secret-test」の username キーと password キーを、Pod 内に環境変数として公開します。

  1. example1.yaml という名前のファイルを作成し、次の内容をコピーします。

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod1
    spec:
      containers:
      - name: redis
        image: redis
        env:
          - name: USERNAME
            valueFrom:
              secretKeyRef:
                name: secret-test
                key: username
          - name: PASSWORD
            valueFrom:
              secretKeyRef:
                name: secret-test
                key: password
  2. Pod を作成します。

    kubectl apply -f example1.yaml
  3. 環境変数が設定されていることを確認します。

    kubectl describe pod pod1 | grep -A 2 Environment

    期待される出力:

        Environment:
          USERNAME:                 <set to the key 'username' in secret 'secret-test'>  Optional: false
          PASSWORD:                 <set to the key 'password' in secret 'secret-test'>  Optional: false

コンソール

  1. ACS コンソール にログインします。左側のナビゲーションペインで、クラスター をクリックします。

  2. クラスター ページで、管理するクラスターを見つけ、その ID をクリックします。クラスター詳細ページの左側のナビゲーションペインで、ワークロード > デプロイメント を選択します。

  3. Deployments ページで、Create from Image をクリックします。

    説明

    詳細については、「ステートレスワークロード (Deployment) の作成」をご参照ください。

  4. Basic Information タブで、必要に応じてパラメーターを設定し、Next をクリックします。

  5. Container タブの Environments セクションで、Add をクリックします。typeSecret に設定します。value/value from には、作成した Secret を選択します。次に、参照するキーを選択し、変数の名前を入力します。