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
- Vérifiez que vous disposez du rôle d'accès à la plateforme IAM Administrateur pour le cluster dans IBM Cloud Kubernetes Service.
- Accédez à votre cluster Red Hat OpenShift.
Activation du module complémentaire Route statique depuis la console
Pour utiliser la console IBM Cloud , procédez comme suit.
- 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.
- Sur la carte Route statique, cliquez sur Installer.
- Cliquez à nouveau sur Installer.
- 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.
-
Activez l'additif
static-route
.ibmcloud oc cluster addon enable static-route --cluster <cluster_name_or_ID>
-
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.
-
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
etvalues
pour le libellé.
-
Créez les routes statiques en appliquant le fichier YAML à votre cluster.
oc apply -f <route_name>.yaml
-
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