Cifrado del tráfico de trabajador a trabajador con WireGuard

Infraestructura clásica Nube privada virtual

Puede cifrar los datos que fluyen entre los nodos de trabajo de su clúster utilizando WireGuard.

  • Esta función encripta el tráfico sólo entre nodos trabajadores del mismo clúster. No encripta el tráfico entre diferentes pods en el mismo nodo trabajador.
  • El cifrado de trabajador a trabajador con WireGuard está soportado en clústeres de Kubernetes Service con trabajadores que ejecutan Ubuntu 20 o posterior.
  • WireGuard no es compatible con los trabajadores que tienen módulos de cifrado instalados por el usuario.
  • WireGuard no es compatible con FIPS ni con FedRAMP.
  • No se puede cambiar la configuración de WireGuard después de activarla. Sin embargo, puede inhabilitarlo.

Para obtener más información sobre este ajuste de configuración, consulte Activar WireGuard para un clúster en la documentación de Calico.

Habilitación del cifrado de WireGuard

  1. Ejecute el mandato siguiente para habilitar WireGuard para el tráfico de trabajador a trabajador.

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

    Salida de ejemplo

    felixconfiguration.crd.projectcalico.org/default patched
    
  2. Verifique la configuración revisando el felixconfiguration. En la salida, busque la sección WireGuard y verifique que wireguardEnabled: true.

    kubectl get felixconfiguration default -o yaml
    

    Salida de ejemplo

    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
    

Inhabilitación del cifrado de WireGuard

Si ya no necesita el cifrado de trabajador a trabajador en el clúster, puede inhabilitar WireGuard.

  1. Ejecute el siguiente comando para desactivar WireGuard.

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

    Salida de ejemplo

    felixconfiguration.crd.projectcalico.org/default patched
    
  2. Verifique que WireGuard esté inhabilitado.

    kubectl get felixconfiguration default -o yaml
    

    Salida de ejemplo

    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