Distribuera OpenShift Container Platform 3.11 i Azure

Gäller för: ✔️ Virtuella Linux-datorer ✔️ – flexibla skalningsuppsättningar

Du kan använda någon av flera metoder för att distribuera OpenShift Container Platform 3.11 i Azure:

För alla alternativ krävs en Red Hat-prenumeration. Under distributionen registreras Red Hat Enterprise Linux-instansen till Red Hat-prenumerationen och kopplas till pool-ID:t som innehåller rättigheterna för OpenShift Container Platform. Kontrollera att du har ett giltigt användarnamn, lösenord och pool-ID för Red Hat Subscription Manager (RHSM). Du kan använda en aktiveringsnyckel, ett organisations-ID och ett pool-ID. Du kan verifiera den här informationen genom att https://access.redhat.comlogga in på .

Distribuera med hjälp av mallen OpenShift Container Platform Resource Manager 3.11

Privata kluster

Distribution av privata OpenShift-kluster kräver mer än att bara inte ha en offentlig IP-adress kopplad till lastbalanseraren (webbkonsolen) eller till lastbalanseraren för infrastruktur (routern). Ett privat kluster använder vanligtvis en anpassad DNS-server (inte standard-Azure DNS), ett anpassat domännamn (till exempel contoso.com) och fördefinierade virtuella nätverk. För privata kluster måste du konfigurera ditt virtuella nätverk med alla lämpliga undernät och DNS-serverinställningar i förväg. Använd sedan existingMasterSubnetReference, existingInfraSubnetReference, existingCnsSubnetReference och existingNodeSubnetReference för att ange det befintliga undernätet som ska användas av klustret.

Om privat huvudserver har valts (masterClusterType=private) måste en statisk privat IP anges för masterPrivateClusterIp. Den här IP-adressen tilldelas till huvudlastbalanserarens klientdel. IP-adressen måste finnas i CIDR för huvudundernätet och inte användas. masterClusterDnsType måste anges till "custom" och huvud-DNS-namnet måste anges för masterClusterDns. DNS-namnet måste mappas till den statiska privata IP-adressen och används för att komma åt konsolen på huvudnoderna.

Om privat router väljs (routerClusterType=private) måste en statisk privat IP anges för routerPrivateClusterIp. Den här IP-adressen tilldelas till klientdelen av lastbalanseraren för infra. IP-adressen måste ligga inom CIDR för infra-undernätet och inte användas. routingSubDomainType måste vara inställt på "custom" och DNS-namnet med jokertecken för routning måste anges för routingSubDomain.

Om privata huvudservrar och privat router har valts måste det anpassade domännamnet också anges för domainName

Efter en lyckad distribution är Bastion-noden den enda noden med en offentlig IP-adress som du kan använda ssh till. Även om huvudnoderna har konfigurerats för offentlig åtkomst exponeras de inte för ssh-åtkomst.

Om du vill distribuera med hjälp av mallen Resource Manager använder du en parameterfil för att ange indataparametrarna. Om du vill anpassa distributionen ytterligare förgrenar du GitHub-lagringsplatsen och ändrar lämpliga objekt.

Några vanliga anpassningsalternativ är, men är inte begränsade till:

  • Storleken på den virtuella Bastion-datorn (variabel i azuredeploy.json)
  • Namngivningskonventioner (variabler i azuredeploy.json)
  • OpenShift-klusterinformation, ändrad via värdfil (deployOpenShift.sh)

Konfigurera parameterfilen

OpenShift Container Platform-mallen har flera grenar tillgängliga för olika versioner av OpenShift Container Platform. Baserat på dina behov kan du distribuera direkt från lagringsplatsen eller så kan du förgrena lagringsplatsen och göra anpassade ändringar i mallarna eller skripten innan du distribuerar.

appId Använd värdet från tjänstens huvudnamn som du skapade tidigare för parametern aadClientId .

I följande exempel visas en parameterfil med namnet azuredeploy.parameters.json med alla nödvändiga indata.

