Netwerkconcepten voor Azure Red Hat OpenShift

Deze handleiding bevat een overzicht van Azure Red Hat OpenShift-netwerken op OpenShift 4-clusters, samen met een diagram en een lijst met belangrijke eindpunten. Zie de Azure Red Hat OpenShift 4-netwerkdocumentatie (Engelstalig) voor meer informatie over de basisconcepten van OpenShift-netwerken.

Diagram van Azure Red Hat OpenShift-netwerken.

Wanneer u Azure Red Hat OpenShift op OpenShift 4 implementeert, bevindt uw hele cluster zich in een virtueel netwerk. Binnen dit virtuele netwerk bevinden uw besturingsvlakknooppunten en werkknooppunten zich elk in een eigen subnet. Elk subnet maakt gebruik van een interne load balancer en een openbare load balancer.

Notitie

Zie Wat is er nieuw in Azure Red Hat OpenShift voor informatie over de meest recente wijzigingen die zijn geïntroduceerd in ARO.

Netwerkonderdelen

De volgende lijst bevat belangrijke netwerkonderdelen in een Azure Red Hat OpenShift-cluster.

  • aro-pls

    • Dit Azure Private Link-eindpunt wordt gebruikt door microsoft- en Red Hat-site-betrouwbaarheidstechnici om het cluster te beheren.
  • aro-internal

    • Dit eindpunt balanceert verkeer naar de API-server en het interne serviceverkeer. Besturingsvlakknooppunten en werkknooppunten bevinden zich in de back-endpool.
    • Deze load balancer wordt niet standaard gemaakt. Deze wordt gemaakt zodra u een service van het type LoadBalancer met de juiste aantekeningen maakt. Bijvoorbeeld: service.beta.kubernetes.io/azure-load-balancer-internal: "true".
  • aro

    • Dit eindpunt wordt gebruikt voor openbaar verkeer. Wanneer u een toepassing en een route maakt, is dit eindpunt het pad voor inkomend verkeer.
    • Dit eindpunt routeert en balanceert ook verkeer naar de API-server (als de API openbaar is). Met dit eindpunt wordt een openbaar uitgaand IP-adres toegewezen, zodat besturingsvlakken toegang hebben tot Azure Resource Manager en kunnen rapporteren over de clusterstatus.
    • Deze load balancer dekt ook uitgaande internetverbinding vanaf elke pod die wordt uitgevoerd in de werkknooppunten via Azure Load Balancer uitgaande regels.
      • Momenteel kunnen uitgaande regels niet worden geconfigureerd. Ze wijzen aan elk knooppunt 1024 TCP-poorten toe.
      • DisableOutboundSnat is niet geconfigureerd in de LB-regels, zodat pods elk openbaar IP-adres kunnen krijgen dat is geconfigureerd in deze ALB.
      • Het gevolg van de twee vorige punten is dat de enige manier om tijdelijke SNAT-poorten toe te kunnen voegen, bestaat uit het toevoegen van openbare services van het type LoadBalancer aan ARO.
  • aro-nsg

    • Wanneer u een service beschikbaar maakt, maakt de API een regel in deze netwerkbeveiligingsgroep, zodat het verkeer doorloopt en het besturingsvlak en de knooppunten bereikt via poort 6443.
    • Deze netwerkbeveiligingsgroep staat standaard al het uitgaande verkeer toe. Op dit moment kan uitgaand verkeer alleen worden beperkt tot het besturingsvlak van Azure Red Hat OpenShift.
  • Azure Container Registry

    • Dit containerregister wordt intern door Microsoft geleverd en gebruikt. Het is alleen-lezen en niet bedoeld voor gebruik door Azure Red Hat OpenShift-gebruikers.
      • Dit register bevat platforminstallatiekopieën van de host en clusteronderdelen. Bijvoorbeeld containers voor bewaking of logboekregistratie.
      • Verbindingen met dit register vinden plaats via het service-eindpunt (interne connectiviteit tussen Azure-services).
      • Dit interne register is standaard niet beschikbaar buiten het cluster.
  • Private Link

    • Een Private Link maakt netwerkconnectiviteit mogelijk vanaf het beheervlak naar een cluster. Dit wordt gebruikt door microsoft- en Red Hat-site-betrouwbaarheidstechnici om uw cluster te beheren.

Netwerkbeleid

  • Inkomend verkeer: Het beleid voor inkomend verkeer wordt ondersteund als onderdeel van OpenShift SDN. Dit netwerkbeleid is standaard ingeschakeld en het afdwingen ervan wordt door gebruikers uitgevoerd. Hoewel het netwerkbeleid voor inkomend verkeer compatibel is met V1 NetworkPolicy, worden de typen Egress en IPBlock niet ondersteund.

  • Uitgaand verkeer: Beleidsregels voor uitgaand verkeer worden ondersteund door gebruik te maken van de firewallfunctie voor uitgaand verkeer in OpenShift. Er is slechts één uitgaand beleid per naamruimte/project. Uitgaand beleid wordt niet ondersteund in de standaardnaamruimte en wordt op volgorde geëvalueerd (van eerste naar laatste).

