Nasazení OpenShift kontejneru platformy 3,11 v Azure

Platí pro: : Heavy_check_mark: virtuální počítače se systémem Linux: Heavy_check_mark: flexibilní sady škálování

K nasazení OpenShift kontejneru Platform 3,11 v Azure můžete použít některou z několika metod:

Pro všechny možnosti se vyžaduje předplatné Red Hat. během nasazování je instance Red Hat Enterprise Linux zaregistrovaná v rámci předplatného Red Hat a připojená k ID fondu, které obsahuje nároky na OpenShift kontejnerové platformy. Ujistěte se, že máte platné uživatelské jméno, heslo a ID fondu pro Red Hat Subscription Manager (RHSM). Můžete použít aktivační klíč, ID organizace a ID fondu. Tyto informace můžete ověřit tak, že se přihlásíte k https://access.redhat.com .

Nasazení pomocí šablony OpenShift Container Platform Správce prostředků 3,11

Soukromé clustery

Nasazení privátních clusterů OpenShift vyžaduje více než jen veřejnou IP adresu přidruženou k hlavnímu nástroji pro vyrovnávání zatížení (webová konzola) nebo k nástroji pro vyrovnávání zatížení (směrovač). Privátní cluster obecně používá vlastní server DNS (nikoli výchozí Azure DNS), vlastní název domény (například contoso.com) a předem definované virtuální sítě (y). U privátních clusterů je potřeba nakonfigurovat virtuální síť se všemi příslušnými podsítěmi a nastaveními DNS serveru předem. Pak pomocí existingMasterSubnetReference, existingInfraSubnetReference, existingCnsSubnetReference a existingNodeSubnetReference určete existující podsíť pro použití clusterem.

Je-li vybrána privátní hlavní server (masterClusterType= Private), musí být pro masterPrivateClusterIp zadána statická privátní IP adresa. Tato IP adresa se přiřadí front-endu hlavního nástroje pro vyrovnávání zatížení. IP adresa musí být v rámci CIDR pro hlavní podsíť a nepoužívá se. masterClusterDnsType musí být nastavená na Custom a musí se zadat hlavní název DNS pro masterClusterDns. Název DNS se musí namapovat na statickou privátní IP adresu a bude se používat pro přístup ke konzole na hlavních uzlech.

Pokud je vybrán privátní směrovač (routerClusterType= Private), musí být pro routerPrivateClusterIp zadána statická privátní IP adresa. Tato IP adresa se přiřadí front-endu nástroje pro vyrovnávání zatížení. IP adresa musí být v rámci CIDR pro podsíť, která se nepoužívá. routingSubDomainType musí být nastavená na Custom a pro routingSubDomain se musí zadat název DNS zástupného znaku pro směrování.

Pokud jsou vybrány privátní hlavní servery a privátní směrovač, je nutné zadat vlastní název domény také pro název domény .

Po úspěšném nasazení je uzel bastionu jediným uzlem s veřejnou IP adresou, na kterou můžete protokol SSH. I když jsou hlavní uzly nakonfigurované pro veřejný přístup, nezveřejňují se pro přístup přes SSH.

Chcete-li nasadit pomocí šablony Správce prostředků, použijte soubor parametrů k zadání vstupních parametrů. pro další přizpůsobení nasazení, rozvětvení úložiště GitHub a změňte příslušné položky.

Mezi běžné možnosti přizpůsobení patří, ale nejsou omezené na:

  • Velikost virtuálního počítače bastionu (proměnná v azuredeploy. JSON)
  • Zásady vytváření názvů (proměnné v azuredeploy. JSON)
  • OpenShift konkrétní clustery, upravené prostřednictvím souboru Hosts (deployOpenShift.sh)

Konfigurace souboru parametrů

Šablona platformy kontejnerů OpenShift má k dispozici více větví pro různé verze kontejnerové platformy OpenShift. Na základě vašich potřeb můžete nasadit přímo z úložiště nebo můžete rozvětvit úložiště a před nasazením vytvořit vlastní změny v šablonách nebo skriptech.

