OpenShift Container Platform 3.11'i Azure'da dağıtma

Uygulama: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

OpenShift Container Platform 3.11'i Azure'a dağıtmak için çeşitli yöntemlerden birini kullanabilirsiniz:

Tüm seçenekler için bir Red Hat aboneliği gereklidir. Dağıtım sırasında Red Hat Enterprise Linux örneği Red Hat aboneliğine kaydedilir ve OpenShift Container Platform için yetkilendirmeleri içeren Havuz Kimliğine ekli olur. Geçerli bir Red Hat Abonelik Yöneticisi (RHSM) kullanıcı adınız, parolanız ve Havuz Kimliğiniz olduğundan emin olun. Etkinleştirme Anahtarı, Kuruluş Kimliği ve Havuz Kimliği kullanabilirsiniz. 'de oturum aarak bu bilgileri https://access.redhat.com doğrularsiniz.

OpenShift Container Platform Resource Manager 3.11 şablonunu kullanarak dağıtma

Özel Kümeler

Özel OpenShift kümelerinin dağıtımı, ana yük dengeleyiciyle (web konsolu) veya altyapı yük dengeleyicisi (yönlendirici) ile ilişkili bir genel IP'ye sahip olmaktan fazlasını gerektirir. Özel küme genellikle özel bir DNS sunucusu (varsayılan Azure DNS değil), özel bir etki alanı adı (contoso.com gibi) ve önceden tanımlanmış sanal ağ kullanır. Özel kümeler için, sanal ağın tüm uygun alt ağlarla ve DNS sunucusu ayarlarıyla önceden yapılandırılması gerekir. Ardından küme tarafından kullanmak üzere mevcut alt ağı belirtmek için existingMasterSubnetReference, existingInfraSubnetReference, existingCnsSubnetReference ve existingNodeSubnetReference kullanın.

Özel ana kaynak seçilirse (masterClusterType=private), masterPrivateClusterIp için statik bir özel IP belirtilmelidir. Bu IP ana yük dengeleyicinin ön ucunda atanır. IP, ana alt ağ için CIDR içinde olmalı ve kullanımda değildir. masterClusterDnsType "custom" olarak ayarlanmalıdır ve masterClusterDns için ana DNS adı sağlanmalıdır. DNS adı statik Özel IP'ye eş olmalıdır ve ana düğümlerde konsola erişmek için kullanılır.

Özel yönlendirici seçilirse (routerClusterType=private), routerPrivateClusterIp için statik bir özel IP belirtilmelidir. Bu IP, altyapı yük dengeleyicinin ön ucunda atanır. IP, infra alt ağı için CIDR içinde olmalı ve kullanımda değildir. routingSubDomainType "custom" olarak ayarlanmalıdır ve yönlendirme için joker dns adı routingSubDomain için sağlanmalıdır.

Özel asıl ve özel yönlendirici seçilirse, domainName için özel etki alanı adı da girilmelidir

Başarılı bir dağıtımdan sonra Bastion Düğümü, ssh ile girebilirsiniz genel IP'ye sahip tek düğüm olur. Ana düğümler genel erişim için yapılandırılmış olsa bile, ssh erişimi için açık değil.

Resource Manager kullanarak dağıtım yapmak için giriş parametrelerini sağlamak üzere bir parametre dosyası kullanırsınız. Dağıtımı daha fazla özelleştirmek için, GitHub ve uygun öğeleri değiştirebilirsiniz.

