12.2. etcd 암호화 활성화
etcd 암호화를 활성화하여 클러스터에서 중요한 리소스를 암호화할 수 있습니다.
초기 암호화 프로세스가 완료될 때까지 etcd의 백업을 수행하지 않는 것이 좋습니다. 암호화 프로세스가 완료되지 않은 경우 백업은 부분적으로만 암호화될 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
APIServer
오브젝트를 수정합니다.$ oc edit apiserver
암호화
필드 유형을aescbc
로 설정합니다.spec: encryption: type: aescbc 1
- 1
aescbc
유형은 PKCS# 7 패딩 및 32바이트 키가 있는 AES-CBC가 암호화를 수행하는 데 사용됨을 나타냅니다.
파일을 저장하여 변경 사항을 적용합니다.
암호화 프로세스가 시작됩니다. 클러스터 크기에 따라 이 프로세스를 완료하는 데 20분 이상 걸릴 수 있습니다.
etcd 암호화에 성공했는지 확인합니다.
OpenShift API 서버의
Encrypted
상태 조건을 검토하여 해당 리소스가 성공적으로 암호화되었는지 확인합니다.$ oc get openshiftapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
암호화에 성공하면 출력에
EncryptionCompleted
가 표시됩니다.EncryptionCompleted All resources encrypted: routes.route.openshift.io
출력에
EncryptionInProgress
가 표시되는 경우에도 암호화는 계속 진행 중입니다. 몇 분 기다린 후 다시 시도합니다.쿠버네티스 API 서버의
Encrypted
상태 조건을 검토하여 해당 리소스가 성공적으로 암호화되었는지 확인합니다.$ oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
암호화에 성공하면 출력에
EncryptionCompleted
가 표시됩니다.EncryptionCompleted All resources encrypted: secrets, configmaps
출력에
EncryptionInProgress
가 표시되는 경우에도 암호화는 계속 진행 중입니다. 몇 분 기다린 후 다시 시도합니다.OpenShift OAuth API 서버의
Encrypted
상태 조건을 검토하여 해당 리소스가 성공적으로 암호화되었는지 확인합니다.$ oc get authentication.operator.openshift.io -o=jsonpath='{range .items[0].status.conditions[?(@.type=="Encrypted")]}{.reason}{"\n"}{.message}{"\n"}'
암호화에 성공하면 출력에
EncryptionCompleted
가 표시됩니다.EncryptionCompleted All resources encrypted: oauthaccesstokens.oauth.openshift.io, oauthauthorizetokens.oauth.openshift.io
출력에
EncryptionInProgress
가 표시되는 경우에도 암호화는 계속 진행 중입니다. 몇 분 기다린 후 다시 시도합니다.