Azure Arc özellikli Kubernetes kümesi uzantılarını dağıtma ve yönetme
Kubernetes uzantıları özelliği, Azure Arc özellikli Kubernetes kümelerinde aşağıdakileri etkinleştirir:
- Azure Resource Manager tabanlı küme uzantısı dağıtımı.
- Uzantı Helm grafiklerinin yaşam döngüsü yönetimi.
Bu makalede şunları öğreneceksiniz:
- Şu anda hangi Azure Arc özellikli Kubernetes kümesi uzantıları kullanılabilir.
- Uzantı örnekleri oluşturma.
- Gerekli ve isteğe bağlı parametreler.
- Uzantı örneklerini görüntüleme, listeleme, güncelleştirme ve silme.
Bu özelliğe kavramsal bir genel bakış , Küme uzantıları - Azure Arc özellikli Kubernetes'te kullanılabilir.
Önkoşullar
Aşağıdaki komutları çalıştırarak ve
k8s-extension
Azure CLI uzantılarının en son sürümünüconnectedk8s
yükleyin:az extension add --name connectedk8s az extension add --name k8s-extension
connectedk8s
vek8s-extension
uzantısı zaten yüklüyse, aşağıdaki komutu kullanarak bunları en son sürüme güncelleştirebilirsiniz:az extension update --name connectedk8s az extension update --name k8s-extension
Mevcut Azure Arc özellikli Kubernetes bağlı kümesi.
- Henüz bir kümeye bağlanmadıysanız hızlı başlangıcımızı kullanın.
- Aracılarınızı en son sürüme yükseltin.
Şu anda kullanılabilir uzantılar
Şu anda aşağıdaki uzantılar kullanılabilir.
Dahili numara | Description |
---|---|
Kapsayıcılar için Azure İzleyici | Kubernetes kümesinde dağıtılan iş yüklerinin performansına ilişkin görünürlük sağlar. Denetleyicilerden, düğümlerden ve kapsayıcılardan bellek ve CPU kullanım ölçümlerini toplar. |
Azure İlkesi | Azure İlkesi, Açık İlke Aracısı (OPA) için bir erişim denetleyicisi web kancası olan Ağ Geçidi Denetleyicisi'ni, kümelerinizde merkezi ve tutarlı bir şekilde büyük ölçekte zorlamalar ve korumalar uygulayacak şekilde genişletir. |
Azure Key Vault Gizli Dizi Sağlayıcısı | Gizli Dizi Deposu için Azure Key Vault Sağlayıcısı CSI Sürücüsü, Azure Key Vault'nin bir CSI birimi aracılığıyla Kubernetes kümesiyle gizli dizi deposu olarak tümleştirilmesine olanak tanır. |
Bulut için Microsoft Defender | Kubernetes kümesinden denetim günlüğü verileri gibi güvenlikle ilgili bilgileri toplar. Toplanan verileri temel alan öneriler ve tehdit uyarıları sağlar. |
Azure Arc özellikli Open Service Mesh | Kümede Open Service Mesh dağıtır ve mTLS güvenliği, ayrıntılı erişim denetimi, trafik kaydırma, Azure İzleyici ile veya Prometheus ve Grafana'nın açık kaynak eklentileriyle izleme, Jaeger ile izleme, dış sertifika yönetimi çözümüyle tümleştirme gibi özellikler sağlar. |
Azure Arc Özellikli Veri Hizmetleri | Kubernetes'i ve seçtiğiniz altyapıyı kullanarak Azure veri hizmetlerini şirket içinde, uçta ve genel bulutlarda çalıştırmanızı mümkün kılar. |
Azure Arc üzerinde Azure App Service | Azure Arc özellikli Kubernetes kümelerinin üzerinde App Service bir Kubernetes ortamı sağlamanızı sağlar. |
Kubernetes'te Azure Event Grid | Azure Arc özellikli Kubernetes kümelerinin üzerinde konular ve olay abonelikleri gibi olay kılavuzu kaynakları oluşturun ve yönetin. |
Azure Arc üzerinde Azure API Management | Azure Arc özellikli Kubernetes kümelerinde API Management ağ geçidini dağıtın ve yönetin. |
Azure Arc özellikli Machine Learning | Azure Arc özellikli Kubernetes kümelerinde Azure Machine Learning'i dağıtın ve çalıştırın. |
Flux (GitOps) | Küme yapılandırmasını ve uygulama dağıtımını yönetmek için Flux ile GitOps kullanın. |
Azure Kubernetes Service (AKS) ve Arc özellikli Kubernetes için Dapr uzantısı | Dapr araçlarını indirme ve kümelerinize çalışma zamanını el ile yükleme ve yönetme yükünü ortadan kaldırır. |
Not
Azure Arc özellikli Open Service Mesh, Azure Key Vault Gizli Dizi Sağlayıcısı, Flux (GitOps) ve Bulut uzantıları için Microsoft Defender desteğiyle Azure'dan sağlanan AKS karma kümelerine Azure Arc uzantılarını yükleme şu anda önizleme aşamasındadır.
Uzantı kapsamı
Arc özellikli Kubernetes kümesindeki uzantı yüklemeleri küme kapsamlı veya ad alanı kapsamlıdır.
Uzantı oluşturma sırasında belirtilene release-namespace
küme kapsamlı bir uzantı yüklenir. Genellikle küme kapsamındaki uzantının ve podlar, işleçler ve Özel Kaynak Tanımları (CRD' ler) gibi bileşenlerinin yalnızca bir örneği kümedeki yayın ad alanına yüklenir.
Ad alanı kapsamlı bir uzantı, özelliği kullanılarak –namespace
sağlanan belirli bir ad alanına yüklenebilir. Uzantı bir ad alanı kapsamında dağıtılabildiğinden, ad alanı kapsamlı uzantının ve bileşenlerinin birden çok örneği kümede çalıştırılabilir. Her uzantı örneğinin dağıtıldığı ad alanında izinleri vardır. Kubernetes'te Event Grid dışında yukarıdaki tüm uzantılar küme kapsamındadır.
Yukarıda listelenen tüm uzantılar, Azure Arc'ta Azure API Management dışında küme kapsamlıdır.
Küme uzantılarının kullanımı
Uzantı örneği oluşturma
ile k8s-extension create
, zorunlu parametreler için değerleri geçirerek yeni bir uzantı örneği oluşturun. Aşağıdaki komut, Azure Arc özellikli Kubernetes kümenizde kapsayıcılar için Azure İzleyici uzantısı örneği oluşturur:
az k8s-extension create --name azuremonitor-containers --extension-type Microsoft.AzureMonitor.Containers --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Çıkış:
{
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": null,
"configurationSettings": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eus"
},
"creationTime": "2021-04-02T12:13:06.7534628+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuremonitor.containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/demo/providers/Microsoft.Kubernetes/connectedClusters/demo/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2021-04-02T12:13:06.753463+00:00",
"lastStatusTime": null,
"name": "azuremonitor-containers",
"releaseTrain": "Stable",
"resourceGroup": "demo",
"scope": {
"cluster": {
"releaseNamespace": "azuremonitor-containers"
},
"namespace": null
},
"statuses": [],
"systemData": null,
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "2.8.2"
}
Not
Hizmet hassas bilgileri 48 saatten uzun süre tutamıyor. Azure Arc özellikli Kubernetes aracılarının 48 saatten uzun bir süre ağ bağlantısı yoksa ve kümede uzantı oluşturulup oluşturulmayacağını belirleyemiyorsa uzantı duruma geçirilmiştir Failed
. Duruma geçtikten Failed
sonra, yeni bir uzantı Azure kaynağı oluşturmak için yeniden çalıştırmanız k8s-extension create
gerekir.
Kapsayıcılar için Azure İzleyici tekil bir uzantıdır (küme başına yalnızca bir tane gereklidir). Uzantılar aracılığıyla yüklemeden önce kapsayıcılar için Azure İzleyici'nin önceki Helm grafiği yüklemelerini temizlemeniz gerekir (uzantılar olmadan). komutunu çalıştırmadan az k8s-extension create
önce Helm grafiğini silme yönergelerini izleyin.
Gerekli parametreler
Parametre adı | Açıklama |
---|---|
--name |
Uzantı örneğinin adı |
--extension-type |
Kümeye yüklemek istediğiniz uzantı türü. Örneğin: Microsoft.AzureMonitor.Containers, microsoft.azuredefender.kubernetes |
--scope |
Uzantı için yükleme kapsamı - cluster veya namespace |
--cluster-name |
Uzantı örneğinin oluşturulması gereken Azure Arc özellikli Kubernetes kaynağının adı |
--resource-group |
Azure Arc özellikli Kubernetes kaynağını içeren kaynak grubu |
--cluster-type |
Uzantı örneğinin oluşturulması gereken küme türü. Çoğu senaryo için Azure connectedClusters Arc özellikli Kubernetes'e karşılık gelen kullanın. |
Not
Azure'dan sağlanan AKS karma kümeleriyle çalışırken kullanılacak provisionedClusters
şekilde ayarlamanız --cluster-type
ve komutuna eklemeniz --cluster-resource-provider microsoft.hybridcontainerservice
gerekir. Azure'dan sağlanan AKS karma kümelerine Azure Arc uzantılarını yükleme şu anda önizleme aşamasındadır.
İsteğe bağlı parametreler
Parametre adı | Açıklama |
---|---|
--auto-upgrade-minor-version |
Uzantı ikincil sürümünün otomatik olarak yükseltilip yükseltilmeyeceğini belirten Boole özelliği. Varsayılan: true . Bu parametre true olarak ayarlanırsa, sürüm dinamik olarak güncelleştirileceği için parametreyi ayarlayamazsınız version . olarak ayarlanırsa false , düzeltme eki sürümleri için bile uzantı otomatik olarak yükseltilmeyecektir. |
--version |
Yüklenecek uzantının sürümü (uzantı örneğinin sabitleneceği belirli sürüm). Auto-upgrade-minor-version olarak ayarlandıysa true sağlanmamalıdır. |
--configuration-settings |
İşlevselliğini denetlemek için uzantıya geçirilebilen ayarlar. Parametre adından sonra boşlukla ayrılmış key=value çiftler olarak geçirileceklerdir. Bu parametre komutunda kullanılıyorsa, --configuration-settings-file aynı komutta kullanılamaz. |
--configuration-settings-file |
Yapılandırma ayarlarını uzantıya geçirmek için kullanılacak anahtar değer çiftlerine sahip JSON dosyasının yolu. Bu parametre komutunda kullanılıyorsa, --configuration-settings aynı komutta kullanılamaz. |
--configuration-protected-settings |
Bu ayarlar API çağrıları veya az k8s-extension show komutları kullanılarak GET alınamaz ve bu nedenle hassas ayarları geçirmek için kullanılır. Parametre adından sonra boşlukla ayrılmış key=value çiftler olarak geçirileceklerdir. Bu parametre komutunda kullanılıyorsa, --configuration-protected-settings-file aynı komutta kullanılamaz. |
--configuration-protected-settings-file |
Gizli ayarları uzantıya geçirmek için kullanılacak anahtar değer çiftlerine sahip JSON dosyasının yolu. Bu parametre komutunda kullanılıyorsa, --configuration-protected-settings aynı komutta kullanılamaz. |
--release-namespace |
Bu parametre, yayının oluşturulacağı ad alanını gösterir. Bu parametre yalnızca parametresi olarak cluster ayarlandıysa scope geçerlidir. |
--release-train |
Uzantı yazarları, sürümleri , Preview vb. gibi Stable farklı sürüm eğitimlerinde yayımlayabilir. Bu parametre açıkça ayarlanmadıysa, Stable varsayılan olarak kullanılır. Parametre olarak ayarlandığında false bu parametre kullanılamazautoUpgradeMinorVersion . |
--target-namespace |
Bu parametre, yayının oluşturulacağı ad alanını gösterir. Bu uzantı örneği için oluşturulan sistem hesabının izni bu ad alanıyla kısıtlanacak. Bu parametre yalnızca parametresi olarak ayarlandıysa scope namespace geçerlidir. |
Uzantı örneğinin ayrıntılarını gösterme
ile yüklü olan ve zorunlu parametreler için değerleri geçiren uzantı örneğinin k8s-extension show
ayrıntılarını görüntüleyin:
az k8s-extension show --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Çıkış:
{
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": null,
"configurationSettings": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eus"
},
"creationTime": "2021-04-02T12:13:06.7534628+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuremonitor.containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/demo/providers/Microsoft.Kubernetes/connectedClusters/demo/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers",
"identity": null,
"installState": "Installed",
"lastModifiedTime": "2021-04-02T12:13:06.753463+00:00",
"lastStatusTime": "2021-04-02T12:13:49.636+00:00",
"name": "azuremonitor-containers",
"releaseTrain": "Stable",
"resourceGroup": "demo",
"scope": {
"cluster": {
"releaseNamespace": "azuremonitor-containers"
},
"namespace": null
},
"statuses": [],
"systemData": null,
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "2.8.2"
}
Kümede yüklü olan tüm uzantıları listeleme
ile bir kümede k8s-extension list
yüklü olan tüm uzantıları, zorunlu parametreler için değerleri geçirerek listeleyin.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Çıkış:
[
{
"autoUpgradeMinorVersion": true,
"creationTime": "2020-09-15T02:26:03.5519523+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "Microsoft.AzureMonitor.Containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRg/providers/Microsoft.Kubernetes/connectedClusters/myCluster/providers/Microsoft.KubernetesConfiguration/extensions/myExtInstanceName",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2020-09-15T02:48:45.6469664+00:00",
"lastStatusTime": null,
"name": "myExtInstanceName",
"releaseTrain": "Stable",
"resourceGroup": "myRG",
"scope": {
"cluster": {
"releaseNamespace": "myExtInstanceName1"
}
},
"statuses": [],
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "0.1.0"
},
{
"autoUpgradeMinorVersion": true,
"creationTime": "2020-09-02T00:41:16.8005159+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuredefender.kubernetes",
"id": "/subscriptions/0e849346-4343-582b-95a3-e40e6a648ae1/resourceGroups/myRg/providers/Microsoft.Kubernetes/connectedClusters/myCluster/providers/Microsoft.KubernetesConfiguration/extensions/defender",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2020-09-02T00:41:16.8005162+00:00",
"lastStatusTime": null,
"name": "microsoft.azuredefender.kubernetes",
"releaseTrain": "Stable",
"resourceGroup": "myRg",
"scope": {
"cluster": {
"releaseNamespace": "myExtInstanceName2"
}
},
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "0.1.0"
}
]
Uzantı örneğini silme
ile bir kümedeki k8s-extension delete
bir uzantı örneğini silin ve zorunlu parametreler için değerleri geçirin.
az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Not
Bu uzantıyı temsil eden Azure kaynağı hemen silinir. Bu uzantıyla ilişkili kümedeki Helm sürümü yalnızca Kubernetes kümesinde çalışan aracıların ağ bağlantısı olduğunda silinir ve istenen durumu getirmek için Azure hizmetlerine yeniden ulaşabilir.
Not
Azure'dan sağlanan AKS karma kümeleriyle çalışırken delete komutuna eklemeniz --yes
gerekir. Azure'dan sağlanan AKS karma kümelerine Azure Arc uzantılarını yükleme şu anda önizleme aşamasındadır.
Azure'dan sağlanan AKS karma kümeleri (önizleme)
Azure'dan sağlanan AKS karma kümelerine uzantı dağıtabilirsiniz. Ancak, başarıyla dağıtmak için göz önünde bulundurmanız gereken birkaç önemli fark vardır:
parametresinin
--cluster-type
değeri olmalıdırprovisionedClusters
.Komutlarınıza eklemeniz
--cluster-resource-provider microsoft.hybridcontainerservice
gerekir.Uzantı örneğini silerken komutuna eklemeniz
--yes
gerekir:az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type provisionedClusters --cluster-resource-provider microsoft.hybridcontainerservice --yes
Ayrıca, Azure CLI k8s-extension
modülünün en son sürümünü (sürüm >= 1.3.3) kullanıyor olmanız gerekir. En son sürümü eklemek veya güncelleştirmek için aşağıdaki komutları kullanın:
# add if you do not have this installed
az extension add --name k8s-extension
# update if you do have the module installed
az extension update --name k8s-extension
Önemli
Azure'dan sağlanan AKS karma kümelerine Azure Arc uzantılarını yükleme şu anda önizleme aşamasındadır.
Sonraki adımlar
Azure Arc özellikli Kubernetes için şu anda kullanılabilen küme uzantıları hakkında daha fazla bilgi edinin: