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:
- Gerekli Azure altyapı bileşenlerini el ile dağıtabilirsiniz ve ardından OpenShift Kapsayıcı Platformu belgelerini takip edebilirsiniz.
- OpenShift Container Platform Resource Manager basitleştiren mevcut bir şablon da kullanabilirsiniz.
- Bir diğer seçenek de teklifte Azure Market etmektir.
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