Aracılığıyla paylaş


Hızlı Başlangıç: Bağlı kayıt defteri Arc uzantısını dağıtma

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

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:

  1. Bağlı kayıt defterini oluşturun.
  2. Bağlı kayıt defteri Arc uzantısını dağıtın.
  3. Bağlı kayıt defteri uzantısı dağıtımını doğrulayın.
  4. 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.

  1. 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 defteri myacrregistry 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 ve mysynctoken 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.

  1. 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-settingsprotected-settings-extension.jsonuzantı 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.

  1. 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ığında service.clusterIP ayarlamak önemlidir. için service.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:

  1. 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
  }
  1. 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 |
  1. 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:

  1. 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
  1. Bağlı kayıt defterinin service.clusterIP adresinin 192.100.100.1 değerini ve etiketli hello-worldgö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.

  1. 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.

  1. 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 
    

Sonraki adımlar