12.5. kubelet の TLS セキュリティープロファイルの設定
HTTP サーバーとしての動作時に kubelet の TLS セキュリティープロファイルを設定するには、KubeletConfig
カスタムリソース (CR) を作成して特定のノード用に事前定義済みの TLS セキュリティープロファイルまたはカスタム TLS セキュリティープロファイルを指定します。TLS セキュリティープロファイルが設定されていない場合には、TLS セキュリティープロファイルは Intermediate
になります。
kubelet はその HTTP/GRPC サーバーを使用して Kubernetes API サーバーと通信し、コマンドを Pod に送信して kubelet 経由で Pod で exec コマンドを実行します。
ワーカーノードで Old
TLS セキュリティープロファイルを設定する KubeletConfig
CR のサンプル
apiVersion: config.openshift.io/v1 kind: KubeletConfig ... spec: tlsSecurityProfile: old: {} type: Old machineConfigPoolSelector: matchLabels: pools.operator.machineconfiguration.openshift.io/worker: "" #...
設定済みのノードの kubelet.conf
ファイルで、設定済みの TLS セキュリティープロファイルの暗号化および最小 TLS セキュリティープロファイルを確認できます。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform にログインしている。
手順
KubeletConfig
CR を作成し、TLS セキュリティープロファイルを設定します。カスタム
プロファイルのKubeletConfig
CR のサンプルapiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: set-kubelet-tls-security-profile spec: tlsSecurityProfile: type: Custom 1 custom: 2 ciphers: 3 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 machineConfigPoolSelector: matchLabels: pools.operator.machineconfiguration.openshift.io/worker: "" 4 #...
KubeletConfig
オブジェクトを作成します。$ oc create -f <filename>
クラスター内のワーカーノードの数によっては、設定済みのノードが 1 つずつ再起動されるのを待機します。
検証
プロファイルが設定されていることを確認するには、ノードが Ready
になってから以下の手順を実行します。
設定済みノードのデバッグセッションを開始します。
$ oc debug node/<node_name>
/host
をデバッグシェル内のルートディレクトリーとして設定します。sh-4.4# chroot /host
kubelet.conf
ファイルを表示します。sh-4.4# cat /etc/kubernetes/kubelet.conf
出力例
"kind": "KubeletConfiguration", "apiVersion": "kubelet.config.k8s.io/v1beta1", #... "tlsCipherSuites": [ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256" ], "tlsMinVersion": "VersionTLS12", #...