WireGuard を使用したワーカー間トラフィックの暗号化

クラシック・インフラストラクチャー 仮想プライベートクラウド

WireGuard を使用することで、クラスタ内のワーカーノード間を流れるデータを暗号化することができます。

  • この機能は、同じクラスタ内のワーカーノード間でのみトラフィックを暗号化します。 同じワーカーノード上の異なるポッド間のトラフィックは暗号化しない。
  • WireGuard を使用したワーカー間の暗号化は、 Ubuntu 20 以降 を実行するワーカーを使用する Kubernetes Service クラスターでサポートされます。
  • WireGuard は、ユーザーがインストールした暗号化モジュールを持つワーカーではサポートされない。
  • WireGuard はFIPSまたは FedRAMP に準拠していない。
  • WireGuard の設定を有効にした後は変更できない。 ただし、これを使用不可にすることはできます。

この構成設定の詳細については、 Calico ドキュメントの Enable WireGuard for a cluster を参照してください。

WireGuard 暗号化の有効化

  1. 以下のコマンドを実行して、ワーカー間トラフィックに対して WireGuard を有効にします。

    kubectl patch felixconfiguration default --type='merge' -p '{"spec":{"wireguardEnabled":true}}'
    

    出力例

    felixconfiguration.crd.projectcalico.org/default patched
    
  2. felixconfiguration を確認して、セットアップを検証します。 出力で、 WireGuard セクションを見つけ、 wireguardEnabled: true であることを確認します。

    kubectl get felixconfiguration default -o yaml
    

    出力例

    apiVersion: crd.projectcalico.org/v1
    kind: FelixConfiguration
    metadata:
      annotations:
        created-by: IBMCloudKubernetesService
        projectcalico.org/metadata: '{"uid":"8a21b69b-9ffb-451d-9619-0dd1605810dc","creationTimestamp":"2023-09-13T14:00:15Z"}'
      creationTimestamp: "2023-09-13T14:00:15Z"
      generation: 2
      name: default
      resourceVersion: "24839234"
      uid: ff0c79f3-5548-4db4-a22f-2f367282631d
    spec:
      bpfLogLevel: ""
      floatingIPs: Disabled
      logSeverityScreen: Info
      natPortRange: 32768:65535
      reportingInterval: 0s
      wireguardEnabled: true
    

WireGuard 暗号化の無効化

クラスター内でワーカー間の暗号化が不要になった場合は、 WireGuardを無効にすることができます。

  1. 以下のコマンドを実行して、 WireGuard を無効にする。

    kubectl patch felixconfiguration default --type='merge' -p '{"spec":{"wireguardEnabled":false}}'
    

    出力例

    felixconfiguration.crd.projectcalico.org/default patched
    
  2. WireGuard が無効になっていることを確認します。

    kubectl get felixconfiguration default -o yaml
    

    出力例

    apiVersion: crd.projectcalico.org/v1
    kind: FelixConfiguration
    metadata:
      annotations:
        created-by: IBMCloudKubernetesService
        projectcalico.org/metadata: '{"uid":"8a21b69b-9ffb-451d-9619-0dd1605810dc","creationTimestamp":"2023-09-13T14:00:15Z"}'
      creationTimestamp: "2023-09-13T14:00:15Z"
      generation: 3
      name: default
      resourceVersion: "24839453"
      uid: ff0c79f3-5548-4db4-a22f-2f367282631d
    spec:
      bpfLogLevel: ""
      floatingIPs: Disabled
      logSeverityScreen: Info
      natPortRange: 32768:65535
      reportingInterval: 0s
      wireguardEnabled: false