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

Container Service for Kubernetes:Pod で Secret を使用するように構成する

最終更新日:Jul 24, 2025

Secret を使用して、パスワード、API キー、証明書などの機密情報を Kubernetes クラスターに保存します。このトピックでは、Container Service for Kubernetes (ACK) コンソールで Secret を作成する方法、Secret をボリュームとして Pod にマウントする方法、およびコンソールまたは CLI を使用して Pod の環境変数として Secret を公開する方法について説明します。

前提条件

背景情報

以下のシナリオで、Pod 内の Secret を使用できます。

  • Secret をボリュームとして Pod にマウントします。

  • Secret を Pod の環境変数として公開します。

Secret の詳細については、「Secrets」をご参照ください。

Secret を作成する

次の例は、secret-test という名前の Secret を作成する方法を示しています。

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

  2. [クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のペインで、[ワークロード] > [デプロイメント] を選択します。

  3. [デプロイメント] ページで、右上隅にある [YAML から作成] をクリックします。

  4. テンプレートまたは [カスタム] を選択し、次の YAML コンテンツをエディターにコピーして、[作成] をクリックします。

    次の YAML コンテンツは、secret-test という名前の Secret を作成するために使用されます。

    apiVersion: v1
    kind: Secret
    metadata:
      name: secret-test
    type: Opaque
    data:
      username: admin  #値は Base64 でエンコードする必要があります。
      password: 12345  #値は Base64 でエンコードする必要があります。

Web インターフェースを使用して Secret を作成することもできます。詳細については、「Secret を管理する」をご参照ください。

Secret をボリュームとして Pod にマウントする

次の方法を使用して、Secret をボリュームとして Pod にマウントできます。

CLI を使用する

マウントされた Secret は、Pod 内のファイルとして使用できます。この例では、ユーザー名とパスワード情報を含む Secret secret-test が /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. 次のコマンドを実行して、Secret secret-test がマウントされる Pod を作成します。

    kubectl apply -f  example0.yaml
    説明

    example0.yaml を使用する YAML ファイルの名前に置き換えます。

コンソールを使用する

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

  2. [クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のペインで、[ワークロード] > [デプロイメント] を選択します。

  3. [デプロイメント] ページで、[イメージから作成] をクリックします。

    詳細については、「デプロイメントを使用してステートレス アプリケーションを作成する」をご参照ください。

  4. [基本情報] ウィザードページで、パラメーターを構成し、[次へ] をクリックします。

  5. [コンテナー] ウィザードページで、[ローカル ストレージの追加][ボリューム] セクションの PV タイプシークレットマウントソースシークレットを作成するコンテナーパス[次へ] をクリックします。 を に設定し、 を で作成した Secret に設定し、 をコンテナー内でアクセスされるパスに設定します。構成が完了したら、 をクリックします。

    次の図は、ボリュームを構成する方法の例を示しています。

    配置数据卷

  6. [詳細設定] ウィザードページで、パラメーターを構成し、[作成] をクリックします。

Secret を Pod の環境変数として公開する

次の方法を使用して、Secret を Pod の環境変数として公開できます。

CLI を使用する

この例では、Secret secret-test に保存されているユーザー名とパスワードが、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. 次のコマンドを実行して、環境変数を構成します。

    kubectl apply -f  example1.yaml
    説明

    example1.yaml を使用する YAML ファイルの名前に置き換えます。

コンソールを使用する

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

  2. [クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のペインで、[ワークロード] > [デプロイメント] を選択します。

  3. [デプロイメント] ページで、[イメージから作成] をクリックします。

  4. [基本情報] ウィザードページで、パラメーターを構成し、[次へ] をクリックします。

  5. [コンテナー] ウィザードページで、[追加][環境] セクションの 種類シークレット値 / ValueFromシークレットを作成する をクリックします。 を に設定し、変数の名前を入力し、 を で作成した Secret と、Secret に保存されているユーザー名またはパスワードに設定します。

    次の図は、環境変数を構成する方法の例を示しています。

    image