Bazı yaygın özelleştirme seçenekleri şunlardır, ancak bunlarla sınırlı değildir:

  • Bastion VM boyutu (azuredeploy.json'da değişken)
  • Adlandırma kuralları (azuredeploy.json'da değişkenler)
  • OpenShift küme özellikleri, hosts dosyası aracılığıyla değiştirildi (deployOpenShift.sh)

Parametre dosyasını yapılandırma

OpenShift Container Platform şablonunda, OpenShift Container Platform'un farklı sürümleri için kullanılabilen birden çok dal vardır. İhtiyaçlarınızı temel alarak, doğrudan bir repodan dağıtabilirsiniz veya dağıtmadan önce, repo için bir mürekkep oluşturabilir ve şablonlarda veya betiklerde özel değişiklikler yapabilirsiniz.

parametresi appId için daha önce oluşturduğunuz hizmet sorumlusu değerini aadClientId kullanın.

Aşağıdaki örnek, tüm gerekli girişlere sahip azuredeploy.parameters.json adlı bir parametre dosyasını gösterir.

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

Parametreleri kendi özel bilgilerle değiştirin.

Farklı sürümlerde farklı parametreler olabilir, bu nedenle, kullanmakta olduğu dal için gerekli parametreleri doğrulayın.

azuredeploy. Parameters.json dosyası açıklandı

Özellik Açıklama Geçerli Seçenekler Varsayılan değer
_artifactsLocation Yapıtların URL'si (json, betikler vb.) https: / /raw.githubusercontent.com/Microsoft/openshift-container-platform/master
location Kaynakları dağıtacak Azure bölgesi
masterVmSize Ana VM'nin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin Standard_E2s_v3
infraVmSize Infra VM'nin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin Standard_D4s_v3
nodeVmSize Uygulama Düğümü VM'lerinin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin Standard_D4s_v3
cnsVmSize Container Native Depolama (CNS) Düğüm VM'lerinin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin Standard_E4s_v3
osImageType Kullanmak için RHEL görüntüsü. defaultgallery: On-Demand; market: üçüncü taraf görüntüsü defaultgallery
Market
defaultgallery
marketplaceOsImage Market osImageType ise market teklifinin 'yayımcı', 'teklif', 'sku', 'sürüm' için uygun değerleri girin. Bu parametre bir nesne t değeridir
storageKind Kullanılacak depolama türü Yönetilen
Yönetilme -yen
Yönetilen
openshiftClusterPrefix Tüm düğümler için konak adlarını yapılandırmak için kullanılan Küme Ön Eki. 1 ile 20 karakter arasında Kümem
minoVersion Dağıtacak OpenShift Container Platform 3.11'in ikincil sürümü 69
masterInstanceCount Dağıtılana Master düğümlerinin sayısı 1, 3, 5 3
infraInstanceCount Dağıtılana kadar olan altyapı düğümlerinin sayısı 1, 2, 3 3
nodeInstanceCount Dağıtılana düğüm sayısı 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 Dağıtılanı CNS düğümlerinin sayısı 3, 4 3
osDiskSize VM için işletim sistemi diski boyutu (GB) 64, 128, 256, 512, 1024, 2048 64
dataDiskSize Docker birimi için düğümlere iliştirilen veri diski boyutu (GB) 32, 64, 128, 256, 512, 1024, 2048 64
cnsGlusterDiskSize Glikoztikler tarafından kullanmak üzere CNS düğümlerine iliştirilen veri diski boyutu (GB olarak) 32, 64, 128, 256, 512, 1024, 2048 128
adminUsername Hem işletim sistemi (VM) oturum açma hem de ilk OpenShift kullanıcısı için Yönetici Kullanıcı adı ocpadmin
enableMetrics Ölçümleri etkinleştirin. Ölçümler daha fazla kaynak gerektirir, bu nedenle Infra sanal makinesi için uygun boyutu seçin true
yanlış
yanlış
enableLogging Günlüğe kaydetmeyi etkinleştirin. elagra Search Pod, 8 GB RAM gerektirdiğinden Infra VM için uygun boyutu seçin true
yanlış
yanlış
enableCNS kapsayıcı yerel Depolama etkinleştir true
yanlış
yanlış
rhsmUsernameOrOrgId Red Hat abonelik Yöneticisi Kullanıcı adı veya kuruluş KIMLIĞI
rhsmPoolId İşlem düğümleri için OpenShift yetkilendirmelerinizi içeren Red Hat abonelik Yöneticisi havuz KIMLIĞI
rhsmBrokerPoolId Ana bilgisayarlar ve Infra düğümleri için OpenShift yetkilendirmelerinizi içeren Red Hat abonelik Yöneticisi havuz kimliği. Farklı havuz kimliğiniz yoksa, ' rhsmPoolId ' ile aynı havuz KIMLIĞINI girin
sshPublicKey SSH ortak anahtarınızı buraya kopyalayın
keyVaultSubscriptionId Key Vault içeren aboneliğin abonelik KIMLIĞI
keyVaultResourceGroup Key Vault içeren kaynak grubunun adı
keyVaultName Oluşturduğunuz Key Vault adı
enableAzure Azure bulut sağlayıcısını etkinleştir true
yanlış
true
aadClientId Azure Active Directory Hizmet sorumlusu için uygulama KIMLIĞI olarak da bilinen istemci KIMLIĞI
domainName Kullanılacak özel etki alanı adının adı (varsa). Tam özel küme dağıtmadığı takdirde "none" olarak ayarlayın yok
masterClusterDnsType OpenShift web konsolunun etki alanı türü. ' default ', ana Infra genel IP DNS etiketini kullanır. ' Custom ' kendi adınızı tanımlamanızı sağlar default
özel
default
masterClusterDns İçin ' özel ' seçtiyseniz OpenShift web konsoluna erişmek için kullanılacak özel DNS adı masterClusterDnsType console.contoso.com
routingSubDomainType , Olarak ayarlanırsa nipio , routingSubDomain kullanılır nip.io . Yönlendirme için kullanmak istediğiniz kendi etki alanınız varsa ' Custom ' kullanın nipio
özel
nipio
routingSubDomain İçin ' Custom ' seçtiyseniz, yönlendirme için kullanmak istediğiniz joker karakter DNS adı routingSubDomainType apps.contoso.com
virtualNetworkNewOrExisting Mevcut bir sanal ağın kullanılıp kullanılmayacağını seçin veya yeni bir sanal ağ oluşturun Mevcut
new
new
virtualNetworkResourceGroupName İçin ' yeni ' seçtiyseniz yeni sanal ağın kaynak grubunun adı virtualNetworkNewOrExisting resourceGroup (). Name
virtualNetworkName İçin ' yeni ' seçtiyseniz oluşturulacak yeni sanal ağın adı virtualNetworkNewOrExisting openshiftvnet
addressPrefixes Yeni sanal ağın adres ön eki 10.0.0.0/14
masterSubnetName Ana alt ağın adı mastersubnet
masterSubnetPrefix Ana alt ağ için kullanılan CıDR, Addresspredüzeltmesini alt kümesi olmalıdır 10.1.0.0/16
infraSubnetName Infra alt ağının adı infrasubnet
infraSubnetPrefix Infra alt ağı için kullanılan CIDR-addresspredüzeltmesinin bir alt kümesi olması gerekir 10.2.0.0/16
nodeSubnetName Düğüm alt ağının adı nodesubnet
nodeSubnetPrefix Düğüm alt ağı için kullanılan CıDR-Addresspredüzeltmesini 'nin bir alt kümesi olması gerekir 10.3.0.0/16
existingMasterSubnetReference Ana düğümler için mevcut alt ağa tam başvuru. Yeni vNet/alt ağ oluşturulmadığında gerekli değildir
existingInfraSubnetReference Infra düğümleri için mevcut alt ağa tam başvuru. Yeni vNet/alt ağ oluşturulmadığında gerekli değildir
existingCnsSubnetReference CNS Nodes için mevcut alt ağa tam başvuru. Yeni vNet/alt ağ oluşturulmadığında gerekli değildir
existingNodeSubnetReference İşlem düğümleri için mevcut alt ağa tam başvuru. Yeni vNet/alt ağ oluşturulmadığında gerekli değildir
masterClusterType Kümenin özel veya ortak ana düğümler kullanıp kullanmadığını belirtin. Özel seçilirse, ana düğümler genel bir IP aracılığıyla Internet 'e gösterilmez. Bunun yerine, içinde belirtilen özel IP 'yi kullanır masterPrivateClusterIp public
private
public
masterPrivateClusterIp Özel ana düğümler seçilirse, ana düğümlerin iç yük dengeleyici tarafından kullanılmak üzere özel bir IP adresinin belirtilmesi gerekir. Bu statik IP, ana alt ağ için CıDR bloğunda olmalıdır ve zaten kullanımda olmalıdır. Ortak ana düğümler seçilirse, bu değer kullanılmaz ancak yine de belirtilmesi gerekir 10.1.0.200
routerClusterType Kümenin özel veya genel Infra düğümleri kullanıp kullanmayacağını belirtin. Özel seçilirse, Infra düğümleri Internet 'e genel bir IP üzerinden gösterilmez. Bunun yerine, içinde belirtilen özel IP 'yi kullanır routerPrivateClusterIp public
private
public
routerPrivateClusterIp Özel Infra düğümleri seçilirse, Infra düğümleri için iç yük dengeleyici tarafından kullanılmak üzere özel bir IP adresinin belirtilmesi gerekir. Bu statik IP, Infra alt ağı için CIDR bloğunda olmalıdır ve zaten kullanımda olmalıdır. Ortak Infra düğümleri seçilirse, bu değer kullanılmaz ancak yine de belirtilmesi gerekir 10.2.0.200
routingCertType Yönlendirme etki alanı veya varsayılan otomatik olarak imzalanan sertifika için özel sertifika kullan- özel sertifikalar bölümündeki yönergeleri izleyin selfsigned
özel
selfsigned
masterCertType Ana etki alanı için özel sertifika veya varsayılan otomatik olarak imzalanan sertifika kullan- özel sertifikalar bölümündeki yönergeleri izleyin selfsigned
özel
selfsigned

Azure CLI’yi kullanarak dağıtma

Not

Aşağıdaki komut, Azure CLı 2.0.8 veya üstünü gerektirir. CLı sürümünü az --version komutuyla doğrulayabilirsiniz. CLı sürümünü güncelleştirmek için bkz. Azure CLI 'Yı yüklemek.

Aşağıdaki örnek, OpenShift kümesini ve tüm ilgili kaynakları openkaydırıcı adlı bir kaynak grubunda myOpenShiftCluster dağıtım adı ile dağıtır. şablona doğrudan GitHub deposundan başvurulur ve azuredeploy. parameters. json dosyası adlı bir yerel parametreler dosyası kullanılır.

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

Dağıtım, dağıtılan toplam düğüm sayısına ve yapılandırılmış seçeneklere bağlı olarak en az 60 dakika sürer. Dağıtım tamamlandığında, OpenShift konsolunun savunma DNS FQDN 'si ve URL 'si terminale yazdırılır.

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

Dağıtımın tamamlanmasını bekleyen komut satırını bağlamak istemiyorsanız, --no-wait Grup dağıtımına yönelik seçeneklerden birini ekleyin. Dağıtımdan alınan çıkış, kaynak grubunun dağıtım bölümündeki Azure portal alabilir.

openshift kümesine Bağlan

Dağıtım tamamlandığında, dağıtımın çıkış bölümünden bağlantıyı alın. openshift konsol URL'sini kullanarak, tarayıcınızla birlikte openshift konsoluna Bağlan. Ayrıca, savunma ana bilgisayarına SSH de ekleyebilirsiniz. Aşağıda Yönetici Kullanıcı adının kümeyöneticisi olduğu ve savunma genel IP DNS FQDN 'sinin bastiondns4hawllzaavu6g.eastus.cloudapp.azure.com olduğu bir örnek verilmiştir:

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

Kaynakları temizleme

Kaynak grubunu, OpenShift kümesini ve artık gerekli olmadığında tüm ilgili kaynakları kaldırmak için az Group Delete komutunu kullanın.

az group delete --name openshiftrg

Sonraki adımlar