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:

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

Nästa steg