Condividi tramite


Concetti di rete per Azure Red Hat OpenShift

Questa guida offre una panoramica delle funzionalità di rete di Azure Red Hat OpenShift sui cluster OpenShift 4, oltre 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 dellla rete di Azure Red Hat OpenShift.

Quando si distribuisce Azure Red Hat OpenShift su OpenShift 4, l'intero cluster è contenuto in una rete virtuale. All'interno di questa rete virtuale, i nodi piano di controllo e i nodi di lavoro si trovano ognuno 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 di collegamento privato di Azure viene usato dai tecnici responsabili dell'affidabilità dei siti Microsoft e Red Hat per gestire il cluster.
  • aro-internal

    • Questo endpoint bilancia il traffico verso il server API e il 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 quando si crea 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.
    • Inoltre, l'endpoint instrada e bilancia il carico del traffico verso il server API (se pubblica). L'endpoint assegna un IP in uscita pubblico che consente ai piani di controllo di accedere ad Azure Resource Manager e restituire report sull'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 le regole in uscita di Azure Load Balancer.
      • Attualmente le regole in uscita non sono configurabili. Allocano le porte TCP 1.024 a ogni nodo.
      • DisableOutboundSnat non è configurato nelle regole di bilanciamento del carico, quindi i pod potrebbero ottenere come IP in uscita qualsiasi IP pubblico configurato in questo servizio Azure Load Balancer.
      • 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 attraversi 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 è fornito e usato da Microsoft internamente. È di sola lettura e non è destinato 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, questo registro interno non è disponibile all'esterno del cluster.
  • Collegamento privato

    • Un collegamento privato consente la connettività di rete dal piano di gestione a un cluster. Viene usato dai tecnici responsabili dell'affidabilità dei siti 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. Anche se i criteri di rete in ingresso sono conformi a NetworkPolicy v1, i tipi Egress e IPBlock non sono supportati.

  • In uscita: i criteri di rete in uscita sono supportati tramite la funzionalità del firewall in uscita di OpenShift. Esiste un solo criterio in ingresso per ogni spazio dei nomi/progetto. I criteri in ingresso non sono supportati nello spazio dei nomi "predefinito" e vengono valutati nell'ordine, dal 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). L'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 della rete virtuale del piano di controllo devono essere minimo /27.
  • Il CIDR pod predefinito è 10.128.0.0/14.
  • Il CIDR del servizio predefinito è 172.30.0.0/16.
  • I CIDR di rete dei pod e dei servizi non devono sovrapporsi ad altri intervalli di indirizzi in uso nella rete. Non devono essere compresi nell'intervallo di indirizzi IP della rete virtuale del cluster.
  • I CIDR pod devono avere dimensioni minime /18. (La rete pod è indirizzi IP non instradabili e viene usata solo all'interno dell'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.
  • Per i cluster ARO privati che usano il plug-in di rete OVN-Kubernetes, è possibile configurare gli indirizzi IP in uscita. Per informazioni, vedere Configurazione di un indirizzo 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.
    • "Privata": al server API è assegnato un IP privato dalla subnet piano di controllo, accessibile solo tramite reti connesse (reti virtuali con peering, altre subnet nel cluster).
  • Ingress Visibility (Visibilità in ingresso): imposta la visibilità dell'API quando si esegue il comando az aro create.
    • Le route "Pubbliche" per impostazione predefinita sono un'istanza pubblica di Load Balancer Standard. (Il valore predefinito può essere modificato.)
    • Le route "Private" per impostazione predefinita sono 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 hanno le 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 usare il DNS personale nelle 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.