Provisionar um volume de protocolo duplo no Serviço de Kubernetes do Azure
Esta seção descreve como expor um volume de protocolo duplo do Azure NetApp Files para o Kubernetes de modo estático. São fornecidas orientações para ambos os protocolos SMB e NFS. Você pode expor o mesmo volume por meio de SMB para nós de trabalho do Windows e por meio de nós de trabalho NFS para Linux.
Definir variáveis para usar mais tarde. Substitua myresourcegroup, myaccountname, mypool1, myvolname por um valor apropriado de seu volume de protocolo duplo.
Crie um arquivo chamado pv-nfs.yaml e copie no YAML a seguir. Certifique-se de que o servidor corresponda ao endereço IP de saída da etapa anterior, e que o caminho corresponda à saída de creationToken acima. A capacidade também deve corresponder ao tamanho do volume da Etapa 2.
Crie o volume persistente usando o comando kubectl apply:
kubectl apply -f pv-nfs.yaml
Verifique se o status do volume persistente é Disponível usando o comando kubectl describe:
kubectl describe pv pv-nfs
Criar uma declaração de volume persistente para NFS
Crie um arquivo chamado pvc-nfs.yaml e copie no YAML a seguir. Esse manifesto cria um PVC chamado pvc-nfs para o modo de acesso ReadWriteMany e armazenamento de 100Gi, correspondendo ao PV criado.
Verifique se o pod está Em execução usando o comando kubectl apply:
kubectl describe pod nginx-nfs
Verifique se o volume foi montado no pod usando kubectl exec para se conectar ao pod e df -h para verificar se o volume foi montado.
kubectl exec -it nginx-nfs -- sh
/ # df -h
Filesystem Size Used Avail Use% Mounted on
...
10.0.0.4:/myfilepath2 100T 384K 100T 1% /mnt/azure
...
Criar um segredo com as credenciais de domínio
Crie um segredo no cluster do AKS para acessar o servidor do AD usando o comando kubectl create secret. Esse segredo será usado pelo volume persistente do Kubernetes para acessar o volume SMB do Azure NetApp Files. Use o comando a seguir para criar o segredo, substituindo USERNAME pelo nome de usuário, PASSWORD pela senha e DOMAIN_NAME pelo nome de domínio do Active Directory.
Definir variáveis para usar mais tarde. Substitua myresourcegroup, myaccountname, mypool1, myvolname por um valor apropriado de seu volume de protocolo duplo.
Crie um arquivo chamado pv-smb.yaml e copie no YAML a seguir. Se necessário, substitua myvolname por creationToken e substitua ANF-1be3.contoso.com\myvolname pelo valor de smbServerFqdn da etapa anterior. Certifique-se de incluir seu segredo de credenciais do AD juntamente com o namespace em que ele está localizado, criado em uma etapa anterior.
apiVersion: v1
kind: PersistentVolume
metadata:
name: anf-pv-smb
spec:
storageClassName: ""
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- dir_mode=0777
- file_mode=0777
- vers=3.0
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: myvolname # make sure it's a unique name in the cluster
volumeAttributes:
source: \\ANF-1be3.contoso.com\myvolname
nodeStageSecretRef:
name: smbcreds
namespace: default
Crie o volume persistente usando o comando kubectl apply:
kubectl apply -f pv-smb.yaml
Verifique se o status do volume persistente é Disponível usando o comando kubectl describe:
kubectl describe pv anf-pv-smb
Criar uma declaração de volume persistente para SMB
Crie um nome de arquivo pvc-smb.yaml e copie o YAML a seguir.
Crie a declaração do volume persistente usando o comando kubectl apply:
kubectl apply -f pvc-smb.yaml
Verifique se o status da declaração de volume persistente é Limitado usando o comando kubectl describe:
kubectl describe pvc anf-pvc-smb
Montar em um pod usando SMB
Crie um arquivo chamado iis-smb.yaml e copie no YAML a seguir. Esse arquivo será usado para criar um pod dos Serviços de Informações da Internet para montar o volume no caminho /inetpub/wwwroot.
Verifique se o volume foi montado no pod usando o comando kubectl exec para se conectar ao pod. Em seguida, use o comando dir no diretório correto para verificar se o volume está montado e se o tamanho corresponde ao tamanho do volume provisionado.
kubectl exec -it iis-pod –- cmd.exe
A saída do comando é semelhante ao seguinte exemplo:
Microsoft Windows [Version 10.0.20348.1668]
(c) Microsoft Corporation. All rights reserved.
C:\>cd /inetpub/wwwroot
C:\inetpub\wwwroot>dir
Volume in drive C has no label.
Volume Serial Number is 86BB-AA55
Directory of C:\inetpub\wwwroot
05/04/2023 08:15 PM <DIR> .
05/04/2023 08:15 PM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 107,373,838,336 bytes free
Próximas etapas
O Astra Trident é compatível com muitos recursos do Azure NetApp Files. Para obter mais informações, consulte:
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.