{
	"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
		"_artifactsLocation": {
			"value": "https://raw.githubusercontent.com/Microsoft/openshift-container-platform/master"
		},
		"location": {
			"value": "eastus"
		},
		"masterVmSize": {
			"value": "Standard_E2s_v3"
		},
		"infraVmSize": {
			"value": "Standard_D4s_v3"
		},
		"nodeVmSize": {
			"value": "Standard_D4s_v3"
		},
		"cnsVmSize": {
			"value": "Standard_E4s_v3"
		},
		"osImageType": {
			"value": "defaultgallery"
		},
		"marketplaceOsImage": {
			"value": {
				"publisher": "RedHat",
				"offer": "RHEL",
				"sku": "7-RAW",
				"version": "latest"
			}
		},
		"storageKind": {
			"value": "changeme"
		},
		"openshiftClusterPrefix": {
			"value": "changeme"
		},
		"minorVersion": {
			"value": "69"
		},
		"masterInstanceCount": {
			"value": 3
		},
		"infraInstanceCount": {
			"value": 3
		},
		"nodeInstanceCount": {
			"value": 3
		},
		"cnsInstanceCount": {
			"value": 3
		},
		"osDiskSize": {
			"value": 64
		},
		"dataDiskSize": {
			"value": 64
		},
		"cnsGlusterDiskSize": {
			"value": 128
		},
		"adminUsername": {
			"value": "changeme"
		},
		"enableMetrics": {
			"value": "false"
		},
		"enableLogging": {
			"value": "false"
		},
		"enableCNS": {
			"value": "false"
		},
		"rhsmUsernameOrOrgId": {
			"value": "changeme"
		},
		"rhsmPoolId": {
			"value": "changeme"
		},
		"rhsmBrokerPoolId": {
			"value": "changeme"
		},
		"sshPublicKey": {
			"value": "GEN-SSH-PUB-KEY"
		},
		"keyVaultSubscriptionId": {
			"value": "255a325e-8276-4ada-af8f-33af5658eb34"
		},
		"keyVaultResourceGroup": {
			"value": "changeme"
		},
		"keyVaultName": {
			"value": "changeme"
		},
		"enableAzure": {
			"value": "true"
		},
		"aadClientId": {
			"value": "changeme"
		},
		"domainName": {
			"value": "contoso.com"
		},
		"masterClusterDnsType": {
			"value": "default"
		},
		"masterClusterDns": {
			"value": "console.contoso.com"
		},
		"routingSubDomainType": {
			"value": "nipio"
		},
		"routingSubDomain": {
			"value": "apps.contoso.com"
		},
		"virtualNetworkNewOrExisting": {
			"value": "new"
		},
		"virtualNetworkName": {
			"value": "changeme"
		},
		"addressPrefixes": {
			"value": "10.0.0.0/14"
		},
		"masterSubnetName": {
			"value": "changeme"
		},
		"masterSubnetPrefix": {
			"value": "10.1.0.0/16"
		},
		"infraSubnetName": {
			"value": "changeme"
		},
		"infraSubnetPrefix": {
			"value": "10.2.0.0/16"
		},
		"nodeSubnetName": {
			"value": "changeme"
		},
		"nodeSubnetPrefix": {
			"value": "10.3.0.0/16"
		},
		"existingMasterSubnetReference": {
			"value": "/subscriptions/abc686f6-963b-4e64-bff4-99dc369ab1cd/resourceGroups/vnetresourcegroup/providers/Microsoft.Network/virtualNetworks/openshiftvnet/subnets/mastersubnet"
		},
		"existingInfraSubnetReference": {
			"value": "/subscriptions/abc686f6-963b-4e64-bff4-99dc369ab1cd/resourceGroups/vnetresourcegroup/providers/Microsoft.Network/virtualNetworks/openshiftvnet/subnets/infrasubnet"
		},
		"existingCnsSubnetReference": {
			"value": "/subscriptions/abc686f6-963b-4e64-bff4-99dc369ab1cd/resourceGroups/vnetresourcegroup/providers/Microsoft.Network/virtualNetworks/openshiftvnet/subnets/cnssubnet"
		},
		"existingNodeSubnetReference": {
			"value": "/subscriptions/abc686f6-963b-4e64-bff4-99dc369ab1cd/resourceGroups/vnetresourcegroup/providers/Microsoft.Network/virtualNetworks/openshiftvnet/subnets/nodesubnet"
		},
		"masterClusterType": {
			"value": "public"
		},
		"masterPrivateClusterIp": {
			"value": "10.1.0.200"
		},
		"routerClusterType": {
			"value": "public"
		},
		"routerPrivateClusterIp": {
			"value": "10.2.0.200"
		},
		"routingCertType": {
			"value": "selfsigned"
		},
		"masterCertType": {
			"value": "selfsigned"
		}
	}
}

