Sdílet prostřednictvím


Kurz – Nasazení služby Azure Container Storage (verze 1.x.x) v clusteru AKS

V tomto kurzu se seznámíte se službou Azure Container Storage a předvedeme, jak nasadit a spravovat úložiště nativní pro kontejnery pro aplikace spuštěné ve službě Azure Kubernetes Service (AKS). Pokud teď nechcete nasadit Službu Azure Container Storage, můžete tento kurz přeskočit a přejít přímo k nasazení aplikace v AKS. Azure Container Storage nebudete potřebovat pro základní aplikaci pro výkladní skříň v této sérii kurzů.

Důležité

Tento článek vysvětluje, jak nainstalovat Službu Azure Container Storage (verze 1.x.x), která teď explicitně vyžaduje parametr --container-storage-version 1 připnutí verze pro instalaci. Služba Azure Container Storage (verze 2.x.x) je teď dostupná.

Azure Container Storage zjednodušuje správu stavových aplikací v Kubernetes tím, že nabízí úložiště nativní pro kontejnery přizpůsobené různým úlohám, včetně databází, analytických platforem a vysoce výkonných aplikací.

Na konci tohoto kurzu:

  • Seznamte se s tím, jak Azure Container Storage podporuje různé úlohy v Kubernetes.
  • Prozkoumejte několik možností back-endu úložiště pro přizpůsobení úložiště potřebám vaší aplikace.
  • Nasadit Azure Container Storage (verze 1.x.x) do clusteru AKS a vytvořit generický efemérní svazek.

Než začnete

V předchozích kurzech jste vytvořili image kontejneru, nahráli ji do instance ACR a vytvořili cluster AKS. Začněte s Tutoriálem 1 – Příprava aplikace na AKS, abyste mohli pokračovat podle pokynů.

Instalace rozšíření Kubernetes

Spuštěním následujícího příkazu přidejte nebo upgradujte na nejnovější verzi k8s-extension .

az extension add --upgrade --name k8s-extension

Připojení ke clusteru a kontrola stavu uzlu

Pokud ještě nejste připojení ke clusteru z předchozího kurzu, spusťte následující příkazy. Pokud už jste připojení, můžete tuto část přeskočit.

  1. Spuštěním následujícího příkazu se připojte ke clusteru.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. Ověřte připojení k vašemu clusteru pomocí příkazu kubectl get. Tento příkaz vrátí seznam uzlů clusteru.

    kubectl get nodes
    
  3. Následující příklad výstupu ukazuje uzly v clusteru. Ujistěte se, že stav všech uzlů zobrazuje Připraveno:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.30.9
    aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.30.9
    aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.30.9
    

Volba možnosti záložního úložiště

Azure Container Storage (verze 1.x.x) používá fondy úložiště ke zřizování a správě trvalých a obecných svazků. Nabízí celou řadu možností back-endového úložiště pro fondy úložiště, které jsou vhodné pro specifické pracovní zatížení. Výběr správného typu úložiště je kritický pro optimalizaci výkonu úloh, stálosti a nákladové efektivity. V tomto kurzu použijeme efemérní disk s místním NVMe jako podkladové úložiště pro vytvoření obecného efemérního svazku. Prozkoumáme ale také další možnosti záložního úložiště, které vám umožní vytvářet trvalé svazky.

Dočasný disk

Dočasný disk využívá prostředky místního úložiště na uzlech AKS (místní NVMe nebo dočasné SSD). Nabízí latenci pod milisekundu a vysoké IOPS, ale bez trvalého uchování dat, pokud se virtuální počítač restartuje. Dočasný disk je nejvhodnější pro aplikace, jako je Cassandra, které upřednostňují rychlost trvalosti, a je ideální pro úlohy s vlastní replikací na úrovni aplikace.

Dočasný disk můžete použít k vytvoření obecných dočasných svazků nebo trvalých svazků, i když se data ztratí, pokud se virtuální počítač restartuje.

Azure disky

Ideální pro databáze, jako jsou PostgreSQL a MongoDB, disky Azure nabízejí odolnost, škálovatelnost a vícevrstvé možnosti výkonu, včetně ssd úrovně Premium a SSD úrovně Ultra.

Disky Azure umožňují automatické zřizování svazků úložiště a zahrnují integrovanou redundanci a vysokou dostupnost.

Azure Elastic SAN (Preview)