appIdPro parametr použijte hodnotu z instančního objektu, který jste vytvořili dříve aadClientId .

Následující příklad ukazuje soubor parametrů s názvem azuredeploy. Parameters. JSON se všemi požadovanými vstupy.

{
    "$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"
        }
    }
}

Nahraďte parametry konkrétními informacemi.

Různé verze mohou mít různé parametry, takže ověřují parametry potřebné pro větev, kterou používáte.

azuredeploy. Vysvětlení souboru Parameters. JSON

Vlastnost Popis Platné možnosti Výchozí hodnota
_artifactsLocation Adresa URL artefaktů (JSON, skripty atd.) https: / /raw.githubusercontent.com/Microsoft/OpenShift-Container-Platform/Master
location Oblast Azure, do které se nasazují prostředky
masterVmSize Velikost hlavního virtuálního počítače. Vyberte jednu z povolených velikostí virtuálních počítačů, které jsou uvedené v souboru azuredeploy. JSON. Standard_E2s_v3
infraVmSize Velikost infračerveného virtuálního počítače. Vyberte jednu z povolených velikostí virtuálních počítačů, které jsou uvedené v souboru azuredeploy. JSON. Standard_D4s_v3
nodeVmSize Velikost virtuálního počítače uzlu aplikace Vyberte jednu z povolených velikostí virtuálních počítačů, které jsou uvedené v souboru azuredeploy. JSON. Standard_D4s_v3
cnsVmSize velikost virtuálního počítače uzlu kontejneru nativní Storage (CNS) Vyberte jednu z povolených velikostí virtuálních počítačů, které jsou uvedené v souboru azuredeploy. JSON. Standard_E4s_v3
osImageType Obrázek RHEL, který se má použít defaultgallery: na vyžádání; Marketplace: obrázek třetí strany defaultgallery
marketplace
defaultgallery
marketplaceOsImage Pokud osImageType je Marketplace, zadejte odpovídající hodnoty pro ' Publish ', ' nabídka ', ' SKU ', ' verze ' nabídky Marketplace. Tento parametr je typ objektu.
storageKind Typ úložiště, který se má použít starosti
spravovateln
starosti
openshiftClusterPrefix Předpona clusteru používaná ke konfiguraci názvů hostitelů pro všechny uzly. Mezi 1 a 20 znaky mycluster
minoVersion Podverze OpenShift kontejneru platformy 3,11 k nasazení 69
masterInstanceCount Počet hlavních uzlů k nasazení 1, 3, 5 3
infraInstanceCount Počet uzlů pro nasazení 1, 2, 3 3
nodeInstanceCount Počet uzlů k nasazení 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 Počet uzlů propojené sítě, které se mají nasadit 3, 4 3
osDiskSize Velikost disku s operačním systémem pro virtuální počítač (v GB) 64, 128, 256, 512, 1024, 2048 64
dataDiskSize Velikost datového disku, který se má připojit k uzlům pro svazek Docker (v GB) 32, 64, 128, 256, 512, 1024, 2048 64
cnsGlusterDiskSize Velikost datového disku, který se má připojit k uzlům CNS pro použití v GlusterFS (v GB 32, 64, 128, 256, 512, 1024, 2048 128
adminUsername Uživatelské jméno správce pro přihlášení k operačnímu systému (VM) i pro počátečního uživatele OpenShiftu ocpadmin
enableMetrics Povolte Metriky. Metriky vyžadují více prostředků, takže vyberte správnou velikost pro infra VM. true
false (nepravda)
false (nepravda)
enableLogging Povolte Protokolování. Pod elasticsearch vyžaduje 8 GB paměti RAM, takže pro infra VM vyberte správnou velikost. true
false (nepravda)
false (nepravda)
enableCNS Povolení služby Container Native Storage true
false (nepravda)
false (nepravda)
rhsmUsernameOrOrgId Uživatelské jméno nebo ID organizace správce předplatného Red Hat
rhsmPoolId ID fondu Správce předplatného Red Hat, které obsahuje vaše oprávnění OpenShift pro výpočetní uzly
rhsmBrokerPoolId ID fondu Správce předplatného Red Hat, které obsahuje vaše oprávnění OpenShift pro hlavní uzly a uzly infrastruktury. Pokud nemáte jiná ID fondu, zadejte stejné ID fondu jako "rhsmPoolId".
sshPublicKey Sem zkopírujte svůj veřejný klíč SSH.
keyVaultSubscriptionId ID předplatného, které obsahuje Key Vault
keyVaultResourceGroup Název skupiny prostředků, která obsahuje Key Vault
keyVaultName Název vytvořeného Key Vault
enableAzure Povolení poskytovatele cloudu Azure true
false (nepravda)
true
aadClientId Azure Active Directory ID klienta označované také jako ID aplikace pro objekt služby
domainName Název vlastního názvu domény, který se má použít (pokud se používá). Pokud nenasazujete plně privátní cluster, nastavte na "žádné". žádné
masterClusterDnsType Typ domény pro webovou konzolu OpenShift. Výchozí bude používat název DNS veřejné IP adresy hlavní infrastruktury. Možnost custom umožňuje definovat vlastní název. default
vlastní
default
masterClusterDns Vlastní název DNS, který se má použít pro přístup k webové konzole OpenShift, pokud jste pro masterClusterDnsType console.contoso.com
routingSubDomainType Pokud je nastavená nipio na , routingSubDomain použije nip.io . Vlastní použijte, pokud máte vlastní doménu, kterou chcete použít ke směrování. nipio
vlastní
nipio
routingSubDomain Název DNS se zástupným znakem, který chcete použít pro směrování, pokud jste pro možnost vybrali možnost Vlastní. routingSubDomainType apps.contoso.com
virtualNetworkNewOrExisting Vyberte, jestli se má použít existující Virtual Network nebo vytvořit nový Virtual Network Existující
new
new
virtualNetworkResourceGroupName Název skupiny prostředků pro novou skupinu Virtual Network, pokud jste pro vybrali možnost Nový. virtualNetworkNewOrExisting resourceGroup().name
virtualNetworkName Název nového souboru, Virtual Network vytvořit, pokud jste pro vybrali možnost Nový. virtualNetworkNewOrExisting openshiftvnet
addressPrefixes Předpona adresy nové virtuální sítě 10.0.0.0/14
masterSubnetName Název hlavní podsítě hlavní podsítě
masterSubnetPrefix CIDR použitá pro hlavní podsíť – musí být podmnožinou adresyPrefix. 10.1.0.0/16
infraSubnetName Název podsítě infra infrasubnet
infraSubnetPrefix CIDR použitá pro podsíť infra – musí být podmnožinou adresyPrefix. 10.2.0.0/16
nodeSubnetName Název podsítě uzlu podsítě nodesubnet
nodeSubnetPrefix CiDR použitý pro podsíť uzlu – musí být podmnožinou adresyPrefix. 10.3.0.0/16
existingMasterSubnetReference Úplný odkaz na existující podsíť pro hlavní uzly. Není potřeba při vytváření nové virtuální sítě nebo podsítě
existingInfraSubnetReference Úplný odkaz na existující podsíť pro uzly infrastruktury. Není potřeba při vytváření nové virtuální sítě nebo podsítě
existingCnsSubnetReference Úplný odkaz na existující podsíť pro uzly CNS. Není potřeba při vytváření nové virtuální sítě nebo podsítě
existingNodeSubnetReference Úplný odkaz na existující podsíť pro výpočetní uzly. Není potřeba při vytváření nové virtuální sítě nebo podsítě
masterClusterType Určete, jestli cluster používá privátní nebo veřejné hlavní uzly. Pokud je zvolena možnost privátní, hlavní uzly nebudou vystaveny internetu prostřednictvím veřejné IP adresy. Místo toho použije privátní IP adresu zadanou v masterPrivateClusterIp public
private
public
masterPrivateClusterIp Pokud jsou vybrány privátní hlavní uzly, je nutné zadat privátní IP adresu, kterou použije interní nástroj pro vyrovnávání zatížení pro hlavní uzly. Tato statická IP adresa musí být v rámci bloku CIDR pro hlavní podsíť a nesmí se už používat. Pokud jsou vybrané veřejné hlavní uzly, tato hodnota se nebude používat, ale musí se zadat. 10.1.0.200
routerClusterType Určete, jestli cluster používá privátní nebo veřejné infra uzly. Pokud je zvolena možnost privátní, nebudou uzly infrastruktury vystaveny internetu prostřednictvím veřejné IP adresy. Místo toho použije privátní IP adresu zadanou v routerPrivateClusterIp public
private
public
routerPrivateClusterIp Pokud jsou vybrány privátní uzly infrastruktury, je nutné zadat privátní IP adresu, kterou bude interní nástroj pro vyrovnávání zatížení používat pro uzly infrastruktury. Tato statická IP adresa musí být v rámci bloku CIDR pro podsíť infra a nesmí se už používat. Pokud jsou vybrané veřejné uzly infrastruktury, tato hodnota se nebude používat, ale musí se zadat. 10.2.0.200
routingCertType Použití vlastního certifikátu pro doménu směrování nebo výchozí certifikát podepsaný svým držitelem – postupujte podle pokynů v části Vlastní certifikáty. přiřazeno vlastními podpisy
vlastní
přiřazeno vlastními podpisy
masterCertType Použití vlastního certifikátu pro hlavní doménu nebo výchozí certifikát podepsaný svým držitelem – postupujte podle pokynů v části Vlastní certifikáty. přiřazeno vlastními podpisy
vlastní
přiřazeno vlastními podpisy

Nasazení s využitím rozhraní příkazového řádku Azure

Poznámka

Následující příkaz vyžaduje Azure CLI 2.0.8 nebo novější. Verzi rozhraní příkazového řádku můžete ověřit pomocí az --version příkazu . Informace o aktualizaci verze rozhraní příkazového řádku najdete v tématu Instalace Azure CLI.

Následující příklad nasadí cluster OpenShift a všechny související prostředky do skupiny prostředků s názvem openshiftrg s názvem nasazení myOpenShiftCluster. Na šablonu se odkazuje přímo z GitHub úložiště a použije se místní soubor parametrů s názvem azuredeploy.parameters.json.

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

Dokončení nasazení trvá nejméně 60 minut na základě celkového počtu nasazených uzlů a nakonfigurovaných možností. Plně kvalifikovaný název domény DNS Bastionu a adresa URL konzoly OpenShift se po dokončení nasazení vytiskne do terminálu.

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

Pokud nechcete spojit příkazový řádek a čekat na dokončení nasazení, přidejte jako jednu z možností --no-wait nasazení skupiny. Výstup z nasazení je možné načíst z Azure Portal v části nasazení pro skupinu prostředků.

Připojení ke clusteru OpenShift

Po dokončení nasazení načtěte připojení z výstupní části nasazení. Připojení v prohlížeči přejděte ke konzole OpenShift pomocí adresy URL konzoly OpenShift. K hostiteli Bastionu můžete také použít SSH. Následuje příklad, kde uživatelské jméno správce je clusteradmin a plně kvalifikovaný název domény DNS veřejné IP adresy bastionu bastiondns4hawllzaavu6g.eastus.cloudapp.azure.com:

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

Vyčištění prostředků

Pokud už nejsou potřeba, pomocí příkazu az group delete odeberte skupinu prostředků, cluster OpenShift a všechny související prostředky.

az group delete --name openshiftrg

Další kroky