15.3. etcd 暗号化の有効化
etcd 暗号化を有効にして、クラスターで機密性の高いリソースを暗号化できます。
初期暗号化プロセスが完了するまで、etcd リソースをバックアップしないでください。暗号化プロセスが完了しない場合、バックアップは一部のみ暗号化される可能性があります。
etcd 暗号化を有効にすると、いくつかの変更が発生する可能性があります。
- etcd 暗号化は、いくつかのリソースのメモリー消費に影響を与える可能性があります。
- リーダーがバックアップを提供する必要があるため、バックアップのパフォーマンスに一時的な影響が生じる場合があります。
- ディスク I/O は、バックアップ状態を受け取るノードに影響を与える可能性があります。
etcd データベースは、AES-GCM または AES-CBC 暗号化で暗号化できます。
etcd データベースをある暗号化タイプから別の暗号化タイプに移行するには、API サーバーの spec.encryption.type
フィールドを変更します。etcd データの新しい暗号化タイプへの移行は自動的に行われます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
APIServer
オブジェクトを変更します。$ oc edit apiserver
spec.encryption.type
フィールドをaesgcm
またはaescbc
に設定します。spec: encryption: type: aesgcm 1
- 1
- AES-CBC 暗号化の場合は
aescbc
に、AES-GCM 暗号化の場合はaesgcm
に設定します。
変更を適用するためにファイルを保存します。
暗号化プロセスが開始されます。etcd データベースのサイズによっては、このプロセスが完了するまでに 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
が表示される場合、これは暗号化が進行中であることを意味します。数分待機した後に再試行します。Kubernetes 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
が表示される場合、これは暗号化が進行中であることを意味します。数分待機した後に再試行します。