Basisprincipes van netwerken in OpenShift

OpenShift Software Defined Networking (SDN) wordt gebruikt voor het configureren van een overlay-netwerk met behulp van Open vSwitch (OVS), een OpenFlow-implementatie op basis van de Container Network Interface-specificatie (CNI). De SDN ondersteunt verschillende invoegtoepassingen. Netwerkbeleid is de invoegtoepassing die wordt gebruikt in Azure Red Hat op OpenShift 4. Alle netwerkcommunicatie wordt beheerd door de SDN, dus er zijn geen extra routes nodig in uw virtuele netwerken om communicatie tussen pods te bewerkstelligen.

Netwerken voor Azure Red Hat OpenShift

De volgende netwerkfuncties zijn specifiek voor Azure Red Hat OpenShift:

  • Gebruikers kunnen hun Azure Red Hat OpenShift-cluster maken in een bestaand virtueel netwerk of een nieuw virtueel netwerk maken bij het maken van hun cluster.
  • CIDR's voor pods en servicenetwerken kunnen worden geconfigureerd.
  • Knooppunten en besturingsvlakken bevinden zich in verschillende subnetten.
  • Knooppunten en virtuele netwerksubnetten van het besturingsvlak moeten minimaal /27 zijn.
  • De standaard pod-CIDR is 10.128.0.0/14.
  • De standaardservice-CIDR is 172.30.0.0/16.
  • Pod- en servicenetwerk-CIDR's mogen niet overlappen met andere adresbereiken die in uw netwerk worden gebruikt. Ze mogen zich niet binnen het IP-adresbereik van het virtuele netwerk van uw cluster bevinden.
  • Pod-CDR's moeten minimaal /18 groot zijn. (Het podnetwerk is niet-routeerbare IP-adressen en wordt alleen gebruikt binnen de OpenShift SDN.)
  • Aan elk knooppunt wordt een /23-subnet (512 IP's) voor de pods toegewezen. Deze waarde kan niet worden gewijzigd.
  • U kunt een pod niet koppelen aan meerdere netwerken.
  • U kunt geen statisch IP-adres voor uitgaand verkeer configureren. (Deze beperking is een OpenShift-functie. Zie IP-adressen voor uitgaand verkeer configureren voor meer informatie.

Netwerkinstellingen

De volgende netwerkinstellingen zijn beschikbaar in Azure Red Hat OpenShift 4-clusters:

  • API-zichtbaarheid: stel de API-zichtbaarheid in wanneer u de opdracht az aro create uitvoert.
    • 'Openbaar': API-server is toegankelijk voor externe netwerken.
    • Privé: API Server heeft een privé-IP-adres toegewezen vanuit het subnet van het besturingsvlak, dat alleen toegankelijk is via verbonden netwerken (gekoppelde virtuele netwerken en andere subnetten in het cluster).
  • Zichtbaarheid van inkomend verkeer: stel de API-zichtbaarheid in wanneer u de opdracht az aro create uitvoert.
    • Openbare routes zijn standaard ingesteld op een openbare Standard Load Balancer. (De standaardwaarde kan worden gewijzigd.)
    • Privéroutes zijn standaard ingesteld op een interne load balancer. (De standaardwaarde kan worden gewijzigd.)

Netwerkbeveiligingsgroepen

Netwerkbeveiligingsgroepen worden gemaakt in de resourcegroep van het knooppunt; deze is vergrendeld voor gebruikers. De netwerkbeveiligingsgroepen worden rechtstreeks toegewezen aan de subnetten, niet aan de NIC's van het knooppunt. De netwerkbeveiligingsgroepen zijn onveranderbaar. Gebruikers hebben niet de machtigingen om ze te wijzigen.

Met een openbaar zichtbare API-server kunt u geen netwerkbeveiligingsgroepen maken en deze toewijzen aan de NIC's.

Doorsturen van domeinen

Azure Red Hat OpenShift gebruikt CoreDNS. Doorsturen van domeinen kan worden geconfigureerd. U kunt uw eigen DNS niet meenemen naar uw virtuele netwerken. Zie de documentatie over het gebruik van DNS doorsturen (Engelstalig) voor meer informatie.

Volgende stappen

Zie de documentatie over ondersteuningsbeleid voor meer informatie over uitgaand verkeer en wat Azure Red Hat OpenShift ondersteunt voor uitgaand verkeer.