Služba Azure Elastic SAN je vhodná pro potřeby sdíleného úložiště a databáze pro obecné účely vyžadující škálovatelnost a vysokou dostupnost. Je vhodná pro úlohy, jako jsou kanály CI/CD nebo rozsáhlé zpracování dat.

Povolení služby Azure Container Storage (verze 1.x.x) a vytvoření fondu úložiště

Spuštěním následujícího příkazu nainstalujte Azure Container Storage do clusteru a vytvořte místní fond úložiště NVMe.

az aks update -n myAKSCluster -g myResourceGroup --enable-azure-container-storage ephemeralDisk --container-storage-version 1 --storage-pool-option NVMe

Nasazení by mělo trvat méně než 15 minut.

Ověření stavu fondu úložiště

Po dokončení nasazení se povolí komponenty vybraného typu fondu úložiště a budete mít výchozí fond úložiště.

Pokud chcete získat seznam dostupných fondů úložiště, spusťte následující příkaz:

kubectl get sp -n acstor

Pokud chcete zkontrolovat stav fondu úložiště, spusťte následující příkaz:

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

Pokud Message neříká StoragePool is ready, váš fond úložiště je stále v procesu vytváření nebo narazil na problém.

Zobrazení dostupných tříd úložiště

Jakmile je fond úložiště připraven k použití, musíte vybrat třídu úložiště, kterou definujete způsob, jakým se úložiště bude dynamicky vytvářet při vytváření a nasazování svazků.

Spusťte kubectl get sc a zobrazte dostupné třídy úložiště. Měla by se zobrazit třída úložiště s názvem acstor-<storage-pool-name>. K nasazení podu použijte tuto třídu úložiště v další části.

Nasazení podu s obecným dočasným svazkem

Vytvořte pod pomocí Fio (Flexibilní V/V Tester) pro srovnávací testování a simulaci úloh, který používá obecný dočasný svazek.

  1. Pomocí oblíbeného textového editoru vytvořte soubor manifestu YAML, například code acstor-pod.yaml.

  2. Vložte následující kód a soubor uložte.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: ephemeralvolume
      volumes:
        - name: ephemeralvolume
          ephemeral:
            volumeClaimTemplate:
              metadata:
                labels:
                  type: my-ephemeral-volume
              spec:
                accessModes: [ "ReadWriteOnce" ]
                storageClassName: acstor-ephemeraldisk-nvme # replace with the name of your storage class if different
                resources:
                  requests:
                    storage: 1Gi
    

    Pokud změníte velikost svazku, ujistěte se, že tato velikost je menší než dostupná kapacita efemérního disku jednoho uzlu. Spusťte kubectl get diskpool -n acstor pro zkontrolování dostupné kapacity.

  3. Aplikujte soubor manifestu YAML pro nasazení podu.

    kubectl apply -f acstor-pod.yaml
    

    Měl by se zobrazit výstup podobný následujícímu:

    pod/fiopod created
    
  4. Zkontrolujte, jestli je pod úspěšně spuštěn a že dočasné připojení svazku bylo úspěšně svázáno s podem.

    kubectl describe pod fiopod
    kubectl describe pvc fiopod-ephemeralvolume
    

Nyní jste nasadili pod, který využívá místní NVMe jako úložiště, a můžete jej využít pro pracovní úlohy v Kubernetes.

Před zřízením dalších svazků zkontrolujte dostupnou kapacitu dočasných disků:

kubectl describe node <node-name>

Další informace o službě Azure Container Storage (verze 1.x.x), včetně postupu při vytváření trvalých svazků, najdete v tématu Co je Azure Container Storage?

Vyčistěte zdroje

Pro zbytek této série kurzů nebudete potřebovat službu Azure Container Storage, proto doporučujeme ji odstranit, abyste se vyhnuli zbytečným poplatkům za Azure.

  1. Odstraňte pod.

    kubectl delete pod fiopod
    
  2. Odstraňte fond úložiště.

    kubectl delete sp -n acstor <storage-pool-name>
    
  3. Odstraňte instanci rozšíření.

    az aks update -n myAKSCluster -g myResourceGroup --disable-azure-container-storage all
    

Další krok

V tomto kurzu jste do clusteru AKS nasadili službu Azure Container Storage (verze 1.x.x). Naučili jste se:

  • Povolte azure Container Storage (verze 1.x.x) v clusteru AKS.
  • Zvolte typ záložního úložiště a vytvořte fond úložiště.
  • Nasaďte pod s obecným dočasným svazkem.

V dalším kurzu se dozvíte, jak nasadit aplikaci do clusteru.