Ersätt parametrarna med din specifika information.

Olika versioner kan ha olika parametrar, så kontrollera de nödvändiga parametrarna för den gren som du använder.

azuredeploy. Parameter.json-fil förklarad

Egenskap Beskrivning Giltiga alternativ Standardvärde
_artifactsLocation URL för artefakter (json, skript osv.) https://raw.githubusercontent.com/Microsoft/openshift-container-platform/master
location Azure-region att distribuera resurser till
masterVmSize Storleken på den virtuella huvuddatorn. Välj någon av de tillåtna VM-storlekarna som anges i filen azuredeploy.json Standard_E2s_v3
infraVmSize Storleken på den virtuella Infra-datorn. Välj någon av de tillåtna VM-storlekarna som anges i filen azuredeploy.json Standard_D4s_v3
nodeVmSize Storleken på den virtuella datorn App Node. Välj någon av de tillåtna VM-storlekarna som anges i filen azuredeploy.json Standard_D4s_v3
cnsVmSize Storleken på den virtuella datorn för containerinbyggt lagringsutrymme (CNS). Välj någon av de tillåtna VM-storlekarna som anges i filen azuredeploy.json Standard_E4s_v3
osImageType DEN RHEL-avbildning som ska användas. defaultgallery: On-Demand; marketplace: avbildning från tredje part defaultgallery
marketplace
defaultgallery
marketplaceOsImage Om osImageType är Marketplace anger du lämpliga värden för "utgivare", "erbjudande", "sku", "version" av Marketplace-erbjudandet. Den här parametern är en objekttyp
storageKind Den typ av lagring som ska användas Hanterade
Ohanterad
Hanterade
openshiftClusterPrefix Klusterprefix som används för att konfigurera värdnamn för alla noder. Mellan 1 och 20 tecken mycluster
minoVersion Delversionen av OpenShift Container Platform 3.11 som ska distribueras 69
masterInstanceCount Antal huvudnoder som ska distribueras 1, 3, 5 3
infraInstanceCount Antal infranoder som ska distribueras 1, 2, 3 3
nodeInstanceCount Antal noder som ska distribueras 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 2
cnsInstanceCount Antal CNS-noder som ska distribueras 3, 4 3
osDiskSize Storleken på OS-disken för den virtuella datorn (i GB) 64, 128, 256, 512, 1024, 2048 64
dataDiskSize Storleken på datadisken som ska anslutas till noder för Docker-volymen (i GB) 32, 64, 128, 256, 512, 1024, 2048 64
cnsGlusterDiskSize Storleken på datadisken som ska anslutas till CNS-noder för användning av glusterfs (i GB 32, 64, 128, 256, 512, 1024, 2048 128
adminUsername Admin användarnamn för både OS-inloggning (VM) och första OpenShift-användare ocpadmin
enableMetrics Aktivera mått. Mått kräver fler resurser, så välj rätt storlek för virtuell Infra-dator true
falskt
falskt
enableLogging Aktivera loggning. elasticsearch pod kräver 8 GB RAM så välj rätt storlek för virtuell Infra-dator true
falskt
falskt
enableCNS Aktivera inbyggd containerlagring true
falskt
falskt
rhsmUsernameOrOrgId Användarnamn eller organisations-ID för Red Hat-prenumerationshanteraren
rhsmPoolId Red Hat Subscription Manager-pool-ID:t som innehåller dina OpenShift-rättigheter för beräkningsnoder
rhsmBrokerPoolId Red Hat Subscription Manager-pool-ID:t som innehåller dina OpenShift-rättigheter för huvudservrar och infranoder. Om du inte har olika pool-ID anger du samma pool-ID som rhsmPoolId
sshPublicKey Kopiera din offentliga SSH-nyckel här
keyVaultSubscriptionId Prenumerations-ID för den prenumeration som innehåller Key Vault
keyVaultResourceGroup Namnet på resursgruppen som innehåller Key Vault
keyVaultName Namnet på Key Vault du skapade
enableAzure Aktivera Azure Cloud Provider true
falskt
true
aadClientId Azure Active Directory-klient-ID kallas även program-ID för tjänstens huvudnamn
domainName Namnet på det anpassade domännamn som ska användas (om tillämpligt). Ange till "none" om du inte distribuerar ett helt privat kluster inget
masterClusterDnsType Domäntyp för OpenShift-webbkonsolen. "default" använder DNS-etikett för den offentliga IP-adressen för huvudinfrastrukturen. Med "anpassad" kan du definiera ditt eget namn standard
anpassad
standard
masterClusterDns Det anpassade DNS-namnet som ska användas för att få åtkomst till OpenShift-webbkonsolen om du har valt "anpassad" för masterClusterDnsType console.contoso.com
routingSubDomainType Om anges till nipioanvänder routingSubDomainnip.io. Använd "anpassad" om du har en egen domän som du vill använda för routning nipio
anpassad
nipio
routingSubDomain Det DNS-namn med jokertecken som du vill använda för routning om du har valt "anpassad" för routingSubDomainType apps.contoso.com
virtualNetworkNewOrExisting Välj om du vill använda en befintlig Virtual Network eller skapa en ny Virtual Network befintligt
ny
ny
virtualNetworkResourceGroupName Namnet på resursgruppen för den nya Virtual Network om du har valt "ny" förvirtualNetworkNewOrExisting resourceGroup().name
virtualNetworkName Namnet på den nya Virtual Network att skapa om du har valt "ny" förvirtualNetworkNewOrExisting openshiftvnet
addressPrefixes Adressprefix för det nya virtuella nätverket 10.0.0.0/14
masterSubnetName Namnet på huvudundernätet mastersubnet
masterSubnetPrefix CIDR som används för huvudundernätet – måste vara en delmängd av addressPrefix 10.1.0.0/16
infraSubnetName Namnet på infra-undernätet infrasubnet
infraSubnetPrefix CIDR som används för infra-undernätet – måste vara en delmängd av addressPrefix 10.2.0.0/16
nodeSubnetName Namnet på nodundernätet nodesubnet
nodeSubnetPrefix CIDR som används för nodundernätet – måste vara en delmängd av addressPrefix 10.3.0.0/16
existingMasterSubnetReference Fullständig referens till befintligt undernät för huvudnoder. Behövs inte om du skapar ett nytt virtuellt nätverk/undernät
existingInfraSubnetReference Fullständig referens till befintligt undernät för infranoder. Behövs inte om du skapar ett nytt virtuellt nätverk/undernät
existingCnsSubnetReference Fullständig referens till befintligt undernät för CNS-noder. Behövs inte om du skapar ett nytt virtuellt nätverk/undernät
existingNodeSubnetReference Fullständig referens till befintligt undernät för beräkningsnoder. Behövs inte om du skapar ett nytt virtuellt nätverk/undernät
masterClusterType Ange om klustret använder privata eller offentliga huvudnoder. Om privat väljs exponeras inte huvudnoderna för Internet via en offentlig IP-adress. I stället använder den privata IP-adressen som anges i masterPrivateClusterIp offentligt
privat
offentligt
masterPrivateClusterIp Om privata huvudnoder väljs måste en privat IP-adress anges för användning av den interna lastbalanseraren för huvudnoder. Den här statiska IP-adressen måste finnas i CIDR-blocket för huvudundernätet och inte redan används. Om offentliga huvudnoder har valts används inte det här värdet, men det måste fortfarande anges 10.1.0.200
routerClusterType Ange om klustret använder privata eller offentliga infranoder. Om privat väljs exponeras inte infranoderna för Internet via en offentlig IP-adress. I stället använder den privata IP-adressen som anges i routerPrivateClusterIp offentligt
privat
offentligt
routerPrivateClusterIp Om privata infranoder väljs måste en privat IP-adress anges för användning av den interna lastbalanseraren för infranoder. Den här statiska IP-adressen måste finnas i CIDR-blocket för infra-undernätet och inte redan används. Om offentliga infranoder har valts används inte det här värdet men måste fortfarande anges 10.2.0.200
routingCertType Använd anpassat certifikat för routningsdomänen eller det självsignerade standardcertifikatet – följ anvisningarna i avsnittet Anpassade certifikat självsignerad
anpassad
självsignerad
masterCertType Använd anpassat certifikat för huvuddomänen eller det självsignerade standardcertifikatet – följ anvisningarna i avsnittet Anpassade certifikat självsignerad
anpassad
självsignerad

Distribuera med Azure CLI

Anteckning

Följande kommando kräver Azure CLI 2.0.8 eller senare. Du kan verifiera CLI-versionen med az --version kommandot . Information om hur du uppdaterar CLI-versionen finns i Installera Azure CLI.

I följande exempel distribueras OpenShift-klustret och alla relaterade resurser till en resursgrupp med namnet openshiftrg, med distributionsnamnet myOpenShiftCluster. Mallen refereras direkt från GitHub-lagringsplatsen och en lokal parameterfil med namnet azuredeploy.parameters.json används.

az deployment group create -g openshiftrg --name myOpenShiftCluster \
      --template-uri https://raw.githubusercontent.com/Microsoft/openshift-container-platform/master/azuredeploy.json \
      --parameters @./azuredeploy.parameters.json

Distributionen tar minst 60 minuter att slutföra, baserat på det totala antalet distribuerade noder och de konfigurerade alternativen. Bastion DNS FQDN och URL:en för OpenShift-konsolen skrivs ut till terminalen när distributionen är klar.

{
  "Bastion DNS FQDN": "bastiondns4hawllzaavu6g.eastus.cloudapp.azure.com",
  "OpenShift Console URL": "http://openshiftlb.eastus.cloudapp.azure.com/console"
}

Om du inte vill binda upp kommandoraden som väntar på att distributionen ska slutföras lägger du till --no-wait som ett av alternativen för gruppdistributionen. Utdata från distributionen kan hämtas från Azure Portal i distributionsavsnittet för resursgruppen.

Ansluta till OpenShift-klustret

När distributionen är klar hämtar du anslutningen från utdataavsnittet i distributionen. Anslut till OpenShift-konsolen med webbläsaren med hjälp av URL:en för OpenShift-konsolen. Du kan också SSH till Bastion-värden. Följande är ett exempel där administratörsanvändarnamnet är clusteradmin och den offentliga IP-FQDN:n för skyddsadressen är bastiondns4hawllzaavu6g.eastus.cloudapp.azure.com:

$ ssh clusteradmin@bastiondns4hawllzaavu6g.eastus.cloudapp.azure.com

Rensa resurser

Använd kommandot az group delete för att ta bort resursgruppen, OpenShift-klustret och alla relaterade resurser när de inte längre behövs.

az group delete --name openshiftrg

Nästa steg