Vytvoření a použití svazku se službou Azure Files ve službě Azure Kubernetes Service (AKS)
Trvalý svazek představuje část úložiště, která byla zřízena pro použití s pody Kubernetes. Můžete použít trvalý svazek s jedním nebo několika pody a může být dynamicky nebo staticky zřízen. Pokud více podů potřebuje souběžný přístup ke stejnému svazku úložiště, můžete se pomocí služby Soubory Azure připojit pomocí protokolu SMB (Server Message Block). V tomto článku se dozvíte, jak dynamicky vytvořit sdílenou složku Azure pro použití několika pody v clusteru Azure Kubernetes Service (AKS).
V tomto článku se dozvíte, jak:
- Spolupracujte s dynamickým trvalým svazkem (PV) instalací ovladače rozhraní kontejnerového úložiště (CSI) a dynamickým vytvořením jedné nebo více sdílených složek Azure pro připojení k podu.
- S statickou pv můžete pracovat tak, že vytvoříte jednu nebo více sdílených složek Azure nebo použijete existující sdílenou složku a připojíte ji k podu.
Další informace o svazcích Kubernetes najdete v tématu Možnosti úložiště pro aplikace v AKS.
Než začnete
- Potřebujete účet úložiště Azure.
- Ujistěte se, že máte nainstalované a nakonfigurované Rozhraní příkazového řádku Azure CLI verze 2.0.59 nebo novější. Verzi zjistíte spuštěním příkazu
az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - Při výběru mezi sdílenými složkami úrovně Standard a Premium je důležité porozumět modelu zřizování a požadavkům očekávaného způsobu použití, který plánujete spustit ve službě Azure Files. Další informace najdete v tématu Volba úrovně výkonu služby Azure Files na základě vzorů využití.
Dynamické zřizování svazku
Tato část obsahuje pokyny pro správce clusteru, kteří chtějí zřídit jeden nebo více trvalých svazků, které obsahují podrobnosti o jedné nebo více sdílených složkách ve službě Azure Files. Deklarace identity trvalého svazku (PVC) používá objekt třídy úložiště k dynamickému zřizování sdílené složky Azure Files.
Parametry třídy úložiště pro dynamické trvalévolumes
Následující tabulka obsahuje parametry, které můžete použít k definování vlastní třídy úložiště pro persistentVolumeClaim.
Název | Význam | Dostupná hodnota | Povinný | Default value |
---|---|---|---|---|
accountAccessTier | Úroveň přístupu pro účet úložiště | Účet Úrovně Standard může zvolit Hot nebo Cool a účet Premium může zvolit Premium pouze . |
No | Prázdný. Pro různé typy účtů úložiště použijte výchozí nastavení. |
accountQuota | Omezuje kvótu pro účet. Maximální kvótu můžete zadat v GB (ve výchozím nastavení 102400 GB). Pokud účet překročí zadanou kvótu, ovladač přeskočí výběr účtu. | No | 102400 |
|
allowBlobPublicAccess | Povolí nebo zakáže veřejný přístup ke všem objektům blob nebo kontejnerům pro účet úložiště vytvořený ovladačem. | true nebo false |
No | false |
disableDeleteRetentionPolicy | Určete, zda zakázat DeleteRetentionPolicy pro účet úložiště vytvořený ovladačem. | true nebo false |
No | false |
enableLargeFileShares | Určete, jestli se má účet úložiště používat s povolenými velkými sdílenými složkami. Pokud je tento příznak nastavený true a účet úložiště s povolenými velkými sdílenými složkami neexistuje, vytvoří se nový účet úložiště s povolenými velkými sdílenými složkami. Tento příznak by se měl používat se skladovou jednotkou Standard, protože účty úložiště vytvořené pomocí skladové položky Premium mají largeFileShares ve výchozím nastavení povolenou možnost. |
true nebo false |
No | false (nepravda) |
folderName | Zadejte název složky ve sdílené složce Azure. | Název existující složky ve sdílené složce Azure | No | Pokud název složky ve sdílené složce neexistuje, připojení selže. |
getLatestAccount | Určuje, jestli se má na základě času vytvoření získat nejnovější klíč účtu. Tento ovladač ve výchozím nastavení získá první klíč. | true nebo false |
No | false |
location | Zadejte oblast Azure účtu úložiště Azure. | Například eastus . |
No | Pokud je prázdný, ovladač používá stejný název umístění jako aktuální cluster AKS. |
matchTags | Porovná značky, když se ovladač pokusí najít vhodný účet úložiště. | true nebo false |
No | false |
networkEndpointType | Zadejte typ koncového bodu sítě pro účet úložiště vytvořený ovladačem. Pokud privateEndpoint je zadaný, vytvoří se pro účet úložiště privátní koncový bod. V jiných případech se ve výchozím nastavení vytvoří koncový bod služby. |
"",privateEndpoint |
No | "" |
protokol | Zadejte protokol sdílené složky. | smb , nfs |
No | smb |
requireInfraEncryption | Určete, jestli služba použije sekundární vrstvu šifrování s klíči spravovanými platformou pro neaktivní uložená data pro účet úložiště vytvořený ovladačem. | true nebo false |
No | false |
resourceGroup | Zadejte skupinu prostředků pro disky Azure. | Název existující skupiny prostředků | No | Pokud je prázdný, ovladač použije stejný název skupiny prostředků jako aktuální cluster AKS. |
selectRandomMatchingAccount | Určuje, zda se má náhodně vybrat odpovídající účet. Ve výchozím nastavení ovladač vždy vybere první odpovídající účet v abecedním pořadí (Poznámka: Tento ovladač používá mezipaměť vyhledávání účtů, což vede k nerovnoměrné distribuci vytváření souborů napříč více účty). | true nebo false |
No | false |
server | Zadejte adresu serveru účtu úložiště Azure. | Existující adresa serveru, například accountname.privatelink.file.core.windows.net . |
No | Pokud je prázdný, ovladač používá výchozí accountname.file.core.windows.net nebo jinou adresu účtu suverénního cloudu. |
shareAccessTier | Úroveň přístupu pro sdílenou složku | Účet pro obecné účely verze 2 si může vybrat mezi TransactionOptimized (výchozí) Hot a Cool . Typ účtu služby Premium Storage pouze pro sdílené složky. |
No | Prázdný. Pro různé typy účtů úložiště použijte výchozí nastavení. |
shareName | Zadejte název sdílené složky Azure. | Název existující nebo nové sdílené složky Azure | No | Pokud je prázdný, ovladač vygeneruje název sdílené složky Azure. |
shareNamePrefix | Zadejte předponu názvu sdílené složky Azure vytvořenou ovladačem. | Název sdílené složky může obsahovat jenom malá písmena, číslice, pomlčky a délku kratší než 21 znaků. | No | |
skuName | Typ účtu úložiště Azure Files (alias: storageAccountType ) |
Standard_LRS , Standard_ZRS , Standard_GRS , Standard_RAGRS , ,Premium_LRS Standard_RAGZRS ,Premium_ZRS |
No | StandardSSD_LRS Minimální velikost sdílené složky pro typ účtu Premium je 100 GB. Typ účtu ZRS se podporuje v omezených oblastech. Sdílená složka NFS podporuje pouze typ účtu Premium. |
storageAccount | Zadejte název účtu úložiště Azure. | storageAccountName | -Ne | Pokud není zadaný konkrétní název účtu úložiště, ovladač vyhledá vhodný účet úložiště, který odpovídá nastavení účtu ve stejné skupině prostředků. Pokud se nepodaří najít odpovídající účet úložiště, vytvoří nový účet. Pokud je však zadaný název účtu úložiště, účet úložiště už musí existovat. |
storageEndpointSuffix | Zadejte příponu koncového bodu úložiště Azure. | core.windows.net , core.chinacloudapi.cn atd. |
No | Pokud je prázdný, ovladač použije výchozí příponu koncového bodu úložiště v závislosti na cloudovém prostředí. Například core.windows.net . |
značky | Značky se vytvářejí v novém účtu úložiště. | Formát značky: 'foo=aaa,bar=bbb' | No | "" |
--- | Následující parametry jsou určené pouze pro protokol SMB. | --- | --- | |
subscriptionID | Zadejte ID předplatného Azure, ve kterém se vytvoří sdílená složka Azure. | ID předplatného Azure | No | Pokud není prázdný, resourceGroup je nutné zadat. |
storeAccountKey | Určete, jestli se má klíč účtu ukládat do tajného kódu Kubernetes. | true nebo false false znamená, že ovladač používá k získání klíče účtu identitu kubeletu. |
No | true |
secretName | Zadejte název tajného kódu pro uložení klíče účtu. | No | ||
secretNamespace | Zadejte obor názvů tajného kódu pro uložení klíče účtu. Poznámka: Pokud secretNamespace není zadaný, tajný klíč se vytvoří ve stejném oboru názvů jako pod. |
default atdkube-system . |
No | Obor názvů PVC, například csi.storage.k8s.io/pvc/namespace |
useDataPlaneAPI | Určete, jestli se má použít rozhraní API roviny dat pro vytvoření, odstranění nebo změnu velikosti sdílené složky, což by mohlo vyřešit problém s omezováním rozhraní API SRP, protože rozhraní API roviny dat nemá téměř žádný limit, zatímco při nastavení brány firewall nebo virtuální sítě v účtu úložiště dojde k selhání. | true nebo false |
No | false |
--- | Následující parametry jsou určené pouze pro protokol NFS. | --- | --- | |
mountPermissions | Oprávnění připojené složky. Výchozí hodnota je 0777 . Pokud je nastavená hodnota 0 , ovladač se po připojení neprovádí chmod . |
0777 |
No | |
rootSquashType | Zadejte chování kořenového squashingu ve sdílené složce. Výchozí hodnota je NoRootSquash . |
AllSquash , , NoRootSquash RootSquash |
No | |
--- | Následující parametry platí jenom pro nastavení virtuální sítě. Například NFS, privátní koncový bod | --- | --- | |
fsGroupChangePolicy | Určuje, jak ovladač mění vlastnictví svazku. Pod securityContext.fsGroupChangePolicy se ignoruje. |
OnRootMismatch (výchozí), Always , None |
No | OnRootMismatch |
subnetName | Název podsítě | Název existující podsítě uzlu agenta | No | Pokud je prázdný, ovladač použije hodnotu v konfiguračním subnetName souboru cloudu Azure. |
vnetName | Název virtuální sítě | Název existující virtuální sítě | No | Pokud je prázdný, ovladač použije hodnotu v konfiguračním vnetName souboru cloudu Azure. |
vnetResourceGroup | Zadejte skupinu prostředků virtuální sítě, ve které je definována virtuální síť. | Název existující skupiny prostředků | No | Pokud je prázdný, ovladač použije hodnotu v konfiguračním vnetResourceGroup souboru cloudu Azure. |
Vytvoření třídy úložiště
Třídy úložiště definují, jak vytvořit sdílenou složku Azure. Účet úložiště se automaticky vytvoří ve skupině prostředků uzlu pro použití s třídou úložiště pro uložení sdílené složky Azure Files. Vyberte následující skladové položky úložiště Azure Storage pro skuName
:
Standard_LRS
: Místně redundantní úložiště úrovně Standard (LRS)Standard_GRS
: Standardní geograficky redundantní úložiště (GRS)Standard_ZRS
: Zónově redundantní úložiště úrovně Standard (ZRS)Standard_RAGRS
: Standardní geograficky redundantní úložiště jen pro čtení (RA-GRS)Premium_LRS
: Místně redundantní úložiště úrovně Premium (LRS)Premium_ZRS
: Zónově redundantní úložiště úrovně Premium (ZRS)
Poznámka:
Minimální sdílená složka úrovně Premium je 100 GB.
Další informace o třídách úložiště Kubernetes pro Azure Files najdete v tématu Třídy úložiště Kubernetes.
Vytvořte soubor s názvem
azure-file-sc.yaml
a zkopírujte ho v následujícím ukázkovém manifestu. Další informace najdetemountOptions
v části Možnosti připojení.kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: my-azurefile provisioner: file.csi.azure.com # replace with "kubernetes.io/azure-file" if aks version is less than 1.21 allowVolumeExpansion: true mountOptions: - dir_mode=0777 - file_mode=0777 - uid=0 - gid=0 - mfsymlinks - cache=strict - actimeo=30 - nobrl # disable sending byte range lock requests to the server and for applications which have challenges with posix locks parameters: skuName: Premium_LRS
Pomocí příkazu vytvořte třídu
kubectl apply
úložiště.kubectl apply -f azure-file-sc.yaml
Vytvoření deklarace trvalého svazku
Deklarace identity trvalého svazku (PVC) používá objekt třídy úložiště k dynamickému zřizování sdílené složky Azure. Pomocí následujícího YAML můžete vytvořit trvalou deklaraci identity svazku o velikosti 100 GB s přístupem ReadWriteMany . Další informace o režimech přístupu najdete v tématu Trvalý svazek Kubernetes.
Vytvořte soubor s názvem
azure-file-pvc.yaml
a zkopírujte ho v následujícím jazyce YAML. Ujistěte se,storageClassName
že odpovídá třídě úložiště, kterou jste vytvořili v předchozím kroku.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-azurefile spec: accessModes: - ReadWriteMany storageClassName: my-azurefile resources: requests: storage: 100Gi
Poznámka:
Pokud pro třídu úložiště používáte
Premium_LRS
skladovou položku, musí být100Gi
minimální hodnotastorage
.Pomocí příkazu vytvořte trvalou deklaraci identity svazku
kubectl apply
.kubectl apply -f azure-file-pvc.yaml
Po dokončení se sdílená složka vytvoří. Vytvoří se také tajný klíč Kubernetes, který obsahuje informace o připojení a přihlašovací údaje. Pomocí příkazu můžete
kubectl get
zobrazit stav PVC:kubectl get pvc my-azurefile
Výstup příkazu se podobá následujícímu příkladu:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE my-azurefile Bound pvc-8436e62e-a0d9-11e5-8521-5a8664dc0477 100Gi RWX my-azurefile 5m
Použití trvalého svazku
Následující YAML vytvoří pod, který používá trvalé deklarace identity svazku my-azurefile k připojení sdílené složky Azure Files na cestě /mnt/azure . Pro kontejnery Windows Serveru zadejte mountPath
pomocí konvence cesty systému Windows, například D:.
Vytvořte soubor s názvem
azure-pvc-files.yaml
a zkopírujte ho do následujícího YAML. Ujistěte se, že odpovídáclaimName
PVC, který jste vytvořili v předchozím kroku.kind: Pod apiVersion: v1 metadata: name: mypod spec: containers: - name: mypod image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - mountPath: /mnt/azure name: volume readOnly: false volumes: - name: volume persistentVolumeClaim: claimName: my-azurefile
Vytvořte pod pomocí
kubectl apply
příkazu.kubectl apply -f azure-pvc-files.yaml
Teď máte spuštěný pod se sdílenou složkou Azure Files připojenou v adresáři /mnt/azure . Tuto konfiguraci můžete vidět při kontrole podu
kubectl describe
pomocí příkazu. Následující zhuštěný ukázkový výstup ukazuje svazek připojený v kontejneru.Containers: mypod: Container ID: docker://053bc9c0df72232d755aa040bfba8b533fa696b123876108dec400e364d2523e Image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine Image ID: docker-pullable://nginx@sha256:d85914d547a6c92faa39ce7058bd7529baacab7e0cd4255442b04577c4d1f424 State: Running Started: Fri, 01 Mar 2019 23:56:16 +0000 Ready: True Mounts: /mnt/azure from volume (rw) /var/run/secrets/kubernetes.io/serviceaccount from default-token-8rv4z (ro) [...] Volumes: volume: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: my-azurefile ReadOnly: false [...]
Možnosti připojení
Výchozí hodnota fileMode
pro Kubernetes verze 1.13.0 a dirMode
vyšší je 0777 . Pokud dynamicky vytváříte trvalý svazek s třídou úložiště, můžete zadat možnosti připojení k objektu třídy úložiště. Další informace najdete v tématu Možnosti připojení. Následující příklad nastaví 0777:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: my-azurefile
provisioner: file.csi.azure.com # replace with "kubernetes.io/azure-file" if aks version is less than 1.21
allowVolumeExpansion: true
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=0
- gid=0
- mfsymlinks
- cache=strict
- actimeo=30
- nobrl # disable sending byte range lock requests to the server and for applications which have challenges with posix locks
parameters:
skuName: Premium_LRS
Použití značek Azure
Další informace o používání značek Azure najdete v tématu Použití značek Azure ve službě Azure Kubernetes Service (AKS).
Statické zřízení svazku
Tato část obsahuje pokyny pro správce clusteru, kteří chtějí vytvořit jeden nebo více trvalých svazků, které obsahují podrobnosti o existující sdílené složce Azure, která se má použít s úlohou.
Statické parametry zřizování pro PersistentVolume
Následující tabulka obsahuje parametry, které můžete použít k definování PersistentVolume.
Název | Význam | Dostupná hodnota | Povinný | Default value |
---|---|---|---|---|
volumeAttributes.resourceGroup | Zadejte název skupiny prostředků Azure. | myResourceGroup | No | Pokud je prázdný, ovladač použije stejný název skupiny prostředků jako aktuální cluster. |
volumeAttributes.storageAccount | Zadejte název existujícího účtu úložiště Azure. | storageAccountName | Ano | |
volumeAttributes.shareName | Zadejte název sdílené složky Azure. | fileShareName | Ano | |
volumeAttributes.folderName | Zadejte název složky ve sdílené složce Azure. | folderName | No | Pokud název složky ve sdílené složce neexistuje, připojení selže. |
volumeAttributes.protocol | Zadejte protokol sdílené složky. | smb , nfs |
No | smb |
volumeAttributes.server | Zadání adresy serveru účtu úložiště Azure | Existující adresa serveru, například accountname.privatelink.file.core.windows.net . |
No | Pokud je prázdný, ovladač používá výchozí accountname.file.core.windows.net nebo jinou adresu účtu suverénního cloudu. |
--- | Následující parametry jsou určené pouze pro protokol SMB. | --- | --- | --- |
volumeAttributes.secretName | Zadejte název tajného kódu, který ukládá název a klíč účtu úložiště. | No | ||
volumeAttributes.secretNamespace | Zadejte obor názvů tajných kódů. | default atdkube-system . |
No | Obor názvů PVC (csi.storage.k8s.io/pvc/namespace ) |
nodeStageSecretRef.name | Zadejte název tajného kódu, který ukládá název a klíč účtu úložiště. | Existující název tajného kódu. | No | Pokud je prázdný, ovladač k získání klíče účtu používá identitu kubeletu. |
nodeStageSecretRef.namespace | Zadejte obor názvů tajných kódů. | Obor názvů Kubernetes | No | |
--- | Následující parametry jsou určené pouze pro protokol NFS. | --- | --- | --- |
volumeAttributes.fsGroupChangePolicy | Určuje, jak ovladač změní vlastnictví svazku. Pod securityContext.fsGroupChangePolicy se ignoruje. |
OnRootMismatch (výchozí), Always , None |
No | OnRootMismatch |
volumeAttributes.mountPermissions | Zadejte oprávnění připojené složky. Výchozí hodnota je 0777 . |
No |
Vytvoření sdílené složky Azure
Než budete moct jako svazek Kubernetes použít sdílenou složku Azure Files, musíte vytvořit účet služby Azure Storage a sdílenou složku.
Pomocí příkazu s parametrem
az aks show
--query nodeResourceGroup
získejte název skupiny prostředků.az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv
Výstup příkazu se podobá následujícímu příkladu:
MC_myResourceGroup_myAKSCluster_eastus
Vytvořte účet úložiště pomocí
az storage account create
příkazu s parametrem--sku
. Následující příkaz vytvoří účet úložiště pomocí skladovéStandard_LRS
položky. Nezapomeňte nahradit následující zástupné symboly:myAKSStorageAccount
s názvem účtu úložištěnodeResourceGroupName
s názvem skupiny prostředků, ve které jsou uzly clusteru AKS hostovanélocation
s názvem oblasti, ve které se má prostředek vytvořit. Měla by to být stejná oblast jako uzly clusteru AKS.
az storage account create -n myAKSStorageAccount -g nodeResourceGroupName -l location --sku Standard_LRS
Exportujte připojovací řetězec jako proměnnou prostředí pomocí následujícího příkazu, který použijete k vytvoření sdílené složky.
export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string -n storageAccountName -g resourceGroupName -o tsv)
Pomocí příkazu vytvořte sdílenou
az storage share create
složku. Nezapomeňte nahraditshareName
názvem sdílené složky.az storage share create -n shareName --connection-string $AZURE_STORAGE_CONNECTION_STRING
Pomocí následujícího příkazu exportujte klíč účtu úložiště jako proměnnou prostředí.
STORAGE_KEY=$(az storage account keys list --resource-group nodeResourceGroupName --account-name myAKSStorageAccount --query "[0].value" -o tsv)
Pomocí následujícího příkazu ozvěte název a klíč účtu úložiště. Tyto informace zkopírujte, protože tyto hodnoty potřebujete při vytváření svazku Kubernetes.
echo Storage account key: $STORAGE_KEY
Vytvoření tajného kódu Kubernetes
Kubernetes potřebuje přihlašovací údaje pro přístup ke sdílené složce vytvořené v předchozím kroku. Tyto přihlašovací údaje se ukládají do tajného kódu Kubernetes, na který se odkazuje při vytváření podu Kubernetes.
Vytvořte tajný kód pomocí
kubectl create secret
příkazu. Následující příklad vytvoří tajný klíč s názvem azure-secret a naplní název azurestorageaccountname a azurestorageaccountkey z předchozího kroku. Pokud chcete použít existující účet úložiště Azure, zadejte název a klíč účtu.kubectl create secret generic azure-secret --from-literal=azurestorageaccountname=myAKSStorageAccount --from-literal=azurestorageaccountkey=$STORAGE_KEY
Připojení sdílené složky jako trvalého svazku
Vytvořte nový soubor s názvem
azurefiles-pv.yaml
a zkopírujte ho do následujícího obsahu. V částicsi
, updateresourceGroup
,volumeHandle
ashareName
. Pro možnosti připojení je výchozí hodnota afileMode
dirMode
je 0777.apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: file.csi.azure.com name: azurefile spec: capacity: storage: 5Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: azurefile-csi csi: driver: file.csi.azure.com volumeHandle: "{resource-group-name}#{account-name}#{file-share-name}" # make sure this volumeid is unique for every identical share in the cluster volumeAttributes: shareName: aksshare nodeStageSecretRef: name: azure-secret namespace: default mountOptions: - dir_mode=0777 - file_mode=0777 - uid=0 - gid=0 - mfsymlinks - cache=strict - nosharesock - nobrl # disable sending byte range lock requests to the server and for applications which have challenges with posix locks
Pomocí příkazu vytvořte trvalý svazek
kubectl create
.kubectl create -f azurefiles-pv.yaml
Vytvořte nový soubor s názvem azurefiles-mount-options-pvc.yaml a zkopírujte následující obsah.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: azurefile spec: accessModes: - ReadWriteMany storageClassName: azurefile-csi volumeName: azurefile resources: requests: storage: 5Gi
Pomocí příkazu vytvořte PersistentVolumeClaim
kubectl apply
.kubectl apply -f azurefiles-mount-options-pvc.yaml
Pomocí příkazu ověřte, že je váš PersistentVolumeClaim vytvořený a svázaný s TrvalýVolume
kubectl get
.kubectl get pvc azurefile
Výstup příkazu vypadá podobně jako v následujícím příkladu:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE azurefile Bound azurefile 5Gi RWX azurefile 5s
Aktualizujte specifikaci kontejneru tak, aby odkazoval na persistentVolumeClaim a pod v souboru YAML. Příklad:
... volumes: - name: azure persistentVolumeClaim: claimName: azurefile
Specifikace podu se nedá aktualizovat, proto odstraňte pod pomocí
kubectl delete
příkazu a vytvořte hokubectl apply
znovu pomocí příkazu.kubectl delete pod mypod kubectl apply -f azure-files-pod.yaml
Připojení sdílené složky jako vloženého svazku
Poznámka:
Pokud se chcete vyhnout problémům s výkonem, doporučujeme místo vloženého svazku použít trvalý svazek, když ke stejné sdílené složce přistupuje mnoho podů. Vložený svazek má přístup pouze k tajným kódům ve stejném oboru názvů jako pod. Pokud chcete zadat jiný obor názvů tajných kódů, použijte trvalý svazek.
Pokud chcete připojit sdílenou složku Azure Files k podu, nakonfigurujte svazek ve specifikaci kontejneru.
- Vytvořte nový soubor s názvem
azure-files-pod.yaml
a zkopírujte ho do následujícího obsahu. Pokud jste změnili název sdílené složky nebo názvu tajného kódu, aktualizujte souborshareName
asecretName
. Můžete také aktualizovatmountPath
, což je cesta, kde je sdílená složka připojena v podu. Pro kontejnery Windows Serveru zadejtemountPath
pomocí konvence cesty systému Windows, například D:.
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
nodeSelector:
kubernetes.io/os: linux
containers:
- image: 'mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine'
name: mypod
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
volumeMounts:
- name: azure
mountPath: /mnt/azure
readOnly: false
volumes:
- name: azure
csi:
driver: file.csi.azure.com
volumeAttributes:
secretName: azure-secret # required
shareName: aksshare # required
mountOptions: 'dir_mode=0777,file_mode=0777,cache=strict,actimeo=30,nosharesock,nobrl' # optional
Vytvořte pod pomocí
kubectl apply
příkazu.kubectl apply -f azure-files-pod.yaml
Teď máte spuštěný pod se sdílenou složkou Azure Files připojenou v /mnt/azure. Pomocí příkazu můžete ověřit, že je sdílená složka úspěšně
kubectl describe
připojená.kubectl describe pod mypod
Další kroky
Informace o parametrech ovladače CSI služby Azure Files najdete v tématu Parametry ovladače CSI.
Přidružené osvědčené postupy najdete v tématu Osvědčené postupy pro ukládání a zálohování v AKS.
Azure Kubernetes Service