봉인된 비밀 - 자체 키 가져오기 및 다중 클러스터 시나리오
6607 단어 kubernetesaddonssecret
자체 키 쌍 사용
❯ kubectl create ns sealed-secrets
❯ export PRIVATEKEY="acmetls.key"
❯ export PUBLICKEY="acmetls.crt"
❯ export NAMESPACE="sealed-secrets"
❯ export SECRETNAME="acme-keys"
# Create key pair
❯ openssl req -x509 -nodes -newkey rsa:4096 -keyout "$PRIVATEKEY" -out "$PUBLICKEY" -subj "/CN=sealed-secret/O=sealed-secret"
Generating a 4096 bit RSA private key
.....++
......++
writing new private key to 'acmetls.key'
-----
❯ ls acme*
acmetls.crt acmetls.key
❯ kubectl create ns sealed-secrets
namespace/sealed-secrets created
# Create secret and label it as "active"
❯ kubectl -n "$NAMESPACE" create secret tls "$SECRETNAME" --cert="$PUBLICKEY" --key="$PRIVATEKEY"
kubectl -n "$NAMESPACE" label secret "$SECRETNAME" sealedsecrets.bitnami.com/sealed-secrets-key=active
secret/acme-keys created
secret/acme-keys labeled
# Install the controller
❯ helm upgrade --install ss-app sealed-secrets/sealed-secrets --namespace=sealed-secrets
# delete existing key
❯ kubectl get pods -n sealed-secrets
NAME READY STATUS RESTARTS AGE
ss-app-sealed-secrets-556c68c858-qq5k6 1/1 Running 0 3m47s
❯ kubectl delete pod ss-app-sealed-secrets-556c68c858-qq5k6 -n sealed-secrets
pod "ss-app-sealed-secrets-556c68c858-qq5k6" deleted
# another instance of the pod will come up with the new "acme-keys"
❯ kubectl logs ss-app-sealed-secrets-556c68c858-gqpwf -n sealed-secrets
2022/04/25 13:02:01 Starting sealed-secrets controller version: 0.17.4
controller version: 0.17.4
2022/04/25 13:02:01 Searching for existing private keys
2022/04/25 13:02:02 ----- sealed-secrets-key5nhjv
2022/04/25 13:02:02 ----- sealed-secrets-key98m56
2022/04/25 13:02:02 ----- sealed-secrets-keyztj4v
2022/04/25 13:02:02 ----- acme-keys
2022/04/25 13:02:02 HTTP server serving on :8080
❯ kubectl create secret generic secret-name --dry-run=client --from-literal=foo=bar -o yaml | kubeseal --controller-name=ss-app-sealed-secrets --controller-namespace=sealed-secrets -o yaml --cert=$PUBLICKEY | kubectl apply -f -
sealedsecret.bitnami.com/secret-name created
❯ kubectl logs ss-app-sealed-secrets-556c68c858-gqpwf -n sealed-secrets | tail -2
2022/04/25 13:08:07 Updating default/secret-name
2022/04/25 13:08:07 Event(v1.ObjectReference{Kind:"SealedSecret", Namespace:"default", Name:"secret-name", UID:"c9ee00ac-c974-43f7-9b7d-16cda1b516ff", APIVersion:"bitnami.com/v1alpha1", ResourceVersion:"57973", FieldPath:""}): type: 'Normal' reason: 'Unsealed' SealedSecret unsealed successfully
❯ kubectl get sealedsecrets.bitnami.com
NAME AGE
secret-name 47s
❯ kubectl get secrets secret-name
NAME TYPE DATA AGE
secret-name Opaque 1 57s
봉인된 비밀 컨트롤러를 생성하는 동안 비밀 회전 간격을 가지고 놀기
--key-renew-period=<value>
(배포의 경우)--set=keyrenewperiod=<value>
사용참고:
keyrenewperiod=0
는 키 회전을 중지합니다. 보기에는 쉬운 솔루션이지만 프로덕션 사용 사례에서는 권장되지 않습니다.
Reference
이 문제에 관하여(봉인된 비밀 - 자체 키 가져오기 및 다중 클러스터 시나리오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ashokan/sealed-secrets-bring-your-own-keys-and-multi-cluster-scenario-1ee8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)