Bagikan melalui


Menggunakan Pratinjau Azure Container Storage dengan Azure Elastic SAN

Azure Container Storage adalah layanan manajemen volume, penyebaran, dan orkestrasi berbasis cloud yang dibangun secara asli untuk kontainer. Artikel ini menunjukkan cara mengonfigurasi Azure Container Storage untuk menggunakan Azure Elastic SAN sebagai penyimpanan back-end untuk beban kerja Kubernetes Anda. Pada akhirnya, Anda akan memiliki pod yang menggunakan Elastic SAN sebagai penyimpanannya.

Prasyarat

  • Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

  • Artikel ini memerlukan versi terbaru (2.35.0 atau yang lebih baru) dari Azure CLI. Lihat Cara menginstal Azure CLI. Jika Anda menggunakan lingkungan Bash di Azure Cloud Shell, versi terbaru sudah diinstal. Jika Anda berencana untuk menjalankan perintah secara lokal alih-alih di Azure Cloud Shell, pastikan untuk menjalankannya dengan hak istimewa administratif. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.

  • Anda akan memerlukan klien baris perintah Kubernetes, kubectl. Ini sudah diinstal jika Anda menggunakan Azure Cloud Shell, atau Anda dapat menginstalnya secara lokal dengan menjalankan az aks install-cli perintah .

  • Jika Anda belum menginstal Azure Container Storage, ikuti instruksi di Menginstal Azure Container Storage.

  • Periksa apakah wilayah target Anda didukung di wilayah Azure Container Storage.

  • Pastikan langganan Anda memiliki peran Pemilik Azure Container Storage atau peran Kontributor Azure Container Storage. Agar Azure Container Storage berhasil berkomunikasi dengan API Elastic SAN, azure Container Storage memerlukan izin khusus yang akan diberikan salah satu dari kedua peran tersebut.

Catatan

Untuk menggunakan Azure Container Storage dengan Azure Elastic SAN, kluster AKS Anda harus memiliki kumpulan node setidaknya tiga VM tujuan umum seperti standard_d4s_v5 untuk node kluster, masing-masing dengan minimal empat CPU virtual (vCPU).

Batasan

Fitur berikut saat ini tidak didukung saat Anda menggunakan Azure Container Storage untuk menyebarkan dan mengatur ELASTIC SAN.

  • Rekam jepret volume
  • Ekspansi kumpulan penyimpanan

Ketersediaan regional

Azure Container Storage hanya tersedia untuk subset wilayah Azure:

  • (Afrika) Afrika Selatan Utara
  • (Asia Pasifik) Australia Timur
  • (Asia Pasifik) Asia Timur
  • (Asia Pasifik) Jepang Timur
  • (Asia Pasifik) Korea Tengah
  • (Asia Pasifik) Asia Tenggara
  • (Asia Pasifik) India Tengah
  • (Eropa) Prancis Tengah
  • (Eropa) Jerman Barat Tengah
  • (Eropa) Eropa Utara
  • (Eropa) Eropa Barat
  • (Eropa) UK Selatan
  • (Eropa) Swedia Tengah
  • (Eropa) Swiss Utara
  • (Timur Tengah) UEA Utara
  • (Amerika Utara): US Timur
  • (Amerika Utara): US Timur 2
  • (Amerika Utara) US Barat
  • (Amerika Utara): US Barat 2
  • (Amerika Utara): US Barat 3
  • (Amerika Utara): US Tengah
  • (Amerika Utara) US Tengah Utara
  • (Amerika Utara) US Tengah Selatan
  • (Amerika Utara) US Tengah Barat
  • (Amerika Utara) Kanada Tengah
  • (Amerika Utara) Kanada Timur
  • (Amerika Selatan) Brasil Selatan

Membuat kumpulan penyimpanan

Pertama, buat kumpulan penyimpanan, yang merupakan pengelompokan penyimpanan logis untuk kluster Kubernetes Anda, dengan menentukannya dalam file manifes YAML.

Jika Anda mengaktifkan Azure Container Storage menggunakan az aks create perintah atau az aks update , Anda mungkin sudah memiliki kumpulan penyimpanan. Gunakan kubectl get sp -n acstor untuk mendapatkan daftar kumpulan penyimpanan. Jika Anda memiliki kumpulan penyimpanan yang sudah tersedia yang ingin Anda gunakan, Anda dapat melewati bagian ini dan melanjutkan ke Menampilkan kelas penyimpanan yang tersedia.

