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:

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ırsanipioroutingSubDomain, 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

Sonraki adımlar