Kubernetesシークレット
Kubernetesシークレットリソースは、トークン、パスワード、証明書、および最新のコンピューティングにおけるその他のシークレットへのアクセスを保護、保存、および制御します。Kubernetesシークレット拡張機能は、パイプラインにKubernetesシークレットへのアクセスを提供します。
インストール
- 共有シークレットキーを作成します。
$ openssl rand -hex 16
bea26a2221fd8090ea38720fc445eca6
- 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 - Droneランナーの構成を更新して、拡張アドレスと共有シクレットキーを含めます。
DRONE_SECRET_PLUGIN_ENDPOINT=http://...:3000
DRONE_SECRET_PLUGIN_TOKEN=bea26a2221fd8090ea38720fc445eca6
検証
コマンドラインユーティリティを使用して、拡張機能が構成され、要求を処理していることを確認できます。
- コマンドラインユーティリティに拡張エンドポイントとシークレットキーを提供します。
$ export DRONE_SECRET_ENDPOINT=http://...:3000
$ export DRONE_SECRET_SECRET=bea26a2221fd8090ea38720fc445eca6
- コマンドラインユーティリティを使用して、既存のシークレットを取得します。
$ drone plugins secret get docker username