Kubernetesシークレット

Updated 2 years ago by Admin

Kubernetesシークレットリソースは、トークン、パスワード、証明書、および最新のコンピューティングにおけるその他のシークレットへのアクセスを保護、保存、および制御します。Kubernetesシークレット拡張機能は、パイプラインにKubernetesシークレットへのアクセスを提供します。


インストール

  1. 共有シークレットキーを作成します。
    $ openssl rand -hex 16
    bea26a2221fd8090ea38720fc445eca6

  1. Kubernetesランナーと同じポッドにシークレットエクステンションをデプロイします。このマニフェストは説明のみを目的としており、そのまま使用することを意図したものではありません。
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: drone
    labels:
    app.kubernetes.io/name: drone
    spec:
    replicas: 1
    template:
    spec:
    containers:
    - name: secrets
    image: drone/kubernetes-secrets:latest
    ports:
    - containerPort: 3000
    env:
    - name: SECRET_KEY
    value: bea26a2221fd8090ea38720fc445eca6
  2. Droneランナーの構成を更新して、拡張アドレスと共有シクレットキーを含めます。
    DRONE_SECRET_PLUGIN_ENDPOINT=http://...:3000
    DRONE_SECRET_PLUGIN_TOKEN=bea26a2221fd8090ea38720fc445eca6


検証

コマンドラインユーティリティを使用して、拡張機能が構成され、要求を処理していることを確認できます。

  1. コマンドラインユーティリティに拡張エンドポイントとシークレットキーを提供します。
    $ export DRONE_SECRET_ENDPOINT=http://...:3000
    $ export DRONE_SECRET_SECRET=bea26a2221fd8090ea38720fc445eca6

  1. コマンドラインユーティリティを使用して、既存のシークレットを取得します。
    $ drone plugins secret get docker username


How did we do?