Azure'da OpenShift Container Platform 3.11'i dağıtma
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Azure'da OpenShift Container Platform 3.11 dağıtmak için çeşitli yöntemlerden birini kullanabilirsiniz:
- Gerekli Azure altyapısı bileşenlerini el ile dağıtabilir ve ardından OpenShift Kapsayıcı Platformu belgelerini izleyebilirsiniz.
- OpenShift Container Platform kümesinin dağıtımını basitleştiren mevcut bir Resource Manager şablonu da kullanabilirsiniz.
- Bir diğer seçenek de Azure Market teklifini kullanmaktır.
Tüm seçenekler için 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 eklenir. 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. oturumu açarak https://access.redhat.combu bilgileri doğrulayabilirsiniz.
OpenShift Container Platform Resource Manager 3.11 şablonunu kullanarak dağıtma
Özel Kümeler
Özel OpenShift kümelerinin dağıtılması, ana yük dengeleyici (web konsolu) veya infra yük dengeleyici (yönlendirici) ile ilişkilendirilmiş bir genel IP'nin olmamasından daha 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ğlar kullanır. Özel kümeler için, sanal ağınızı tüm uygun alt ağlarla ve DNS sunucusu ayarlarıyla önceden yapılandırmanız gerekir. Ardından, küme tarafından kullanılacak mevcut alt ağı belirtmek için existingMasterSubnetReference, existingInfraSubnetReference, existingCnsSubnetReference ve existingNodeSubnetReference kullanın.
Özel ana şablon seçilirse (masterClusterType=private), masterPrivateClusterIp için statik bir özel IP belirtilmelidir. Bu IP, ana yük dengeleyicinin ön ucuna atanır. IP, ana alt ağ için CIDR içinde olmalı ve kullanımda olmamalıdır. masterClusterDnsType değeri "özel" olarak ayarlanmalıdır ve masterClusterDns için ana DNS adı sağlanmalıdır. DNS adı statik Özel IP'ye eşlenmelidir 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 ucuna atanır. IP,infra alt ağı için CIDR içinde olmalı ve kullanımda olmamalıdır. routingSubDomainType "özel" olarak ayarlanmalıdır ve routingSubDomain için yönlendirme için joker DNS adı sağlanmalıdır.
Özel ana şablonlar 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ü, genel IP'ye sahip tek düğümdür. Ana düğümler genel erişim için yapılandırılmış olsa bile, ssh erişimi için kullanıma sunulmaz.
Resource Manager şablonunu kullanarak dağıtmak için giriş parametrelerini sağlamak üzere bir parametre dosyası kullanırsınız. Dağıtımı daha fazla özelleştirmek için GitHub deposunda çatal oluşturun ve uygun öğeleri değiştirin.
Bazı yaygın özelleştirme seçenekleri şunlardır ancak bunlarla sınırlı değildir:
- Bastion VM boyutu (azuredeploy.json dosyasındaki değişken)
- Adlandırma kuralları (azuredeploy.json dosyasındaki değişkenler)
- Konak dosyası (deployOpenShift.sh) aracılığıyla değiştirilen OpenShift kümesi özellikleri
Parametre dosyasını yapılandırma
OpenShift Container Platform şablonunun, OpenShift Container Platform'un farklı sürümleri için kullanılabilen birden çok dalı vardır. gereksinimlerinize bağlı olarak, doğrudan depodan dağıtabilir veya deponun çatalını oluşturabilir ve dağıtmadan önce şablonlar veya betiklerde özel değişiklikler yapabilirsiniz.
appId
parametresi için daha önce oluşturduğunuz hizmet sorumlusunun aadClientId
değerini kullanın.
Aşağıdaki örnekte, gerekli tüm girişleri içeren azuredeploy.parameters.json adlı bir parametre dosyası gösterilmektedir.
{
"$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 bilgilerinizle değiştirin.
Farklı sürümlerin farklı parametreleri olabilir, bu nedenle kullandığınız dal için gerekli parametreleri doğrulayın.
azuredeploy. Parameters.json dosyasının açıklaması
Ö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ın dağıtılacağı 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'sinin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin | Standard_D4s_v3 | |
nodeVmSize |
Uygulama Düğümü VM'sinin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin | Standard_D4s_v3 | |
cnsVmSize |
Kapsayıcı Yerel Depolama (CNS) Düğümü VM'sinin boyutu. azuredeploy.json dosyasında listelenen izin verilen VM boyutlarından birini seçin | Standard_E4s_v3 | |
osImageType |
Kullanılacak RHEL görüntüsü. defaultgallery: İsteğe Bağlı; market: üçüncü taraf görüntüsü | defaultgallery Market |
defaultgallery |
marketplaceOsImage |
Market ise osImageType market teklifinin 'publisher', 'offer', 'sku', 'version' için uygun değerleri girin. Bu parametre bir nesne türüdür |
||
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ğıtılacak OpenShift Container Platform 3.11'in ikincil sürümü | 69 | |
masterInstanceCount |
Dağıtılacak Ana Düğüm sayısı | 1, 3, 5 | 3 |
infraInstanceCount |
Dağıtılacak infra düğümlerinin sayısı | 1, 2, 3 | 3 |
nodeInstanceCount |
Dağıtılacak 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ılacak CNS düğümlerinin sayısı | 3, 4 | 3 |
osDiskSize |
VM için işletim sistemi diskinin boyutu (GB cinsinden) | 64, 128, 256, 512, 1024, 2048 | 64 |
dataDiskSize |
Docker birimi için düğümlere eklenecek veri diskinin boyutu (GB) | 32, 64, 128, 256, 512, 1024, 2048 | 64 |
cnsGlusterDiskSize |
Glusterfs tarafından kullanılmak üzere CNS düğümlerine eklenecek veri diskinin boyutu (GB cinsinden) | 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 gerektirdiği için Infra VM için uygun boyutu seçin | true yanlış |
yanlış |
enableLogging |
Günlüğü Etkinleştir'i seçin. elasticsearch pod 8 GB RAM gerektirdiği için Infra VM için uygun boyutu seçin | true yanlış |
yanlış |
enableCNS |
Kapsayıcı Yerel Depolamayı Etkinleştirme | 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 ve infra düğümleri için OpenShift yetkilendirmelerinizi içeren Red Hat Abonelik Yöneticisi Havuz Kimliği. Farklı havuz kimlikleriniz 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ştirme | true yanlış |
true |
aadClientId |
Hizmet Sorumlusu için Uygulama Kimliği olarak da bilinen Azure Active Directory İstemci Kimliği | ||
domainName |
Kullanılacak özel etki alanı adının adı (varsa). Tam özel küme dağıtılmıyorsa "yok" olarak ayarlayın | yok | |
masterClusterDnsType |
OpenShift web konsolu için etki alanı türü. 'default' ana genel IP'nin DNS etiketini kullanır. 'custom' kendi adınızı tanımlamanızı sağlar | default özel |
default |
masterClusterDns |
Için 'özel' seçeneğini belirlediyseniz OpenShift web konsoluna erişmek için kullanılacak özel DNS adı masterClusterDnsType |
console.contoso.com | |
routingSubDomainType |
olarak ayarlanırsanipio routingSubDomain , kullanırnip.io . Yönlendirme için kullanmak istediğiniz kendi etki alanınız varsa 'özel' kullanın |
nipio özel |
nipio |
routingSubDomain |
Yönlendirme için kullanmak istediğiniz joker karakter DNS adı için 'özel' seçeneğini belirlediyseniz routingSubDomainType |
apps.contoso.com | |
virtualNetworkNewOrExisting |
Mevcut bir Sanal Ağ mı kullanacağınızı yoksa yeni bir Sanal Ağ mi oluşturacağını seçin | mevcut new |
new |
virtualNetworkResourceGroupName |
Yeni Sanal Ağ için 'yeni' seçeneğini belirlediyseniz kaynak grubunun adıvirtualNetworkNewOrExisting |
resourceGroup().name | |
virtualNetworkName |
'yeni' öğesini seçtiyseniz oluşturulacak yeni Sanal Ağ 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 CIDR, addressPrefix'in bir alt kümesi olmalıdır | 10.1.0.0/16 | |
infraSubnetName |
Infra alt yapılandırmasını adı | infrasubnet | |
infraSubnetPrefix |
Altyapı alt ağı için kullanılan CIDR, addressPrefix'in bir alt kümesi olmalıdır | 10.2.0.0/16 | |
nodeSubnetName |
Düğüm alt ağdaki adı | nodeubnet | |
nodeSubnetPrefix |
Düğüm alt ağı için kullanılan CIDR, addressPrefix'in bir alt kümesi olmalıdır | 10.3.0.0/16 | |
existingMasterSubnetReference |
Ana düğümler için mevcut alt ağa tam başvuru. Yeni sanal ağ / Alt ağ oluştururken gerekli değildir | ||
existingInfraSubnetReference |
Altyapı düğümleri için mevcut alt ağa tam başvuru. Yeni sanal ağ / Alt ağ oluştururken gerekli değildir | ||
existingCnsSubnetReference |
CNS düğümleri için mevcut alt ağa tam başvuru. Yeni sanal ağ / Alt ağ oluştururken gerekli değildir | ||
existingNodeSubnetReference |
İşlem düğümleri için mevcut alt ağa tam başvuru. Yeni sanal ağ / Alt ağ oluştururken gerekli değildir | ||
masterClusterType |
Kümenin özel mi yoksa genel ana düğüm mü kullandığını belirtin. Özel seçilirse, ana düğümler genel IP üzerinden İnternet'e sunulmaz. Bunun yerine, masterPrivateClusterIp |
public private |
public |
masterPrivateClusterIp |
Özel ana düğümler seçilirse, ana düğümler için iç yük dengeleyici tarafından kullanılmak üzere bir özel IP adresi belirtilmelidir. Bu statik IP ana alt ağın CIDR bloğu içinde olmalı ve kullanımda olmamalıdır. Genel ana düğümler seçilirse, bu değer kullanılmaz ancak yine de belirtilmelidir | 10.1.0.200 | |
routerClusterType |
Kümenin özel mi yoksa genel altyapı düğümleri mi kullandığını belirtin. Özel seçilirse, infra düğümleri genel IP üzerinden İnternet'e açık olmaz. Bunun yerine, routerPrivateClusterIp |
public private |
public |
routerPrivateClusterIp |
Özel altyapı düğümleri seçilirse, iç yük dengeleyici tarafından iç düğümler için kullanılacak özel bir IP adresi belirtilmelidir. Bu statik IP, altyapı alt ağı için CIDR bloğu içinde olmalı ve kullanımda olmamalıdır. Genel altyapı düğümleri seçilirse, bu değer kullanılmaz ancak yine de belirtilmelidir | 10.2.0.200 | |
routingCertType |
Etki alanını yönlendirmek için özel sertifika veya varsayılan otomatik olarak imzalanan sertifika kullanma - Özel Sertifikalar bölümündeki yönergeleri izleyin | selfsigned özel |
selfsigned |
masterCertType |
Ana etki alanı veya varsayılan otomatik olarak imzalanan sertifika için özel sertifika kullanma - Özel Sertifikalar bölümündeki yönergeleri izleyin | otomatik imzalı özel |
otomatik imzalı |
Azure CLI’yi kullanarak dağıtma
Not
Aşağıdaki komut, Azure CLI 2.0.8 veya üzerini gerektirir. CLI sürümünü komutuyla az --version
doğrulayabilirsiniz. CLI sürümünü güncelleştirmek için bkz. Azure CLI'yi yükleme.
Aşağıdaki örnek, OpenShift kümesini ve tüm ilgili kaynakları myOpenShiftCluster dağıtım adıyla openshiftrg adlı bir kaynak grubuna dağıtır. Şablona doğrudan GitHub deposundan başvurulur ve azuredeploy.parameters.json adlı yerel parametre 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ın tamamlanması, dağıtılan toplam düğüm sayısına ve yapılandırılan seçeneklere göre en az 60 dakika sürer. Dağıtım tamamlandığında OpenShift konsolunun Bastion 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ı beklerken komut satırını bağlamak istemiyorsanız, grup dağıtımı için seçeneklerden biri olarak ekleyin --no-wait
. Dağıtımın çıktısı, kaynak grubunun dağıtım bölümündeki Azure portal alınabilir.
OpenShift kümesine bağlanma
Dağıtım tamamlandığında, dağıtımın çıkış bölümünden bağlantıyı alın. OpenShift Konsolu URL'sini kullanarak tarayıcınızla OpenShift konsoluna bağlanın. Bastion konağına SSH de ekleyebilirsiniz. Aşağıda yönetici kullanıcı adının clusteradmin, 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
Artık gerekli olmadığında kaynak grubunu, OpenShift kümesini ve tüm ilgili kaynakları kaldırmak için az group delete komutunu kullanın.
az group delete --name openshiftrg