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:
- Du kan distribuera nödvändiga Azure-infrastrukturkomponenter manuellt och sedan följa dokumentationen för OpenShift Container Platform.
- Du kan också använda en befintlig Resource Manager mall som förenklar distributionen av OpenShift Container Platform-klustret.
- Ett annat alternativ är att använda erbjudandet Azure Marketplace.
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 nipio använder routingSubDomain nip.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