Concetti di rete per Azure Red Hat OpenShift

Questa guida illustra una panoramica della rete di Azure Red Hat OpenShift nei cluster OpenShift 4, insieme a un diagramma e a un elenco di endpoint importanti. Per altre informazioni sui principali concetti di rete di OpenShift, vedere la documentazione relativa alle funzionalità di rete di Azure Red Hat OpenShift 4.

Diagramma della rete Di Azure Red Hat OpenShift.

Quando si distribuisce Azure Red Hat OpenShift in OpenShift 4, l'intero cluster è contenuto in una rete virtuale. All'interno di questa rete virtuale, i nodi del piano di controllo e i nodi di lavoro vivono nella propria subnet. Ogni subnet usa un servizio di bilanciamento del carico interno e uno pubblico.

Nota

Per informazioni sulle modifiche più recenti introdotte in ARO, vedere Novità di Azure Red Hat OpenShift.

Componenti di rete

Di seguito sono elencati i componenti di rete importanti di un cluster di Azure Red Hat OpenShift.

  • aro-pls

    • Questo endpoint collegamento privato di Azure viene usato dai tecnici di affidabilità del sito Microsoft e Red Hat per gestire il cluster.
  • aro-internal

    • Questo endpoint bilancia il traffico al server API e al traffico del servizio interno. I nodi del piano di controllo e i nodi di lavoro si trovano nel pool back-end.
    • Questo servizio di bilanciamento del carico non viene creato per impostazione predefinita. Viene creato dopo aver creato un servizio di tipo LoadBalancer con le annotazioni corrette. Ad esempio: service.beta.kubernetes.io/azure-load-balancer-internal: "true".
  • aro

    • Questo endpoint viene usato per il traffico pubblico. Quando si crea un'applicazione e una route, questo endpoint è il percorso del traffico in ingresso.
    • Questo endpoint instrada e bilancia il traffico al server API (se l'API è pubblica). Questo endpoint assegna un indirizzo IP in uscita pubblico in modo che i piani di controllo possano accedere ad Azure Resource Manager e segnalare nuovamente l'integrità del cluster.
    • Questo servizio di bilanciamento del carico copre anche la connettività Internet in uscita da qualsiasi pod in esecuzione nei nodi di lavoro tramite Azure Load Balancer regole in uscita.
      • Attualmente le regole in uscita non sono configurabili. Allocano le porte TCP 1.024 a ogni nodo.
      • DisableOutboundSnat non è configurato nelle regole LB, in modo che i pod possano ottenere come indirizzi IP in uscita qualsiasi IP pubblico configurato in questo ALB.
      • Come conseguenza dei due punti precedenti, l'unico modo per aggiungere porte SNAT temporanee consiste nell'aggiungere servizi LoadBalancer pubblici ad ARO.
  • aro-nsg

    • Quando si espone un servizio, l'API crea una regola in questo gruppo di sicurezza di rete in modo che il traffico passi e raggiunga il piano di controllo e i nodi tramite la porta 6443.
    • Per impostazione predefinita, questo gruppo di sicurezza di rete accetta tutto il traffico in uscita. Attualmente il traffico in uscita può essere limitato solo al piano di controllo di Azure Red Hat OpenShift.
  • Registro Azure Container

    • Questo registro contenitori viene fornito e usato internamente da Microsoft. È di sola lettura e non destinata all'uso da parte degli utenti di Azure Red Hat OpenShift.
      • Questo registro fornisce le immagini della piattaforma host e i componenti cluster. Un esempio sono i contenitori di monitoraggio o di registrazione.
      • Le connessioni a questo registro si verificano sull'endpoint di servizio (connettività interna tra i servizi di Azure).
      • Per impostazione predefinita, il Registro di sistema interno non è disponibile all'esterno del cluster.
  • Collegamento privato

    • Un collegamento privato consente la connettività di rete dal piano di gestione a un cluster. Questa operazione viene usata dai tecnici dell'affidabilità del sito Microsoft e Red Hat per gestire il cluster.

Criteri di rete

  • In ingresso: i criteri di rete in ingresso sono supportati come parte di OpenShift SDN. Questi criteri di rete sono abilitati per impostazione predefinita e vengono applicati dagli utenti. Sebbene i criteri di rete in ingresso siano conformi a V1 NetworkPolicy, i tipi di uscita e IPBlock non sono supportati.

  • In uscita: i criteri di rete in uscita sono supportati tramite la funzionalità del firewall in uscita di OpenShift. È disponibile un solo criterio di uscita per spazio dei nomi/progetto. I criteri in uscita non sono supportati nello spazio dei nomi "predefinito" e vengono valutati in ordine (primo all'ultimo).

Nozioni fondamentali sulla rete in OpenShift

OpenShift Software Defined Networking (SDN) si usa per configurare una rete di overlay tramite Open vSwitch (OVS), un'implementazione di OpenFlow basata sulla specifica CNI (Container Network Interface). Il nome SDN supporta plug-in diversi. Criteri di rete è il plug-in usato in Azure Red Hat in OpenShift 4. Tutte le comunicazioni di rete sono gestite da SDN, quindi non sono necessarie route aggiuntive sulle reti virtuali per ottenere la comunicazione da pod a pod.

Rete per Azure Red Hat OpenShift

Le funzionalità di rete seguenti sono specifiche di Azure Red Hat OpenShift:

  • Gli utenti possono creare il cluster Azure Red Hat OpenShift in una rete virtuale esistente o creare una nuova rete virtuale durante la creazione del cluster.
  • I CIDR di rete per pod e servizi sono configurabili.
  • I nodi e i piani di controllo si trovano in subnet diverse.
  • I nodi e le subnet di rete virtuale del piano di controllo devono essere minimi /27.
  • Il POD predefinito CIDR è 10.128.0.0/14.
  • Il servizio predefinito CIDR è 172.30.0.0/16.
  • I CIDR di rete pod e di servizio non devono sovrapporsi ad altri intervalli di indirizzi in uso nella rete. Non devono trovarsi nell'intervallo di indirizzi IP della rete virtuale del cluster.
  • I CID pod devono essere di dimensioni minime /18. La rete pod è ip non instradabili e viene usata solo all'interno del nome SDN openShift.
  • A ogni nodo è allocata una subnet di dimensioni /23 (512 IP) per i pod. Questo valore non può essere modificato.
  • Non è possibile collegare un pod a più reti.
  • Non è possibile configurare un indirizzo IP statico in uscita. Questa restrizione è una funzionalità OpenShift. Per informazioni, vedere Configurazione degli INDIRIZZI IP in uscita.

Impostazioni di rete

Per i cluster Azure Red Hat OpenShift 4 sono disponibili le impostazioni di rete seguenti:

  • API Visibility (Visibilità API): imposta la visibilità dell'API quando si esegue il comando az aro create.
    • "Public" (Pubblica): il server API è accessibile da reti esterne.
    • "Privato" : il server API ha assegnato un INDIRIZZO IP privato dalla subnet del piano di controllo, accessibile solo usando reti connesse (reti virtuali con peering e altre subnet nel cluster).
  • Ingress Visibility (Visibilità in ingresso): imposta la visibilità dell'API quando si esegue il comando az aro create.
    • "Public" route predefinite a un Load Balancer Standard pubblico. Il valore predefinito può essere modificato.
    • "Private" route predefinite a un servizio di bilanciamento del carico interno. Il valore predefinito può essere modificato.

Gruppi di sicurezza di rete

I gruppi di sicurezza di rete vengono creati nel gruppo di risorse del nodo, che è bloccato per gli utenti. I gruppi di sicurezza di rete vengono assegnati direttamente alle subnet, non nelle schede di interfaccia di rete del nodo. I gruppi di sicurezza di rete non sono modificabili. Gli utenti non dispongono delle autorizzazioni per modificarle.

Con un server API visibile pubblicamente, non è possibile creare gruppi di sicurezza di rete e assegnarli alle schede di interfaccia di rete.

Inoltro del dominio

Azure Red Hat OpenShift usa CoreDNS. L'inoltro del dominio può essere configurato. Non è possibile portare il proprio DNS alle reti virtuali. Per altre informazioni, vedere la documentazione sull'uso dell'inoltro DNS.

Passaggi successivi

Per altre informazioni sul traffico in uscita e sulle funzionalità supportate da Azure Red Hat OpenShift per il traffico in uscita, vedere la documentazione sui criteri di supporto.