IBM Cloud Docs
Ajout de routes statiques aux noeuds worker

Ajout de routes statiques aux noeuds worker

Créez des routes statiques sur vos noeuds worker en activant le module complémentaire Routes statiques pour les clusters Red Hat® OpenShift® on IBM Cloud®.

A propos des routes statiques

Lorsque vous configurez votre réseau de cluster pour communiquer avec d'autres réseaux sur le réseau privé, vous pouvez être amené à ajouter des routes statiques personnalisées sur vos noeuds worker. Les routes statiques permettent aux noeuds worker de réacheminer des paquets de réponses depuis votre cluster vers une adresse IP dans un centre de données sur site via un VPN ou un dispositif de passerelle.

Par exemple, vous pouvez utiliser un VPN pour connecter votre cluster à un centre de données sur site via le réseau privé. En outre, votre connexion VPN privée conserve l'adresse IP source dans les demandes entre le cluster et le centre de données.

Lorsqu'un service sur site envoie une demande à une application dans votre cluster, le noeud worker sur lequel se trouve votre pod supprime la réponse en raison du filtrage de chemin inverse (RPF). RPF est une fonction de noyau Linux qui supprime les réponses vers les adresses IP non répertoriées dans les tables de routage du noeud worker. La réponse est supprimée car l'adresse IP sur site qui a été conservée dans la demande n'est pas routable par le noeud worker.

Dans ce cas, vous pouvez créer une route statique de sorte que lorsque l'adresse IP source d'une requête provient de l'un de vos sous-réseaux sur site, la réponse est envoyée à l'adresse IP de la passerelle VPN. Ajouter cette route statique aux tables de routage des noeuds worker permet de garantir ce qui suit :

  • Les paquets de réponses ne sont pas supprimés à cause de la fonction RPF, car il existe une règle de routage pointant vers l'adresse IP sur site.
  • Les paquets de réponses sont correctement acheminés via l'adresse IP de la passerelle VPN, puis réacheminés vers votre adresse IP sur site.

Le module complémentaire de cluster Route statique peut être utilisé uniquement pour appliquer et gérer des routes statiques. Il vous incombe de configurer et de gérer votre propre VPN, dispositif de passerelle ou connexion IBM Cloud® Direct Link.

Activation du module complémentaire Route statique

Pour commencer à utiliser des routes statiques dans Red Hat OpenShift on IBM Cloud, activez le module complémentaire Route statique.

Avant de commencer

Activation du module complémentaire Route statique depuis la console

Pour utiliser la console IBM Cloud , procédez comme suit.

  1. Dans le tableau de bord de votre cluster, cliquez sur le nom du cluster dans lequel vous souhaitez installer le module complémentaire de route statique.
  2. Sur la carte Route statique, cliquez sur Installer.
  3. Cliquez à nouveau sur Installer.
  4. Sur la carte Route statique, vérifiez que le module complémentaire est répertorié.

Activation du module complémentaire Route statique avec l'interface CLI

Pour utiliser l'interface de ligne de commande, procédez comme suit.

  1. Activez l'additif static-route.

    ibmcloud oc cluster addon enable static-route --cluster <cluster_name_or_ID>
    
  2. Vérifiez que le statut du module complémentaire Route statique est Addon Ready.

    ibmcloud oc cluster addon ls --cluster <cluster_name_or_ID>
    

    Exemple de sortie

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

Création de routes statiques

Après avoir activé le module complémentaire Route statique, vous pouvez créer et appliquer des ressources pour des routes personnalisées.

  1. Créez un fichier YAML pour une ressource de route statique.

    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
    

    Example

    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
    Indiquez le routage CIDR du sous-réseau externe à partir duquel les demandes envoyées aux nœuds worker sont envoyées, par exemple un sous-réseau dans un réseau sur site. Le sous-réseau externe ne peut pas se trouver dans les plages réservées suivantes. La plage d'interconnexion d'unités, 198.18.0.0/15, est autorisée.
    • 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 votre adresse IP de passerelle existe sur le même sous-réseau que vos nœuds worker, indiquez l'adresse IP de la passerelle. Si votre adresse IP de passerelle existe sur un autre sous-réseau de votre réseau privé IBM Cloud , n'incluez pas cette zone. Dans ce cas, les noeuds worker envoient des réponses au routeur de back end du réseau privé et le routeur envoie la réponse à la passerelle sur l'autre sous-réseau. Lorsque la route statique est créée, l'adresse IP du routeur de back end incluse dans la plage 10.0.0.0/8 est automatiquement affectée comme passerelle par défaut.
    selectors
    Pour créer la route statique sur certains noeuds worker uniquement en fonction des libellés de noeud worker, incluez key et values pour le libellé.
  2. Créez les routes statiques en appliquant le fichier YAML à votre cluster.

    oc apply -f <route_name>.yaml
    
  3. Vérifiez que la route statique est créée. Dans la sortie, vérifiez la valeur node_status pour chaque noeud worker sur lequel vous créez la route statique.

    oc get staticroute <route_name> -o yaml
    

    Exemple de sortie

    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