IBM Cloud Docs
Adición de rutas estáticas a nodos trabajadores

Adición de rutas estáticas a nodos trabajadores

Cree rutas estáticas en los nodos trabajadores habilitando el complemento de rutas estáticas para clústeres de Red Hat® OpenShift® on IBM Cloud®.

Acerca de las rutas estáticas

Cuando configure la red del clúster para que se comunique con otras redes a través de la red privada, es posible que tenga que añadir rutas estáticas personalizadas en los nodos trabajadores. Las rutas estáticas permiten a los nodos trabajadores redireccionar correctamente paquetes de respuesta procedentes del clúster a una dirección IP del centro de datos local a través de una VPN o un dispositivo de pasarela.

Por ejemplo, puede utilizar una VPN para conectar el clúster a un centro de datos local en la red privada. Además, la conexión de VPN privada conserva la dirección IP de origen en las solicitudes entre el clúster y el centro de datos.

Cuando un servicio local envía una solicitud a una app del clúster, el nodo trabajador en el que está el pod de la app descarta la respuesta debido al filtrado de vía de acceso inversa (RPF). RPF es una característica de kernel de Linux que descarta cualquier respuesta a direcciones IP que no están en la lista de las tablas de direccionamiento del nodo trabajador. La respuesta se descarta porque el nodo trabajador no puede direccionar la dirección IP local que se ha conservado en la solicitud.

En este caso, puede crear una ruta estática para que cuando una dirección IP de origen de una solicitud sea de una de sus subredes locales, la respuesta se envíe a la dirección IP de la pasarela VPN en su lugar. Al añadir esta ruta estática a las tablas de direccionamiento de los nodos trabajadores, se asegura de lo siguiente:

  • Los paquetes de respuesta no se descartan debido a RPF, porque existe una regla de direccionamiento que apunta a la dirección IP local.
  • Los paquetes de respuesta se direccionan correctamente primero a través de la dirección IP de la pasarela de VPN y luego se redireccionan a la dirección IP local.

Se puede utilizar el complemento de clúster de ruta estática para aplicar y gestionar solo rutas estáticas. El usuario es el responsable de la configuración y la gestión de su VPN, su dispositivo de pasarela o su conexión de IBM Cloud® Direct Link.

Habilitación del complemento de ruta estática

Para empezar a trabajar con rutas estáticas en Red Hat OpenShift on IBM Cloud, habilite el complemento de ruta estática.

Antes de empezar

Habilitación del complemento de ruta estática desde la consola

Para usar la consola de IBM Cloud, siga estos pasos.

  1. En el panel de control del clúster, haga clic en el nombre del clúster en el que desea instalar el complemento de ruta estática.
  2. En la tarjeta Ruta estática, pulse Instalar.
  3. Vuelva a pulsar Instalar.
  4. En la tarjeta Ruta estática, verifique que se muestra el complemento.

Habilitación del complemento de ruta estática con la CLI

Para utilizar la CLI, siga estos pasos.

  1. Habilite el complemento static-route.

    ibmcloud oc cluster addon enable static-route --cluster <cluster_name_or_ID>
    
  2. Verifique que el complemento de ruta estática tenga el estado Addon Ready.

    ibmcloud oc cluster addon ls --cluster <cluster_name_or_ID>
    

    Salida de ejemplo

    Name              Version     Health State   Health Status
    static-route      1.0.0       normal         Addon Ready
    

Creación de rutas estáticas

Después de habilitar el complemento de ruta estática, puede crear y aplicar recursos para rutas personalizadas.

  1. Cree un archivo YAML para un recurso de ruta estática.

    apiVersion: static-route.ibm.com/v1
    kind: StaticRoute
    metadata:
      name: <route_name>
    spec:
      subnet: "<subnet_CIDR>"
      gateway: "<gateway_IP>"
      selectors:
        - key: "<label_key>"
          values:
            - "<label_value>"
          operator: In
    

    Ejemplo

    apiVersion: static-route.ibm.com/v1
    kind: StaticRoute
    metadata:
      name: mystaticroute
    spec:
      subnet: "192.168.0.0/24"
      gateway: "10.0.0.1"
      selectors:
        - key: "kubernetes.io/arch"
          values:
            - "amd64"
          operator: In
    
    subnet
    Especifique el CIDR de la subred externa desde la que se envían las solicitudes a los nodos de trabajador, como por ejemplo una subred en una red local. La subred externa no puede estar en los rangos reservados siguientes. El rango de interconexión de dispositivos, 198.18.0.0/15, está permitido.
    • 10.0.0.0/8

    • 172.16.0.0/16

    • 172.18.0.0/16

    • 172.19.0.0/16

    • 172.20.0.0/16

      • 192.168.255.0/24
    gateway
    Si la dirección IP de pasarela existe en la misma subred que los nodos de trabajador, especifique la dirección IP de pasarela. Si la dirección IP de pasarela existe en otra subred de la red privada de IBM Cloud, no incluya este campo. En este caso, los nodos trabajadores envían respuestas al direccionador de fondo de la red privada y el direccionador envía la respuesta a la pasarela de la otra subred. Cuando se crea la ruta estática, la dirección IP del direccionador de fondo del rango 10.0.0.0/8 se asigna automáticamente como pasarela predeterminada.
    selectors
    Para crear la ruta estática solo en determinados nodos trabajadores en función de las etiquetas de los nodos trabajadores, incluya la key y los values para la etiqueta.
  2. Cree las rutas estáticas aplicando el archivo YAML al clúster.

    oc apply -f <route_name>.yaml
    
  3. Verifique que se ha creado la ruta estática. En la salida, compruebe el node_status de cada nodo trabajador donde se haya creado las ruta estática.

    oc get staticroute <route_name> -o yaml
    

    Salida de ejemplo

    apiVersion: static-route.ibm.com/v1
    kind: StaticRoute
    metadata:
        annotations:
          kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"static-route.ibm.com/v1","kind":"StaticRoute","metadata":{"annotations":{},"name":"mystaticroute"},"spec":{"selectors":[{"key":"kubernetes.io/arch","operator":"In","values":["amd64"]}],"subnet":"10.94.227.46/24"}}
    creationTimestamp: "2020-05-20T16:43:12Z"
    finalizers:
    - finalizer.static-route.ibm.com
    generation: 1
    name: mystaticroute
    resourceVersion: "3753886"
    selfLink: /apis/static-route.ibm.com/v1/staticroutes/mystaticroute
    uid: f284359f-9d13-4e27-9d3a-8fb38cbc7a5c
      spec:
        selectors:
        - key: kubernetes.io/arch
          operator: In
          values:
          - amd64
        subnet: 10.94.227.46/24
      status:
        nodeStatus:
        - error: ""
          hostname: 10.94.227.19
          state:
            gateway: 10.94.227.1
            selectors:
            - key: kubernetes.io/arch
              operator: In
              values:
              - amd64
            subnet: 10.94.227.46/24
        - error: ""
          hostname: 10.94.227.22
          state:
            gateway: 10.94.227.1
            selectors:
            - key: kubernetes.io/arch
              operator: In
              values:
              - amd64
            subnet: 10.94.227.46/24