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 makalede, Azure Arc tarafından etkinleştirilen Azure Container Storage'da Bulut Alma altvolumlarının (yerel temizlemeyle blob yükleme) nasıl yapılandırıldığı açıklanmaktadır. Bulut Alma altvolumu, ADLSgen2 de dahil olmak üzere uçtan bloba sınırsız veri alımını kolaylaştırır. Bu depolama türüne yazılan dosyalar sorunsuz bir şekilde blob depolamaya aktarılır ve karşıya yükleme onaylandıktan sonra yerel olarak temizlenir. Bu kaldırma işlemi, yeni veriler için alan kullanılabilirliği sağlar. Ayrıca, bu depolama seçeneği bağlantısız ortamlarda veri bütünlüğünü destekler ve bu da ağa yeniden bağlanıldığında yerel depolama ve eşitlemeyi etkinleştirir.
Örneğin, bulut ortamındaki Kalıcı Birim Talebinize (PVC) bir dosya yazabilir ve bir süreç dakikada bir yeni dosyaları kontrol etmek için bir tarama çalıştırabilir. Tanımlandıktan sonra dosya, belirlenen blob hedefinize yüklenmek üzere gönderilir. Başarılı bir yükleme onayının ardından Cloud Ingest alt birim beş dakika bekler ve dosyanızın yerel sürümünü siler.
Önkoşullar
Son hedefiniz blob depolama veya ADLSgen2 ise, bu makaledeki önkoşulları ve yönergeleri takip edin. Son hedefiniz OneLake ise, önce Bulut altvolumları için OneLake Kimliğini Yapılandırma başlığı altındaki yönergeleri izleyin.
Azure depolama hesabı oluşturma başlığındaki yönergeleri izleyerek bir depolama hesabı oluşturun.
Uyarı
Depolama hesabınızı oluşturduğunuzda, bunu Kubernetes kümenizle aynı kaynak grubu ve bölge/konum altında oluşturmanız önerilir.
Hızlı Başlangıç: Azure portalıyla > blobları karşıya yükleme, indirme ve listeleme Kapsayıcı oluşturma başlığı altındaki yönergeleri izleyerek daha önce oluşturduğunuz depolama hesabında bir kapsayıcı oluşturun.
Uzantı Kimliğini Yapılandırma
Edge Hacimler, blob depolamaya erişim için sistem tarafından atanan bir uzantı kimliği kullanılmasına olanak tanır. Bu bölümde, depolama hesabınıza erişim vermek için sistem tarafından atanan uzantı kimliğinin nasıl kullanılacağı açıklanır ve bu sayede Bulut Alma altvolumlarını bu depolama sistemlerine yükleyebilirsiniz.
Azure Arc tarafından etkinleştirilen Azure Container Storage ile İş Yükü Kimliği'ni kullanmak istiyorsanız Bulut altvolumları için İş Yükü Kimliğini Yapılandırma başlığı altındaki yönergeleri izleyin.
Azure portalı
- Arc özellikli kümenize gidin.
- Uzantılar'ı seçin.
- Azure Arc uzantısı tarafından etkinleştirilen Azure Container Storage'ınızı seçin.
- Küme Uzantısı Ayrıntıları altında Principal ID'yi not edin.
Uzantı Kimliği için blob depolama hesabını yapılandırma
Depolama hesabına Eklenti Kimliği izinleri ekleme
- Azure portalında depolama hesabına gidin.
- Erişim Denetimi (IAM) öğesini seçin.
- Ekle+ -> Rol ataması ekle'yi seçin.
- Depolama Blobu Veri Sahibi'ni seçin, ardından İleri seçeneğine tıklayın.
- +Üyeleri Seç'i seçin.
- Asıl kimliğinizi Seçili Üyeler: listesine eklemek için kimliği yapıştırın ve kimliğin yanındaki + öğesini seçin.
- Seç'e tıklayın.
- İzinleri gözden geçirmek ve atamak için İleri ve ardından Gözden Geçir + Ata seçin.
Bulut Verisi Alım Kalıcı Hacim Talebi (PVC) Oluşturun
Veri Aktarımı alt hacminizin PVC'sini oluşturmak için aşağıdaki işlemi kullanın:
Aşağıdaki içeriğe sahip adlı
cloudIngestPVC.yamlbir dosya oluşturun:kind: PersistentVolumeClaim apiVersion: v1 metadata: ### Create a name for your PVC ### name: <create-persistent-volume-claim-name-here> ### Use a namespace that matched your intended consuming pod, or "default" ### namespace: <intended-consuming-pod-or-default-here> spec: accessModes: - ReadWriteMany resources: requests: storage: 2Gi storageClassName: cloud-backed-scUyarı
Yalnızca küçük harfler ve çizgi kullanın. Daha fazla bilgi için Kubernetes nesne adlandırma belgelerine bakın.
-
metadata.nameDeğeri düzenleyin ve PVC'niz için bir ad oluşturun. Bu isim sonraki adımda deploymentExample.yaml dosyasının son satırında referans alınacaktır. -
metadata.namespacedeğerini, hedeflediğiniz tüketim podu ile düzenleyin. Hedeflenen bir tüketici pod yoksa değerinidefaultolarak ayarlayın. -
spec.resources.requests.storageparametresi, kalıcı birimin boyutunu belirler. Bu örnekte 2 GB'tır, ancak gereksinimlerinize uyacak şekilde değiştirilebilir.
-
cloudIngestPVC.yaml dosyasını uygulamak için şunu çalıştırın:
kubectl apply -f "cloudIngestPVC.yaml"
Edge Birim'e İnceleme Alt Bölümünü Bağlama
İçeri Aktarım için bir alt birim oluşturmak ve depolama hesabı kapsayıcınıza bağlanmak için uzantı kimliğini kullanarak aşağıdaki süreci izleyin:
Aşağıdaki komutu çalıştırarak oluşturduğunuz Edge Biriminin adını alın:
kubectl get edgevolumesAşağıdaki içeriğe sahip adlı
ingestSubvolume.yamlbir dosya oluşturun:apiVersion: "arccontainerstorage.azure.net/v1" kind: IngestSubvolume metadata: name: <create-a-subvolume-name-here> spec: edgevolume: <your-edge-volume-name-here> path: ingestSubDir # Don't use a preceding slash authentication: authType: MANAGED_IDENTITY storageAccountEndpoint: "https://<STORAGE ACCOUNT NAME>.blob.core.windows.net/" containerName: <your-blob-storage-account-container-name> ingest: order: newest-first minDelaySec: 60 eviction: order: unordered minDelaySec: 120 onDelete: trigger-immediate-ingestUyarı
Yalnızca küçük harfler ve çizgi kullanın. Daha fazla bilgi için Kubernetes nesne adlandırma belgelerine bakın.
-
metadata.name: Alt biriminiz için bir ad oluşturun. -
spec.edgevolume: Bu ad önceki adımdan alınmıştı. -
spec.path: Bağlama yolunun altında kendi alt dizin adınızı oluşturun. Varsayılan adingestSubDir. -
spec.authentication.authType: Bu, seçilen kimlik doğrulama mekanizmasına bağlı olarak veyaMANAGED_IDENTITYolmalıdırWORKLOAD_IDENTITY. -
spec.storageAccountEndpoint: Azure portalında depolama hesabınıza gidin. Genel Bakış sayfasında, ekranın sağ üst kısmındaki JSON Görünümü'nü seçin. Bağlantıyı properties.primaryEndpoints.blob altında bulabilirsiniz. Bağlantının tamamını kopyalayın. -
spec.containerName: Depolama hesabınızdaki kapsayıcı adı.
Aşağıdaki değişkenler makul varsayılan değerlere sahiptir, ancak değiştirilebilir:
-
spec.ingest.order: Kirli dosyaların yükleme sırası. Bu bir garanti değil, en iyi çabadır. Sipariş seçenekleri şunlardır:oldest-firstveyanewest-first. -
spec.ingest.minDelaySec: Kirli bir dosyanın alımına uygun hale gelmeden önce geçmesi gereken en az saniye sayısı. Bu sayı 0 ile 31536000 (saniye cinsinden bir yıl) arasında değişebilir. -
spec.eviction.order: Dosyalar buluta yüklendikten sonra nasıl çıkarılır? Çıkarma sırası seçenekleri şunlardır:unorderedveyanever. -
spec.eviction.minDelaySec: Temiz bir dosyanın silinmeye uygun hale gelmesi için gereken saniye sayısı. Bu sayı 0 ile 31536000 (saniye cinsinden bir yıl) arasında değişebilir. -
spec.onDelete: Silinmesi talep edildiğinde bu IngestSubVolume üzerinde yapılacak işlem. Seçenekler,trigger-immediate-ingesttüm dosyaları hemen almaya uygun olarak işaretleyip onları almaya çalışmak veyaabandonbu alma alt bölümü içindeki tüm verileri yok sayarak alt bölümü silmektir.
Uyarı
Değeriniz için
spec.onDeleteseçerseniz, altvolümdeki tüm kirli veriler kaybolur. Bunu bir seçenek olarak seçmeden önce lütfen dikkatli ve dikkatli olun.-
ingestSubvolume.yaml dosyasını uygulamak için şunu çalıştırın:
kubectl apply -f "ingestSubvolume.yaml"
Uygulamanızı ekleme (Kubernetes yerel uygulaması)
Veri içe alma özelliklerini kullanmak üzere PVC ile uyumlu genel bir tek pod (Kubernetes'in yerel uygulaması) yapılandırmak için aşağıdaki işlemi kullanın.
Aşağıdaki içeriğe sahip adlı
deploymentExample.yamlbir dosya oluşturun:apiVersion: apps/v1 kind: Deployment metadata: name: cloudingestsubvol-deployment ### This must be unique for each deployment you choose to create. spec: replicas: 2 selector: matchLabels: name: acsa-testclientdeployment template: metadata: name: acsa-testclientdeployment labels: name: acsa-testclientdeployment spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - acsa-testclientdeployment topologyKey: kubernetes.io/hostname containers: ### Specify the container in which to launch the busy box. ### - name: ingest-deployment-container image: mcr.microsoft.com/azure-cli:2.57.0@sha256:c7c8a97f2dec87539983f9ded34cd40397986dcbed23ddbb5964a18edae9cd09 command: - "/bin/sh" - "-c" - "dd if=/dev/urandom of=/data/ingestSubDir/acsaingesttestfile count=16 bs=1M && while true; do ls /data &>/dev/null || break; sleep 1; done" volumeMounts: ### This name must match the volumes.name attribute below ### - name: acsa-volume ### This mountPath is where the PVC is attached to the pod's filesystem ### mountPath: "/data" volumes: ### User-defined 'name' that's used to link the volumeMounts. This name must match volumeMounts.name as previously specified. ### - name: acsa-volume persistentVolumeClaim: ### This claimName must refer to your PVC metadata.name (Line 5) claimName: <your-pvc-metadata-name-from-line-5-of-pvc-yaml>Uyarı
Yalnızca küçük harfler ve çizgi kullanın. Daha fazla bilgi için Kubernetes nesne adlandırma belgelerine bakın.
-
containers.namevevolumes.persistentVolumeClaim.claimNamedeğerlerini düzenleyin. -
spec.pathdosyasındaki değeri düzenlediyseniz, bu dosyadaki değeringestSubDiryeni yol adınızla güncelleştirilmelidir. -
spec.replicasparametresi oluşturulacak çoğaltma podlarının sayısını belirler. Bu örnekte 2'tir, ancak gereksinimlerinize uyacak şekilde değiştirilebilir.
-
deploymentExample.yaml dosyasını uygulamak ve pod oluşturmak için şunu çalıştırın:
kubectl apply -f "deploymentExample.yaml"Sonraki adımda kullanılacak podunuzun adını bulun:
kubectl get podsUyarı
spec.replicasdeploymentExample.yaml dosyasından 2 ile belirtildiğinden iki pod oluşturulur. Sonraki adım için iki pod adını da kullanabilirsiniz.Podda exec'i başlatmak için aşağıdaki komutu çalıştırın.
<name-of-pod>ifadesini bir önceki adımdaki pod adınızla değiştirin:kubectl exec -it <name-of-pod> -- sh/datadosyanızdan belirtilen bağlama yoluna dizin değiştirin:cd /dataspec.pathdosyasında ayarladığınız değerle eşleşen bir dizin görmeniz gerekir. Varsayılan değerleri kullandıysanız, adı ingestSubDir'dir. Bu alt dizine geçin:cd ingestSubDirÖrneğin, adlı
file1.txtbir dosya oluşturun ve bu dosyaya yazın:echo "Hello World" > file1.txtBu dosya blob depolama hesabı kapsayıcınıza yüklenir ve beş dakika sonra yerel olarak temizlenir.
Azure portalında depolama hesabınıza gidin ve
spec.containerNamedosyasında ayarladığınız değerle eşleşen kapsayıcıyı bulun. Kapsayıcının içindefile1.txtdoldurulmuş olarak bulmalısınız. Dosya henüz orada değilse yaklaşık 1 dakika bekleyin; Edge Volumes yüklenmeden önce bir dakika bekler.
Sonraki Adımlar
- Cloud Mirror altvolumlarını yapılandırmayı öğrenmek için bkz. Cloud Mirror altvolumlarını yapılandırma.
- Edge Birimlerini birlikte kullanmayı öğrenmek için bkz. Edge Birimlerini birlikte kullanma.