Azure Arc özellikli Kubernetes küme uzantılarını dağıtma ve yönetme
Arc özellikli bir Kubernetes kümesinde uzantı örnekleri oluşturabilir, güncelleştirmeler ve yapılandırmalarla ilgili seçenekler de dahil olmak üzere gerekli ve isteğe bağlı parametreleri ayarlayabilirsiniz. Ayrıca uzantı örneklerini görüntüleyebilir, listeleyebilir, güncelleştirebilir ve silebilirsiniz.
Başlamadan önce Arc özellikli Kubernetes kümesi uzantılarının kavramsal genel bakışını okuyun ve şu anda kullanılabilir olan uzantıların listesini gözden geçirin.
Önkoşullar
ve
k8s-extension
Azure CLI uzantılarınınconnectedk8s
en son sürümleri. Aşağıdaki komutları çalıştırarak bu uzantıları yükleyin:az extension add --name connectedk8s az extension add --name k8s-extension
connectedk8s
vek8s-extension
uzantıları zaten yüklüyse, aşağıdaki komutları kullanarak en son sürüme güncelleştirildiklerinden emin olun:az extension update --name connectedk8s az extension update --name k8s-extension
en az bir işletim sistemi düğümüne ve mimari türüne
linux/amd64
sahip mevcut Azure Arc özellikli Kubernetes bağlı kümesi. Flux (GitOps) dağıtıyorsanız, düğüm olmadan ARM64 tabanlı birlinux/amd64
küme kullanabilirsiniz.- Henüz bir kümeyi bağlamadıysanız hızlı başlangıcımızı kullanın.
- Aracılarınızı en son sürüme yükseltin.
Uzantı örneği oluşturma
Yeni bir uzantı örneği oluşturmak için kullanın ve k8s-extension create
gerekli parametrelerin değerlerini geçirin.
Bu örnek, Azure Arc özellikli kubernetes kümesinde bir Azure İzleyici Container Insights 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
Çıktı:
{
"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 tutamaz. 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
. Bu durumda yeni bir Uzantı Azure kaynağı oluşturmak için yeniden çalıştırmanız k8s-extension create
gerekir.
Azure İzleyici Container Insights tek bir uzantıdır (küme başına yalnızca bir uzantı gerekir). Uzantılar aracılığıyla aynı yüklemeden önce Azure İzleyici Container Insights'ın önceki Helm grafiği yüklemelerini (uzantılar olmadan) temizlemeniz gerekir. komutunu çalıştırmadan az k8s-extension create
önce Helm grafiğini silme yönergelerini izleyin.
Gerekli parametreler
Bir uzantı örneği oluşturmak için kullanılırken az k8s-extension create
aşağıdaki parametreler gereklidir.
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ının 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 Arc özellikli Kubernetes kümelerine karşılık gelen kullanın connectedClusters . |
İsteğe bağlı parametreler
Senaryolarınız için gerekli parametrelerle birlikte bu isteğe bağlı parametrelerden birini veya daha fazlasını kullanın.
Not
uzantı örneğinizi olarak ayarlayarak auto-upgrade-minor-version
true
en son ikincil ve düzeltme eki sürümlerine otomatik olarak yükseltmeyi seçebilir veya bunun yerine parametresini kullanarak --version
uzantı örneğinin sürümünü el ile ayarlayabilirsiniz. Her zaman en son güvenlik düzeltme eklerine ve özelliklere sahip olmanız için ikincil ve düzeltme eki sürümleri için otomatik yükseltmeleri etkinleştirmenizi öneririz.
Ana sürüm yükseltmeleri hataya neden olan değişiklikler içerebileceğinden, uzantı örneğinin yeni ana sürümleri için otomatik yükseltmeler desteklenmez. Uzantı örneklerinin yeni bir ana sürüme el ile ne zaman yükseltileceğini seçebilirsiniz.
Parametre adı | Açıklama |
---|---|
--auto-upgrade-minor-version |
Uzantı ikincil sürümünün otomatik olarak yükseltilip yükseltileceğini belirleyen Boole özelliği. Varsayılan ayar true değeridir. Bu parametre olarak true ayarlanırsa, sürüm dinamik olarak güncelleştirileceği için parametresini ayarlayamazsınız version . olarak ayarlanırsa false , düzeltme eki sürümleri için bile uzantı otomatik olarak yükseltilmeyecek. |
--version |
Yüklenecek uzantının sürümü (uzantı örneğinin sabitleneceği belirli bir sürüm). olarak ayarlandıysa auto-upgrade-minor-version true sağlanmamalıdır. |
--configuration-settings |
İşlevselliğini denetlemek için uzantıya geçirilebilen ayarlar. Bunlar, parametre adından sonra boşlukla ayrılmış key=value çiftler olarak geçirilir. 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 çiftler içeren key=value bir JSON dosyasının yolu. Bu parametre komutunda kullanılıyorsa, --configuration-settings aynı komutta kullanılamaz. |
--configuration-protected-settings |
API çağrıları veya az k8s-extension show komutları kullanılarak GET alınamayan ayarlar. Genellikle hassas ayarları geçirmek için kullanılır. Bunlar, parametre adından sonra boşlukla ayrılmış key=value çiftler olarak geçirilir. 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 çiftler içeren key=value bir 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. Yalnızca olarak ayarlandıysa scope cluster geçerlidir. |
--release-train |
Uzantı yazarları, , Preview vb. gibi Stable farklı sürüm trenlerinde sürüm yayımlayabilir. Bu parametre açıkça ayarlanmazsa, Stable varsayılan olarak kullanılır. |
--target-namespace |
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. Yalnızca olarak ayarlandıysa scope namespace geçerlidir. |
Uzantı ayrıntılarını göster
Şu anda yüklü olan bir uzantı örneğinin ayrıntılarını görüntülemek için komutunu kullanarak k8s-extension show
zorunlu parametrelerin değerlerini geçirin.
az k8s-extension show --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Çıktı:
{
"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
Bir kümede yüklü olan tüm uzantıların listesini görüntülemek için komutunu kullanarak k8s-extension list
zorunlu parametrelerin değerlerini geçirin.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Çıktı:
[
{
"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 güncelleştirme
Not
içindeki ve --configuration-protected-settings
güncelleştirilebilen belirli ayarları --configuration-settings
anlamak için belirli uzantı türüne ilişkin belgelere bakın. için --configuration-protected-settings
, yalnızca bir ayar güncelleştirilse bile tüm ayarların sağlanması beklenir. Bu ayarlardan herhangi biri atlanırsa, bu ayarlar eski ve silinmiş olarak kabul edilir.
Mevcut bir uzantı örneğini güncelleştirmek için komutunu kullanarak k8s-extension update
zorunlu ve isteğe bağlı parametrelerin değerlerini geçirin. Zorunlu ve isteğe bağlı parametreler, uzantı örneği oluşturmak için kullanılan parametrelerden biraz farklıdır.
Bu örnek, Azure Machine Learning uzantısı örneğinin ayarını olarak true
güncelleştirirauto-upgrade-minor-version
:
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --auto-upgrade-minor-version true --cluster-type managedClusters
Güncelleştirme için gerekli parametreler
Parametre adı | Açıklama |
---|---|
--name |
Uzantı örneğinin adı |
--cluster-name |
Uzantı örneğinin oluşturulması gereken kümenin adı |
--resource-group |
Kümeyi içeren kaynak grubu |
--cluster-type |
Uzantı örneğinin oluşturulması gereken küme türü. Azure Arc özellikli Kubernetes kümeleri için kullanın connectedClusters . AKS kümeleri için kullanın managedClusters . |
Güncelleştirme için isteğe bağlı parametreler
Parametre adı | Açıklama |
---|---|
--auto-upgrade-minor-version |
Uzantı ikincil sürümünün otomatik olarak yükseltilip yükseltildiğini belirten Boole özelliği. Varsayılan ayar true değeridir. Bu parametre true olarak ayarlanırsa, sürüm dinamik olarak güncelleştirileceği için version parametresini ayarlayamazsınız. olarak ayarlanırsa false , düzeltme eki sürümleri için bile uzantı otomatik olarak yükseltilmeyecek. |
--version |
Yüklenecek uzantının sürümü (uzantı örneğinin sabitleneceği belirli bir 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. Bunlar, parametre adından sonra boşlukla ayrılmış key=value çiftler olarak geçirilir. Bu parametre komutunda kullanılıyorsa, --configuration-settings-file aynı komutta kullanılamaz. Yalnızca güncelleştirme gerektiren ayarların sağlanması gerekir. Sağlanan ayarlar belirtilen değerlerle değiştirilir. |
--configuration-settings-file |
Yapılandırma ayarlarını uzantıya geçirmek için kullanılacak çiftler içeren key=value JSON dosyasının yolu. Bu parametre komutunda kullanılıyorsa, --configuration-settings aynı komutta kullanılamaz. |
--configuration-protected-settings |
API çağrıları veya az k8s-extension show komutları kullanılarak GET alınamayan ayarlar. Genellikle hassas ayarları geçirmek için kullanılır. Bunlar, parametre adından sonra boşlukla ayrılmış key=value çiftler olarak geçirilir. Bu parametre komutunda kullanılıyorsa, --configuration-protected-settings-file aynı komutta kullanılamaz. Korumalı bir ayarı güncelleştirdiğinizde, tüm korumalı ayarların belirtilmesi beklenir. Bu ayarlardan herhangi biri atlanırsa, bu ayarlar eski ve silinmiş olarak kabul edilir. |
--configuration-protected-settings-file |
Gizli ayarları uzantıya geçirmek için kullanılacak çiftler içeren key=value bir JSON dosyasının yolu. Bu parametre komutunda kullanılıyorsa, --configuration-protected-settings aynı komutta kullanılamaz. |
--scope |
Uzantının yükleme kapsamı - cluster veya namespace . |
--release-train |
Uzantı yazarları, , Preview vb. gibi Stable farklı sürüm trenlerinde sürüm yayımlayabilir. Bu parametre açıkça ayarlanmazsa, Stable varsayılan olarak kullanılır. |
Uzantı örneğini yükseltme
Daha önce belirtildiği gibi true olarak ayarlarsanız auto-upgrade-minor-version
yeni bir ikincil sürüm yayınlandığında uzantı otomatik olarak yükseltilir. Çoğu senaryo için otomatik yükseltmeleri etkinleştirmenizi öneririz. false olarak ayarlarsanız auto-upgrade-minor-version
, daha yeni bir sürüm istiyorsanız uzantıyı el ile yükseltmeniz gerekir.
Bir uzantının yeni bir ana örneğini almak için el ile yükseltmeler de gereklidir. Ana sürüm yükseltmelerinde beklenmeyen hataya neden olan değişiklikleri önlemek için ne zaman yükseltileceğini seçebilirsiniz.
Bir uzantı örneğini el ile yükseltmek için parametresini version
kullanın k8s-extension update
ve bir sürüm belirtmek üzere ayarlayın.
Bu örnek bir Azure Machine Learning uzantısı örneğini x.y.z sürümüne güncelleştirir:
az k8s-extension update --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --name azureml --version x.y.z
Uzantı örneğini silme
Bir kümedeki uzantı örneğini silmek için komutunu kullanarak k8s-extension delete
zorunlu parametrelerin değerlerini 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.
Sonraki adımlar
- Komutların ve parametrelerin kapsamlı bir listesi için az k8s-extension CLI başvuruyu gözden geçirin.
- Uzantıların Arc özellikli Kubernetes kümeleriyle nasıl çalıştığı hakkında daha fazla bilgi edinin.
- Azure Arc özellikli Kubernetes için şu anda kullanılabilir olan küme uzantılarını gözden geçirin.
- Uzantı sorunlarını giderme konusunda yardım alın.