11.4. このシークレットを使用するアプリケーションの作成
次のコマンドを実行して、OpenShift プロジェクトを作成します。
$ oc new-project my-application
次のコマンドを実行して、STS ロールを使用するようにデフォルトのサービスアカウントにアノテーションを付けます。
$ oc annotate -n my-application serviceaccount default \ eks.amazonaws.com/role-arn=$ROLE_ARN
次のコマンドを実行して、シークレットにアクセスするためのシークレットプロバイダークラスを作成します。
$ cat << EOF | oc apply -f - apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: my-application-aws-secrets spec: provider: aws parameters: objects: | - objectName: "MySecret" objectType: "secretsmanager" EOF
次のコマンドでシークレットを使用してデプロイメントを作成します。
$ cat << EOF | oc apply -f - apiVersion: v1 kind: Pod metadata: name: my-application labels: app: my-application spec: volumes: - name: secrets-store-inline csi: driver: secrets-store.csi.k8s.io readOnly: true volumeAttributes: secretProviderClass: "my-application-aws-secrets" containers: - name: my-application-deployment image: k8s.gcr.io/e2e-test-images/busybox:1.29 command: - "/bin/sleep" - "10000" volumeMounts: - name: secrets-store-inline mountPath: "/mnt/secrets-store" readOnly: true EOF
次のコマンドを実行して、Pod にシークレットがマウントされていることを確認します。
$ oc exec -it my-application -- cat /mnt/secrets-store/MySecret