Förutsättningar för att distribuera klientarbetsbelastningar
I den här guiden beskrivs förutsättningar för att skapa:
- Virtuella datorer (VM) för virtuella nätverksfunktionsarbetsbelastningar (VNF).
- Nexus Kubernetes-klusterdistributioner för arbetsbelastningar med molnbaserad nätverksfunktion (CNF).
Nätverkskrav
Du måste skapa olika nätverk baserat på dina arbetsbelastningsbehov. Följande lista över överväganden är inte fullständig. Kontakta lämpliga supportteam om du behöver hjälp.
- Fastställa vilka typer av nätverk som du behöver för att stödja dina arbetsbelastningar:
- Ett layer 3-nätverk (L3) kräver en VLAN- och undernätstilldelning. Undernätet måste vara tillräckligt stort för att stöda IP-tilldelning till var och en av de virtuella datorerna. Plattformen reserverar de tre första användbara IP-adresserna för internt bruk. För att till exempel stödja sex virtuella datorer är den minsta CIDR för ditt undernät /28 (14 användbara adresser – 3 reserverade = 11 tillgängliga adresser).
- Ett layer 2-nätverk (L2) kräver bara en enda VLAN-tilldelning.
- Ett trunkerat nätverk kräver tilldelning av flera VLAN.
- Avgör hur många nätverk av varje typ du behöver.
- Fastställ MTU-storleken för vart och ett av dina nätverk (max är 9 000).
- Fastställ BGP-peeringinformationen för varje nätverk och om nätverken behöver prata med varandra. Du bör gruppera nätverk som behöver prata med varandra i samma L3-isoleringsdomän, eftersom varje L3-isoleringsdomän kan stödja flera L3-nätverk.
- Plattformen tillhandahåller en proxy som gör att den virtuella datorn kan nå andra externa slutpunkter. För att skapa en
cloudservicesnetwork
instans måste slutpunkterna vara proxierade, så samla in listan över slutpunkter. Du kan ändra listan över slutpunkter när nätverket har skapats.
Skapa isoleringsdomäner
Isoleringsdomänerna möjliggör kommunikation mellan arbetsbelastningar i samma rack (kommunikation mellan rack) eller olika rack (kommunikation mellan rack). Mer information om hur du skapar isoleringsdomäner finns här.
Skapa nätverk för klientarbetsbelastningar
I följande avsnitt beskrivs hur du skapar dessa nätverk:
- Layer 2-nätverk
- Layer 3-nätverk
- Trunkerat nätverk
Skapa ett L2-nätverk
Skapa ett L2-nätverk om det behövs för dina arbetsbelastningar. Du kan upprepa instruktionerna för varje obligatoriskt L2-nätverk.
Samla in resurs-ID:t för den L2-isoleringsdomän som du skapade för att konfigurera VLAN för det här nätverket.
az networkcloud l2network create --name "<YourL2NetworkName>" \
--resource-group "<YourResourceGroupName>" \
--subscription "<YourSubscription>" \
--extended-location name="<ClusterCustomLocationId>" type="CustomLocation" \
--location "<ClusterAzureRegion>" \
--l2-isolation-domain-id "<YourL2IsolationDomainId>"
Skapa ett L3-nätverk
Skapa ett L3-nätverk om det behövs för dina arbetsbelastningar. Upprepa anvisningarna för varje obligatoriskt L3-nätverk.
Du måste:
- Värdet
resourceID
för den L3-isoleringsdomän som du skapade för att konfigurera VLAN för det här nätverket. - Värdet
ipv4-connected-prefix
, som måste matchai-pv4-connected-prefix
värdet som finns i L3-isoleringsdomänen. - Värdet
ipv6-connected-prefix
, som måste matchai-pv6-connected-prefix
värdet som finns i L3-isoleringsdomänen. - Värdet
ip-allocation-type
, som kan varaIPv4
,IPv6
ellerDualStack
(standard). - Värdet
vlan
, som måste matcha vad som finns i L3-isoleringsdomänen.
az networkcloud l3network create --name "<YourL3NetworkName>" \
--resource-group "<YourResourceGroupName>" \
--subscription "<YourSubscription>" \
--extended-location name="<ClusterCustomLocationId>" type="CustomLocation" \
--location "<ClusterAzureRegion>" \
--ip-allocation-type "<YourNetworkIpAllocation>" \
--ipv4-connected-prefix "<YourNetworkIpv4Prefix>" \
--ipv6-connected-prefix "<YourNetworkIpv6Prefix>" \
--l3-isolation-domain-id "<YourL3IsolationDomainId>" \
--vlan <YourNetworkVlan>
Skapa ett trunkerat nätverk
Skapa ett trunkerat nätverk om det behövs för den virtuella datorn. Upprepa anvisningarna för varje obligatoriskt trunkerat nätverk.
Samla in värdena för resourceId
de L2- och L3-isoleringsdomäner som du skapade tidigare för att konfigurera VLAN för det här nätverket. Du kan inkludera så många L2- och L3-isoleringsdomäner som behövs.
az networkcloud trunkednetwork create --name "<YourTrunkedNetworkName>" \
--resource-group "<YourResourceGroupName>" \
--subscription "<YourSubscription>" \
--extended-location name="<ClusterCustomLocationId>" type="CustomLocation" \
--location "<ClusterAzureRegion>" \
--interface-name "<YourNetworkInterfaceName>" \
--isolation-domain-ids \
"<YourL3IsolationDomainId1>" \
"<YourL3IsolationDomainId2>" \
"<YourL2IsolationDomainId1>" \
"<YourL2IsolationDomainId2>" \
"<YourL3IsolationDomainId3>" \
--vlans <YourVlanList>
Skapa ett molntjänstnätverk
Om du vill skapa en virtuell Operator Nexus-dator (VM) eller Ett Nexus Kubernetes-kluster för operatören måste du ha ett nätverk för molntjänster. Utan det här nätverket kan du inte skapa en virtuell dator eller ett kluster.
Molntjänstnätverket ger automatiskt åtkomst till viktiga plattformsslutpunkter, men du måste lägga till andra, till exempel docker.io, om programmet kräver dem. Att konfigurera molntjänstnätverksproxyn är ett viktigt steg för att säkerställa en lyckad anslutning till önskade slutpunkter. För att uppnå detta kan du lägga till utgående slutpunkter i molntjänstnätverket när du först skapade eller som en uppdatering med hjälp av parametern --additional-egress-endpoints
. Jokertecken för URL-slutpunkterna kan verka praktiska, men det rekommenderas inte av säkerhetsskäl. Om du till exempel vill konfigurera proxyn för att tillåta avbildningshämtning från valfri lagringsplats som finns utanför docker.io kan du ange .docker.io
som en slutpunkt.
Utgående slutpunkter måste uppfylla de domännamnsstrukturer och värdnamnsspecifikationer som beskrivs i RFC 1034, RFC 1035 och RFC 1123. Giltiga domännamn innehåller alfanumeriska tecken, bindestreck (inte i början eller slutet) och kan ha underdomäner avgränsade med punkter. Slutpunkterna kan vara ett enda FQDN eller en underdomän (domänprefix med )..
Här följer några exempel för att demonstrera kompatibla namngivningskonventioner för domäner och värdnamn.
contoso.com
: Basdomänen som fungerar som en domän på andra nivån under den .com toppnivådomänen.sales.contoso.com
: En underdomän för contoso.com som fungerar som en domän på tredje nivån under .com toppnivådomän.web-server-1.contoso.com
: Ett värdnamn för en specifik webbserver med bindestreck för att avgränsa orden och siffran.api.v1.contoso.com
: Innehåller två underdomäner (v1
ochapi
) ovanför basdomänen contoso.com..api.contoso.com
: Ett jokertecken för alla underdomäner underapi.contoso.com
, som täcker flera domäner på tredje nivån.
az networkcloud cloudservicesnetwork create --name "<YourCloudServicesNetworkName>" \
--resource-group "<YourResourceGroupName >" \
--subscription "<YourSubscription>" \
--extended-location name="<ClusterCustomLocationId >" type="CustomLocation" \
--location "<ClusterAzureRegion>" \
--additional-egress-endpoints "[{\"category\":\"<YourCategory >\",\"endpoints\":[{\"<domainName1 >\":\"< endpoint1 >\",\"port\":<portnumber1 >}]}]"
När du har konfigurerat nätverket för molntjänster kan du använda det för att skapa en virtuell dator eller ett kluster som kan ansluta till de utgående slutpunkter som du har angett. Kom ihåg att proxyn bara fungerar med HTTPS.
Kommentar
Kontrollera att VNF-avbildningen kan hämtas korrekt genom att se till att ACR-URL:en finns i listan över tillåtna utgående molntjänster som du ska använda med den virtuella Operator Nexus-datorn.
Om din ACR har dedikerade dataslutpunkter aktiverade måste du dessutom lägga till alla nya dataslutpunkter i listan över tillåtna utgående data. Om du vill hitta alla möjliga slutpunkter för din ACR följer du anvisningarna här.
Använd proxyn för att nå utanför den virtuella datorn
När du har skapat den virtuella operatören Nexus VM eller Operator Nexus Kubernetes-klustret med det här molntjänstnätverket måste du dessutom ange lämpliga miljövariabler i den virtuella datorn för att använda klientproxy och nå utanför den virtuella datorn. Den här klientproxyn är användbar om du behöver komma åt resurser utanför den virtuella datorn, till exempel hantera paket eller installera programvara.
Om du vill använda proxyn måste du ange följande miljövariabler:
export HTTPS_PROXY=http://169.254.0.11:3128
export https_proxy=http://169.254.0.11:3128
När du har angett variablerna för proxymiljön kan den virtuella datorn nå de konfigurerade utgående slutpunkterna.
Kommentar
HTTP stöds inte på grund av säkerhetsskäl när proxyn används för att komma åt resurser utanför den virtuella datorn. Det är nödvändigt att använda HTTPS för säker kommunikation när du hanterar paket eller installerar programvara på den virtuella datorn Operator Nexus eller Operator Nexus Kubernetes-klustret med det här molntjänstnätverket.
Viktigt!
När du använder en proxy är det också viktigt att ange no_proxy
miljövariabeln korrekt. Den här variabeln kan användas för att ange domäner eller IP-adresser som inte ska nås via proxyn. Om den inte har angetts korrekt kan det orsaka problem vid åtkomst till tjänster, till exempel Kubernetes API-servern eller klustrets IP-adress. Se till att inkludera IP-adressen eller domännamnet för Kubernetes API-servern och eventuella kluster-IP-adresser i variabeln no_proxy
.
Nexus Kubernetes-klustertillgänglighetszon
När du skapar ett Nexus Kubernetes-kluster kan du schemalägga klustret till specifika rack eller distribuera det över flera rack. Den här tekniken kan förbättra resursanvändningen och feltoleransen.
Om du inte anger en zon när du skapar ett Nexus Kubernetes-kluster implementerar Azure Operator Nexus-plattformen automatiskt en standardregel för antitillhörighet för att sprida den virtuella datorn över rack och noder utan operativsystem och garanteras inte. Den här regeln syftar också till att förhindra schemaläggning av den virtuella klusterdatorn på en nod som redan har en virtuell dator från samma kluster, men det är en metod som passar bäst och inte kan ge garantier.
Om du vill hämta listan över tillgängliga zoner i Azure Operator Nexus-instansen kan du använda följande kommando:
az networkcloud cluster show \
--resource-group <Azure Operator Nexus on-premises cluster resource group> \
--name <Azure Operator Nexus on-premises cluster name> \
--query computeRackDefinitions[*].availabilityZone