6.11.2. kubelet の TLS セキュリティープロファイルの設定


kubelet が HTTP サーバーとして動作している場合、KubeletConfig カスタムリソース (CR) を作成して、特定のノードに対して定義済みまたはカスタムの TLS セキュリティープロファイルを指定することで、kubelet の TLS セキュリティープロファイルを設定できます。

TLS セキュリティープロファイルが設定されていない場合は、デフォルトの TLS セキュリティープロファイルである Intermediate が使用されます。

ワーカーノードで Old TLS セキュリティープロファイルを設定する KubeletConfig CR のサンプル

apiVersion: machineconfiguration.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 にログインしている。

手順

  1. KubeletConfig CR を作成し、TLS セキュリティープロファイルを設定します。

    Custom プロファイル用の KubeletConfig CR のサンプル

    apiVersion: machineconfiguration.openshift.io/v1
    kind: KubeletConfig
    metadata:
      name: set-kubelet-tls-security-profile
    spec:
      tlsSecurityProfile:
        type: Custom
        custom:
          ciphers:
          - 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: ""
    #...

    各項目の説明:

    spec.tlsSecurityProfile.type
    TLS セキュリティープロファイルタイプ (OldIntermediate、または Custom) を指定します。デフォルトは Intermediate です。
    spec.tlsSecurityProfile.type.custom

    選択したタイプに適したフィールドを指定します。

    • old: {}
    • intermediate: {}
    • custom:
    spec.tlsSecurityProfile.type.custom
    custom タイプの場合、TLS 暗号スイートのリストと、受け入れ可能な最小 TLS バージョンを指定します。
    spec.machineConfigPoolSelector.matchLabels.custom
    TLS セキュリティープロファイルを適用するノードのマシン設定プールラベルを指定します。このパラメーターは任意です。
  2. KubeletConfig オブジェクトを作成します。

    $ oc create -f <filename>

    クラスター内のワーカーノードの数によっては、設定済みのノードが 1 つずつ再起動されるのを待機します。

検証

プロファイルが設定されていることを確認するには、ノードが Ready になってから以下の手順を実行します。

  1. 設定済みノードのデバッグセッションを開始します。

    $ oc debug node/<node_name>
  2. /host をデバッグシェル内のルートディレクトリーとして設定します。

    sh-4.4# chroot /host
  3. 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",
    #...

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る