メインコンテンツまでスキップ

Sealed Secretsをインストールする

kubeseal CLIはシールドシークレットコントローラとやり取りするために使用され、あなたのIDE内にすでにインストールされています。

最初に行うことは、EKSクラスターにシールドシークレットコントローラをインストールすることです:

~$kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.18.0/controller.yaml
~$kubectl wait --for=condition=Ready --timeout=30s \
pods -l name=sealed-secrets-controller -n kube-system

次にポッドのステータスを確認します

~$kubectl get pods -n kube-system -l name=sealed-secrets-controller
sealed-secrets-controller-77747c4b8c-snsxp      1/1     Running   0          5s

シールドシークレットコントローラのログには、起動時に既存のプライベートキーを探そうとしていることが示されています。プライベートキーが見つからない場合は、証明書の詳細を含む新しいシークレットを作成します。

~$kubectl logs deployments/sealed-secrets-controller -n kube-system
controller version: 0.18.0
2022/10/18 09:17:01 Starting sealed-secrets controller version: 0.18.0
2022/10/18 09:17:01 Searching for existing private keys
2022/10/18 09:17:02 New key written to kube-system/sealed-secrets-keyvkl9w
2022/10/18 09:17:02 Certificate is
-----BEGIN CERTIFICATE-----
MIIEzTCCArWgAwIBAgIRAPsk+UrW9GlPu4gXN1qKqGswDQYJKoZIhvcNAQELBQAw
ADAeFw0yMjEwMTgwOTE3MDJaFw0zMjEwMTUwOTE3MDJaMAAwggIiMA0GCSqGSIb3
(...)
q5P11EvxPBfIt9xDx5Jz4JWp5M7wWawGaeBqTmTDbSkc
-----END CERTIFICATE-----
 
2022/10/18 09:17:02 HTTP server serving on :8080

YAML形式のパブリック/プライベートキーペアとしてシーリングキーを含むSecretの内容は次のように確認できます:

~$kubectl get secret -n kube-system \
-l sealedsecrets.bitnami.com/sealed-secrets-key -o yaml
apiVersion: v1
items:
- apiVersion: v1
  data:
    tls.crt: LS0tL(...)LQo=
    tls.key: LS0tL(...)LS0K
  kind: Secret
  metadata:
    creationTimestamp: "2022-10-18T09:17:02Z"
    generateName: sealed-secrets-key
    labels:
      sealedsecrets.bitnami.com/sealed-secrets-key: active
    name: sealed-secrets-keyvkl9w
    namespace: kube-system
    resourceVersion: "129381"
    uid: 23f5e70c-2537-4c38-a85c-b410f1dcf9a6
  type: kubernetes.io/tls
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""