Ikuti langkah-langkah ini untuk membuat kumpulan penyimpanan dengan Azure Elastic SAN.

  1. Gunakan editor teks favorit Anda untuk membuat file manifes YAML seperti code acstor-storagepool.yaml.

  2. Tempelkan dalam kode berikut. Nilai nama kumpulan penyimpanan bisa menjadi apa pun yang Anda inginkan. Sesuaikan penyimpanan untuk mencerminkan kapasitas penyimpanan yang Anda inginkan di Gi atau Ti, dan simpan file. Azure Elastic SAN saat ini tidak mendukung mengubah ukuran kumpulan penyimpanan.

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: managed
      namespace: acstor
    spec:
      poolType:
        elasticSan: {}
      resources:
        requests: {"storage": 1Ti}
    
  3. Terapkan file manifes YAML untuk membuat kumpulan penyimpanan.

    kubectl apply -f acstor-storagepool.yaml 
    

    Saat pembuatan kumpulan penyimpanan selesai, Anda akan melihat pesan seperti:

    storagepool.containerstorage.azure.com/managed created
    

    Anda juga dapat menjalankan perintah ini untuk memeriksa status kumpulan penyimpanan. Ganti <storage-pool-name> dengan nilai nama kumpulan penyimpanan Anda. Untuk contoh ini, nilai akan dikelola.

    kubectl describe sp <storage-pool-name> -n acstor
    

Saat kumpulan penyimpanan dibuat, Azure Container Storage akan membuat kelas penyimpanan atas nama Anda menggunakan konvensi acstor-<storage-pool-name>penamaan . Ini juga akan membuat sumber daya Azure Elastic SAN.

Menampilkan kelas penyimpanan yang tersedia

Saat kumpulan penyimpanan siap digunakan, Anda harus memilih kelas penyimpanan untuk menentukan bagaimana penyimpanan dibuat secara dinamis saat membuat klaim volume persisten dan menyebarkan volume persisten.

Jalankan kubectl get sc untuk menampilkan kelas penyimpanan yang tersedia. Anda akan melihat kelas penyimpanan yang disebut acstor-<storage-pool-name>.

Penting

Jangan gunakan kelas penyimpanan yang ditandai internal. Ini adalah kelas penyimpanan internal yang diperlukan agar Azure Container Storage berfungsi.

Buat klaim volume persisten

Klaim volume persisten (PVC) digunakan untuk mem-provisikan penyimpanan secara otomatis berdasarkan kelas penyimpanan. Ikuti langkah-langkah ini untuk membuat PVC menggunakan kelas penyimpanan baru.

  1. Gunakan editor teks favorit Anda untuk membuat file manifes YAML seperti code acstor-pvc.yaml.

  2. Tempelkan kode berikut dan simpan file. Nilai PVC name dapat menjadi apa pun yang Anda inginkan.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: managedpvc
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: acstor-managed # replace with the name of your storage class if different
      resources:
        requests:
          storage: 100Gi
    
  3. Terapkan file manifes YAML untuk membuat PVC.

    kubectl apply -f acstor-pvc.yaml
    

    Anda akan melihat output yang serupa dengan:

    persistentvolumeclaim/managedpvc created
    

    Anda dapat memverifikasi status PVC dengan menjalankan perintah berikut:

    kubectl describe pvc managedpvc
    

Setelah PVC dibuat, PVC siap digunakan oleh pod.

Menyebarkan pod dan melampirkan volume persisten

Buat pod menggunakan Fio (Flexible I/O Tester) untuk simulasi benchmarking dan beban kerja, dan tentukan jalur pemasangan untuk volume persisten. Untuk claimName, gunakan nilai nama yang Anda gunakan saat membuat klaim volume persisten.

  1. Gunakan editor teks favorit Anda untuk membuat file manifes YAML seperti code acstor-pod.yaml.

  2. Tempelkan kode berikut dan simpan file.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      volumes:
        - name: managedpv
          persistentVolumeClaim:
            claimName: managedpvc
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: managedpv
    
  3. Terapkan file manifes YAML untuk menyebarkan pod.

    kubectl apply -f acstor-pod.yaml
    

    Anda akan melihat output yang mirip dengan hal berikut:

    pod/fiopod created
    
  4. Periksa apakah pod berjalan dan bahwa klaim volume persisten telah berhasil terikat ke pod:

    kubectl describe pod fiopod
    kubectl describe pvc managedpvc
    
  5. Periksa pengujian fio untuk melihat statusnya saat ini:

    kubectl exec -it fiopod -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
    

Anda sekarang telah menyebarkan pod yang menggunakan Elastic SAN sebagai penyimpanannya, dan Anda dapat menggunakannya untuk beban kerja Kubernetes Anda.

Melepas dan memasang kembali volume persisten

Untuk melepaskan volume persisten, hapus pod tempat volume persisten dilampirkan. Ganti <pod-name> dengan nama pod, misalnya fiopod.

kubectl delete pods <pod-name>

Untuk memasang kembali volume persisten, cukup referensikan nama klaim volume persisten dalam file manifes YAML seperti yang dijelaskan dalam Menyebarkan pod dan melampirkan volume persisten.

Untuk memeriksa volume persisten mana yang terikat dengan klaim volume persisten, jalankan kubectl get pvc <persistent-volume-claim-name>.

Menghapus kumpulan penyimpanan

Jika Anda ingin menghapus kumpulan penyimpanan, jalankan perintah berikut. Ganti <storage-pool-name> dengan nama kumpulan penyimpanan.

kubectl delete sp -n acstor <storage-pool-name>

Lihat juga