Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, güçlü güvenlik ve işlem bütünlüğü sağlamak için varsayılan olarak güvenli ayarlarla CLI UX kullanarak Bağlı kayıt defteri Arc uzantısını dağıtmayı öğreneceksiniz.
Bağlı kayıt defteri, şirket içinde veya uzak sitelerde kapsayıcılı iş yüklerine verimli yönetim ve erişim sağlayan uç müşteriler için önemli bir araçtır. Azure Arc ile tümleştirilerek hizmet, Kubernetes tabanlı kapsayıcılı iş yükleri için sorunsuz ve birleşik bir yaşam döngüsü yönetimi deneyimi sağlar. Arc özellikli Kubernetes kümelerinde bağlı kayıt defteri Arc uzantısının dağıtılması, bu iş yüklerinin yönetimini ve erişimini kolaylaştırır.
Önkoşullar
Azure'a ve Kubernetes'e bağlanmak için Azure CLI'yi ayarlayın.
Hızlı başlangıç ile mevcut bir Azure Container Registry (ACR) oluşturun veya kullanın.
Ayrılmış veri uç noktalarını etkinleştirerek ACR ile bağlı kayıt defteri arasında güvenlik duvarı erişimini ve iletişimini ayarlayın.
Mevcut bir Azure KubernetesService (AKS) kümesi oluşturun veya öğreticiyle kullanın.
Hızlı başlangıcı izleyerek Kubernetescluster ile Azure Arc arasındaki bağlantıyı ayarlayın.
Kubernetesextensions'ı yönetmek için k8s-extension komutunu kullanın.
az extension add --name k8s-extension
Gerekli Azure kaynak sağlayıcılarını aboneliğinize kaydedin ve Azure Arc özellikli Kubernetes'i kullanın:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
Azure kaynak sağlayıcısı, belirli bir Azure hizmeti için işlevselliği etkinleştiren rest işlemleri kümesidir.
ACR kaydındaki depo, bağlı kayıtla senkronize ediliyor.
az acr import --name myacrregistry --source mcr.microsoft.com/mcr/hello-world:latest --image hello-world:latest
Depo,
hello-world
Bağlı kayıt defteriyle eşitlemek için ACR kayıtmyacrregistry
defterinde oluşturulur.
Bağlı kayıt defteri Arc uzantısını varsayılan olarak güvenli ayarlarla dağıtma
Önkoşullar ve gerekli koşullar ve bileşenler uygulandıktan sonra, aşağıdaki ayarları kullanarak Arc özellikli kubernetes kümesine bağlı bir kayıt defteri uzantısını güvenli bir şekilde dağıtmak için kolaylaştırılmış yaklaşımı izleyin. Bu ayarlar HTTPS, Salt Okunur, Güven Dağıtımı ve Cert Manager hizmeti ile aşağıdaki yapılandırmayı tanımlar. Başarılı bir dağıtım için adımları izleyin:
- Bağlı kayıt defterini oluşturun.
- Bağlı kayıt defteri Arc uzantısını dağıtın.
- Bağlı kayıt defteri uzantısı dağıtımını doğrulayın.
- Bağlı kayıt defterinden görüntü kullanan bir pod dağıtın.
Bağlı kayıt defterini oluşturma ve ACR ile eşitleme
Bağlı kayıt defterini ACR ile eşitlenecek şekilde oluşturmak, bağlı kayıt defteri Arc uzantısını dağıtmanın temel adımıdır.
ACR kayıt defteriyle eşitlenen bağlı kayıt defterini oluşturun:
Kaynak grubundaki ve deposundaki ACR kayıt defteriyle eşitlenen bağlı bir kayıt
myconnectedregistry
defterimyacrregistry
oluşturmak için az acr connected-registry createmyresourcegroup
:hello-world
az acr connected-registry create --registry myacrregistry \ --name myconnectedregistry \ --resource-group myresourcegroup \ --repository "hello-world"
- az acr connected-registry create komutu, belirtilen depoyla bağlı kayıt defterini oluşturur.
-
az acr connected-registry create komutu,
myscopemap
adı verilen eşitleme kapsamı eşlemesi varsa eylemlerin üzerine yazar vemysynctoken
adı verilen eşitleme belirteci varsa özelliklerin üzerine yazar. - az acr connected-registry create komutu, bağlı kayıt defterinin oluşturulması sırasında ayrılmış bir veri uç noktasını doğrular ve ACR kayıt defterinde ayrılmış veri uç noktasını etkinleştirmek için bir komut sağlar.
Arc özellikli Kubernetes kümesinde bağlı kayıt defteri Arc uzantısını dağıtma
Bağlantılı Kayıt Defteri Arc uzantısını dağıtarak kapsayıcı görüntülerini ve diğer Open Container Initiative (OCI) yapıtlarını ACR kayıt defterinizle eşitleyebilirsiniz. Dağıtım, kayıt defteri yapıtlarına erişimi hızlandırmaya yardımcı olur ve gelişmiş senaryoların oluşturulmasını sağlar. Uzantı dağıtımı, bağlı kayıt defteri ile küme içindeki tüm istemci düğümleri arasında güvenli güven dağıtımı sağlar ve Aktarım Katmanı Güvenliği (TLS) şifrelemesi için cert-manager hizmetini yükler.
Bağlantı Dizesi ve Korumalı Ayarlar JSON Dosyası Oluşturma
Bağlı kayıt defteri uzantısının güvenli dağıtımı için yeni bir parola, aktarım protokolü dahil olmak üzere bağlantı dizesi oluşturun ve az acr connected-registry get-settings
protected-settings-extension.json
uzantı dağıtımı için gereken dosyayı oluşturun:
cat << EOF > protected-settings-extension.json
{
"connectionString": "$(az acr connected-registry get-settings \
--name myconnectedregistry \
--registry myacrregistry \
--parent-protocol https \
--generate-password 1 \
--query ACR_REGISTRY_CONNECTION_STRING --output tsv --yes)"
}
EOF
Not
Cat ve echo komutları, uzantı dağıtımı için gerekli bir adım olan bağlantı dizesi içeriğini dosyaya protected-settings-extension.json
leyerek bağlantı dizesi ayrıntılarıyla dosyayı oluştururprotected-settings-extension.json
.
az acr connected-registry get-settings komutu, yeni parola oluşturma ve aktarım protokolünün belirtimi dahil olmak üzere bağlantı dizesi oluşturur.
Bağlı kayıt defteri uzantısını dağıtma
az k8s-extension create komutunu kullanarak bağlı kayıt defteri uzantısını belirtilen yapılandırma ayrıntılarıyla dağıtın:
az k8s-extension create --cluster-name myarck8scluster \
--cluster-type connectedClusters \
--extension-type Microsoft.ContainerRegistry.ConnectedRegistry \
--name myconnectedregistry \
--resource-group myresourcegroup \
--config service.clusterIP=192.100.100.1 \
--config-protected-file protected-settings-extension.json
- az k8s-extension create komutu, kubernetescluster üzerindeki bağlı kayıt defteri uzantısını sağlanan yapılandırma parametreleri ve korumalı ayarlar dosyasıyla dağıtır.
- Bağlı kayıt defteri ile küme içindeki tüm istemci düğümleri arasında güvenli güven dağıtımı sağlar ve Aktarım Katmanı Güvenliği (TLS) şifrelemesi için cert-manager hizmetini yükler.
- clusterIP, AKS kümesi alt ağı IP aralığından olmalıdır. parametresi,
service.clusterIP
küme içindeki bağlı kayıt defteri hizmetinin IP adresini belirtir. Kubernetes kümesi için geçerli hizmet IP'leri aralığındaservice.clusterIP
ayarlamak önemlidir. içinservice.clusterIP
belirtilen IP adresinin, genellikle kümenin ağ ayarlarında bulunan kümenin ilk yapılandırması sırasında tanımlanan belirlenen hizmet IP aralığı içinde olduğundan emin olun.service.clusterIP
bu aralık içinde değilse, hem geçerli aralıkta olan hem de şu anda başka bir hizmet tarafından kullanımda olmayan bir IP adresine güncelleştirilmelidir.
Bağlı kayıt defteri uzantısı dağıtımını doğrulama
Arc özellikli Kubernetescluster'da bağlı kayıt defteri uzantısının dağıtımını doğrulamak için aşağıdaki adımları izleyin:
Dağıtım durumunu doğrulama
Bağlı kayıt defteri uzantısının dağıtım durumunu denetlemek için az k8s-extension show komutunu çalıştırın.
az k8s-extension show --name myconnectedregistry \
--cluster-name myarck8scluster \
--resource-group myresourcegroup \
--cluster-type connectedClusters
Örnek Çıkış
{
"aksAssignedIdentity": null,
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": {
"connectionString": ""
},
"configurationSettings": {
"pvc.storageClassName": "standard",
"pvc.storageRequest": "250Gi",
"service.clusterIP": "[your service cluster ip]"
},
"currentVersion": "0.11.0",
"customLocationSettings": null,
"errorInfo": null,
"extensionType": "microsoft.containerregistry.connectedregistry",
"id": "/subscriptions/[your subscription id]/resourceGroups/[your resource group name]/providers/Microsoft.Kubernetes/connectedClusters/[your arc cluster name]/providers/Microsoft.KubernetesConfiguration/extensions/[your extension name]",
"identity": {
"principalId": "[identity principal id]",
"tenantId": null,
"type": "SystemAssigned"
},
"isSystemExtension": false,
"name": "[your extension name]",
"packageUri": null,
"plan": null,
"provisioningState": "Succeeded",
"releaseTrain": "preview",
"resourceGroup": "[your resource group]",
"scope": {
"cluster": {
"releaseNamespace": "connected-registry"
},
"namespace": null
},
"statuses": [],
"systemData": {
"createdAt": "2024-07-12T18:17:51.364427+00:00",
"createdBy": null,
"createdByType": null,
"lastModifiedAt": "2024-07-12T18:22:42.156799+00:00",
"lastModifiedBy": null,
"lastModifiedByType": null
},
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": null
}
Bağlı kayıt defteri durumunu ve hâlini doğrula
Her bağlı kayıt defteri için, az acr connected-registry list komutunu kullanarak bağlı kayıt defterinin durumunu ve durumunu görüntüleyebilirsiniz:
az acr connected-registry list --registry myacrregistry \ --output table
Örnek Çıkış
| NAME | MODE | CONNECTION STATE | PARENT | LOGIN SERVER | LAST SYNC(UTC) |
|------|------|------------------|--------|--------------|----------------|
| myconnectedregistry | ReadWrite | online | myacrregistry | myacrregistry.azurecr.io | 2024-05-09 12:00:00 |
| myreadonlyacr | ReadOnly | offline | myacrregistry | myacrregistry.azurecr.io | 2024-05-09 12:00:00 |
Belirli bağlı kayıt defteri ayrıntılarını doğrulama
Belirli bir bağlı kayıt defteriyle ilgili ayrıntılar için az acr connected-registry show komutunu kullanın:
az acr connected-registry show --registry myacrregistry \
--name myreadonlyacr \
--output table
Örnek Çıkış
| NAME | MODE | CONNECTION STATE | PARENT | LOGIN SERVER | LAST SYNC(UTC) | SYNC SCHEDULE | SYNC WINDOW |
| ------------------- | --------- | ---------------- | ------------- | ------------------------ | ------------------- | ------------- | ----------------- |
| myconnectedregistry | ReadWrite | online | myacrregistry | myacrregistry.azurecr.io | 2024-05-09 12:00:00 | 0 0 * * * | 00:00:00-23:59:59 |
- az k8s-extension show komutu uzantı dağıtımının durumunu doğrular.
- Komut ayrıca bağlı kayıt defterinin bağlantı durumu, son eşitleme, eşitleme penceresi, eşitleme zamanlaması ve daha fazlası hakkında ayrıntılı bilgi sağlar.
Bağlı kayıt defterinden görüntü kullanan bir pod dağıtın
Küme içindeki bağlı kayıt defterinden görüntü kullanan bir pod dağıtmak için işlemin küme düğümünü içinden gerçekleştirilmesi gerekir. Şu adımları izleyin:
- Bağlı kayıt defteriyle kimlik doğrulaması yapmak için kümede bir gizli dizi oluşturun:
Kümede Bağlı kayıt defteriyle kimlik doğrulaması yapmak üzere bir gizli dizi oluşturmak için kubectl create secret docker-registry komutunu çalıştırın:
kubectl create secret docker-registry regcred --docker-server=192.100.100.1 --docker-username=mytoken --docker-password=mypassword
Bağlı kayıt defterinin service.clusterIP adresinin
192.100.100.1
değerini ve etiketlihello-world
görüntü adınılatest
kullanarak bağlı kayıt defterinden istenen görüntüyü kullanan podu dağıtın:kubectl apply -f - <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: hello-world-deployment labels: app: hello-world spec: selector: matchLabels: app: hello-world replicas: 1 template: metadata: labels: app: hello-world spec: imagePullSecrets: - name: regcred containers: - name: hello-world image: 192.100.100.1/hello-world:latest EOF
Kaynakları temizleme
Dağıtılan bağlı kayıt defteri uzantısını silerek ilgili bağlı kayıt defteri podlarını ve yapılandırma ayarlarını kaldırırsınız.
Bağlı kayıt defteri uzantısını silme
Bağlı kayıt defteri uzantısını silmek için az k8s-extension delete komutunu çalıştırın:
az k8s-extension delete --name myconnectedregistry --cluster-name myarcakscluster \ --resource-group myresourcegroup \ --cluster-type connectedClusters
Dağıtılan bağlı kayıt defterini silerek, bağlı kayıt defteri bulut örneğini ve yapılandırma ayrıntılarını kaldırırsınız.
Bağlı kayıt defterini silme
Bağlı kayıt defterini silmek için az acr connected-registry delete komutunu çalıştırın:
az acr connected-registry delete --registry myacrregistry \ --name myconnectedregistry \ --resource-group myresourcegroup