Distribuera OpenShift Container Platform 3.11 i Azure
Gäller för: ✔️ Virtuella Linux-datorer ✔️ Flexibla skalningsuppsättningar
Du kan använda en av flera metoder för att distribuera OpenShift Container Platform 3.11 i Azure:
- Du kan distribuera de nödvändiga Azure-infrastrukturkomponenterna manuellt och sedan följa dokumentationen för OpenShift Container Platform.
- Du kan också använda en Resource Manager mall som förenklar distributionen av OpenShift Container Platform-klustret.
- Ett annat alternativ är att använda Azure Marketplace-erbjudandet.
För alla alternativ krävs en Red Hat-prenumeration. Under distributionen registreras Red Hat Enterprise Linux red Hat-prenumerationen och kopplas till pool-ID:t som innehåller rättigheter 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, organisations-ID och pool-ID. Du kan verifiera den här informationen genom att logga in på https://access.redhat.com .
Distribuera med mallen OpenShift Container Platform Resource Manager 3.11
Privata kluster
Att distribuera privata OpenShift-kluster kräver mer än att inte bara ha en offentlig IP-adress kopplad till huvudlastbalanseraren (webbkonsolen) eller till den infrastrukturbaserade lastbalanseraren (routern). Ett privat kluster använder vanligtvis en anpassad DNS-server (inte standarddomänen Azure DNS), ett anpassat domännamn (till exempel contoso.com) och fördefinierade virtuella nätverk. För privata kluster måste du konfigurera det virtuella nätverket 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 huvudadress har valts (masterClusterType=private) måste en statisk privat IP-adress anges för masterPrivateClusterIp. Den här IP-adressen tilldelas till huvudlastbalanserarens framsida. IP-adressen måste vara inom 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 få åtkomst till konsolen på huvudnoderna.
Om den privata routern är vald (routerClusterType=private) måste en statisk privat IP-adress anges för routerPrivateClusterIp. Den här IP-adressen tilldelas till frontend för den infra-lastbalanserare. IP-adressen måste vara inom CIDR för undernätet infra och inte användas. routingSubDomainType måste vara inställt på "custom" och jokertecknet DNS-namn för routning måste anges för routingSubDomain.
Om privata master 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 ssh till. Även om huvudnoderna har konfigurerats för offentlig åtkomst, exponeras de inte för ssh-åtkomst.
Om du vill distribuera Resource Manager mallen använder du en parameterfil för att ange indataparametrarna. Om du vill anpassa distributionen ytterligare GitHub lagringsplatsen och ändra lämpliga objekt.
Några vanliga anpassningsalternativ är, men är inte begränsade till:
- Storlek på skydds-VM (variabel i azuredeploy.json)
- Namngivningskonventioner (variabler i azuredeploy.json)
- OpenShift-klusterspecifik information, ändrad via värdfil (deployOpenShift.sh)
Konfigurera parameterfilen
Mallen OpenShift Container Platform 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örföra lagringsplatsen och göra anpassade ändringar i mallarna eller skripten innan du distribuerar.
Använd värdet appId från tjänstens huvudnamn som du skapade tidigare för aadClientId parametern .
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-filen förklaras
| 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 för 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 infradatorn. 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 med appnoden. 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 Storage (CNS)-nod. 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 är marketplace anger du lämpliga värden för osImageType "utgivare", "erbjudande", "sku", "version" av Marketplace-erbjudandet. Den här parametern är en objekttyp |
||
storageKind |
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 |
Den lägre versionen av OpenShift Container Platform 3.11 som ska distribueras | 69 | |
masterInstanceCount |
Antal masternoder som ska distribueras | 1, 3, 5 | 3 |
infraInstanceCount |
Antal infrastrukturnoder 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-volym (i GB) | 32, 64, 128, 256, 512, 1024, 2048 | 64 |
cnsGlusterDiskSize |
Storleken på datadisken som ska anslutas till CNS-noder för användning avsterfs (i GB | 32, 64, 128, 256, 512, 1024, 2048 | 128 |
adminUsername |
Administratörsanvändarnamn för både OS-inloggning (VM) och den första OpenShift-användaren | ocpadmin | |
enableMetrics |
Aktivera mått. Mått kräver fler resurser, så välj rätt storlek för den virtuella Infra-datorn | true falskt |
falskt |
enableLogging |
Aktivera loggning. elasticsearch pod kräver 8 GB RAM-minne, så välj rätt storlek för den virtuella infradatorn | true falskt |
falskt |
enableCNS |
Aktivera intern container-Storage | true falskt |
falskt |
rhsmUsernameOrOrgId |
Red Hat Subscription Manager användarnamn eller organisations-ID | ||
rhsmPoolId |
Pool-ID:t för Red Hat Subscription Manager som innehåller dina OpenShift-rättigheter för beräkningsnoder | ||
rhsmBrokerPoolId |
Pool-ID:t för Red Hat Subscription Manager som innehåller dina OpenShift-rättigheter för huvudnoder och infrastrukturnoder. Om du inte har olika pool-ID:n anger du samma pool-ID som "rhsmPoolId" | ||
sshPublicKey |
Kopiera din offentliga SSH-nyckel här | ||
keyVaultSubscriptionId |
Prenumerations-ID för prenumerationen som innehåller Key Vault | ||
keyVaultResourceGroup |
Namnet på den resursgrupp som innehåller Key Vault | ||
keyVaultName |
Namnet på den 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ännamnet som ska användas (om tillämpligt). Ange till "ingen" om du inte distribuerar ett helt privat kluster | inget | |
masterClusterDnsType |
Domäntyp för OpenShift-webbkonsolen. "default" använder DNS-etiketten master infra public IP. Med "anpassad" kan du definiera ditt eget namn | standard anpassad |
standard |
masterClusterDns |
Det anpassade DNS-namn 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 det är nipio inställt routingSubDomain på använder nip.io . Använd "anpassad" om du har en egen domän som du vill använda för routning |
nipio anpassad |
nipio |
routingSubDomain |
Jokertecknets DNS-namn som du vill använda för routning om du har valt "anpassat" för routingSubDomainType |
apps.contoso.com | |
virtualNetworkNewOrExisting |
Välj om du vill använda en befintlig Virtual Network eller skapa en ny Virtual Network | Befintliga ny |
ny |
virtualNetworkResourceGroupName |
Namnet på resursgruppen för den nya Virtual Network om du har valt "ny" för virtualNetworkNewOrExisting |
resourceGroup().name | |
virtualNetworkName |
Namnet på den nya Virtual Network ska skapas om du har valt "ny" för virtualNetworkNewOrExisting |
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å undernätet för infra | infrasubnet | |
infraSubnetPrefix |
CIDR som används för det infra-undernätet – måste vara en delmängd av addressPrefix | 10.2.0.0/16 | |
nodeSubnetName |
Namnet på nodundernätet | nodesubnet | |
nodeSubnetPrefix |
CIDR 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 nytt vNet/undernät | ||
existingInfraSubnetReference |
Fullständig referens till befintligt undernät för infranoder. Behövs inte om du skapar nytt vNet/undernät | ||
existingCnsSubnetReference |
Fullständig referens till befintligt undernät för CNS-noder. Behövs inte om du skapar nytt vNet/undernät | ||
existingNodeSubnetReference |
Fullständig referens till befintligt undernät för beräkningsnoder. Behövs inte om du skapar nytt vNet/undernät | ||
masterClusterType |
Ange om klustret använder privata eller offentliga huvudnoder. Om du väljer privat exponeras inte huvudnoderna mot Internet via en offentlig IP-adress. I stället används den privata IP-adress som anges i masterPrivateClusterIp |
Offentliga Privat |
Offentliga |
masterPrivateClusterIp |
Om du väljer privata huvudnoder 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 vara inom CIDR-blocket för huvudundernätet och inte redan används. Om du väljer offentliga huvudnoder 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 infrastrukturnoder. Om du väljer privat exponeras inte infranoderna mot Internet via en offentlig IP-adress. I stället används den privata IP-adress som anges i routerPrivateClusterIp |
Offentliga Privat |
Offentliga |
routerPrivateClusterIp |
Om du väljer privata infranoder 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 vara inom CIDR-blocket för undernätet infra och inte redan används. Om offentliga infranoder har valts används inte det här värdet, men det måste fortfarande anges | 10.2.0.200 | |
routingCertType |
Använd anpassat certifikat för routningsdomänen eller det själv signerade standardcertifikatet – följ anvisningarna i avsnittet Anpassade certifikat | självsignerat anpassad |
självsignerat |
masterCertType |
Använd anpassat certifikat för huvuddomänen eller det själv signerade standardcertifikatet – följ anvisningarna i avsnittet Anpassade certifikat | självsignerat anpassad |
självsignerat |
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 lagringsplatsen GitHub 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 konfigurerade alternativ. Bastion DNS FQDN och URL för OpenShift-konsolen skriver 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 koppla ihop kommandoraden som väntar på att distributionen ska slutföras lägger du till som ett av alternativen --no-wait för gruppdistributionen. Utdata från distributionen kan hämtas från Azure Portal i distributionsavsnittet för resursgruppen.
Anslut till OpenShift-klustret
När distributionen är klar hämtar du anslutningen från utdataavsnittet för distributionen. Anslut till OpenShift-konsolen med webbläsaren med hjälp av URL:en för OpenShift-konsolen. Du kan också använda SSH för Bastion-värden. Följande är ett exempel där administratörens användarnamn är clusteradmin och det offentliga IP-domännamnet dns för skydd ä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