IBM Cloud Docs
¿Por qué falla la conectividad VPN strongSwan después de añadir o suprimir nodos trabajadores?

¿Por qué falla la conectividad VPN strongSwan después de añadir o suprimir nodos trabajadores?

Infraestructura clásica

Ha establecido previamente una conexión VPN activa utilizando el servicio VPN IPSec de strongSwan. Sin embargo, después de haber añadido o suprimido un nodo trabajador en el clúster, aparecen uno o varios de los siguientes síntomas:

  • No tiene un estado de VPN de ESTABLISHED
  • No puede acceder a nuevos nodos de trabajador desde la red local
  • No puede acceder a la red remota desde los pods que se ejecutan en nodos de trabajador nuevos

Si ha añadido un nodo trabajador a una agrupación de nodos trabajadores:

  • El nodo trabajador se ha suministrado en una nueva subred privada que no se expone a través de la conexión VPN existente mediante los valores localSubnetNAT o local.subnet existentes.
  • No se pueden añadir rutas de VPN al nodo de trabajador porque el nodo de trabajador tiene marcas o etiquetas que no están incluidas en los valores de tolerations o nodeSelector existentes.
  • El pod de VPN se ejecuta en el nodo trabajador nuevo, pero la dirección IP pública de dicho nodo trabajador no está permitida por el cortafuegos local.

Si ha suprimido un nodo trabajador:

  • Ese nodo trabajador era el único nodo en el que se estaba ejecutando un pod de VPN, debido a las restricciones en algunas marcas o etiquetas en los valores existentes de tolerations o nodeSelector.

Actualice los valores de diagrama de Helm para reflejar los cambios del nodo trabajador.

  1. Suprima el diagrama de Helm existente.

    helm uninstall <release_name> -n <project>
    
  2. Abra el archivo de configuración para el servicio VPN de strongSwan.

    helm show values iks-charts/strongswan > config.yaml
    
  3. Compruebe los valores siguientes y cambie los valores para reflejar los nodos trabajadores añadidos o suprimidos necesarios.

    Si ha añadido un nodo trabajador: localSubnetNAT : El trabajador añadido puede estar desplegado en una subred privada nueva diferente a las demás subredes existentes en las que se encuentran otros nodos trabajadores. Si utiliza NAT de subred para volver a correlacionar las direcciones IP locales privadas del clúster y el trabajador se añade a una nueva subred, añada el CIDR de la nueva subred a este valor.

    nodeSelector
    Si anteriormente ha limitado el despliegue pods de VPN a los trabajadores con una etiqueta específica, asegúrese de que el nodo trabajador añadido también tiene dicha etiqueta.
    tolerations
    Si ha aplicado una marca en el nodo trabajador añadido, cambie este valor para permitir que el pod de VPN se ejecute en todos los trabajadores con cualquier marca o con marcas específicas.
    local.subnet
    El trabajador añadido puede estar desplegado en una subred privada nueva diferente a las subredes existentes en las que se encuentran otros trabajadores. Si las apps están expuestas por los servicios NodePort o LoadBalancer en la red privada y las apps están en el trabajador añadido, añada el CIDR de la nueva subred a este valor. Si añade valores a local.subnet, compruebe los valores de VPN para la subred local, para ver si también deben actualizarse.

    Si ha suprimido un nodo trabajador:

    localSubnetNAT
    Si utiliza NAT de subred para volver a correlacionar direcciones IP locales privadas específicas, elimine las direcciones IP de esta configuración que pertenezcan al trabajador antiguo. Si utiliza NAT de subred para volver a correlacionar subredes enteras y no quedan trabajadores en una subred, elimine dicho CIDR de subred de este valor. nodeSelector: Si con anterioridad limitó el despliegue de pod de VPN a un trabajador individual y dicho trabajador fue suprimido, cambie este valor para permitir que el pod de VPN se ejecute en otros trabajadores.
    tolerations
    Si no ha aplicado ninguna marca en el trabajador que ha suprimido, y los únicos trabajadores que quedan están marcados, cambie este valor para permitir que todos los pods de VPN se ejecuten en trabajadores con cualquier marca o con marcas específicas.
  4. Instale el nuevo diagrama de Helm con los valores actualizados.

    helm install <release_name> iks-charts/strongswan -f config.yaml
    
  5. Compruebe el estado de despliegue del diagrama. Cuando el diagrama está listo, el campo STATUS, situado cerca de la parte superior de la salida, tiene el valor DEPLOYED.

    helm status <release_name>
    
  6. A veces, es posible que tenga que cambiar los valores locales y los valores de cortafuegos para que coincidan con los cambios realizados en el archivo de configuración de VPN.

  7. Inicie la VPN.

    • Si el clúster inicia la conexión VPN (ipsec.auto se establece en start), inicie la VPN en la pasarela local y luego inicie la VPN en el clúster.
    • Si la pasarela local inicia la conexión VPN (ipsec.auto se establece en auto), inicie la VPN en el clúster y luego inicie la VPN en la pasarela local.
  8. Establezca la variable de entorno STRONGSWAN_POD.

    export STRONGSWAN_POD=$(oc get pod -l app=strongswan,release=<release_name> -o jsonpath='{ .items[0].metadata.name }')
    
  9. Compruebe el estado de la VPN.

    oc exec  $STRONGSWAN_POD -- ipsec status