Provisionar um volume de protocolo duplo no Serviço Kubernetes do Azure
Esta seção descreve como expor um volume de protocolo duplo do Azure NetApp Files estaticamente ao Kubernetes. São fornecidas instruções para os protocolos SMB e NFS. Você pode expor o mesmo volume via SMB para nós de trabalho do Windows e via NFS para nós de trabalho do Linux.
Defina variáveis para uso posterior. Substitua myresourcegroup, myaccountname, mypool1, myvolname por um valor apropriado do seu volume de protocolo duplo.
Crie um arquivo nomeado pv-nfs.yaml e copie no seguinte YAML. Verifique se o servidor corresponde ao endereço IP de saída da etapa anterior e se o caminho corresponde à saída de creationToken cima. A capacidade também deve corresponder ao tamanho do volume da Etapa 2.
Crie o volume persistente usando o kubectl apply comando:
kubectl apply -f pv-nfs.yaml
Verifique se o status do volume persistente está disponível usando o kubectl describe comando:
kubectl describe pv pv-nfs
Criar uma declaração de volume persistente para NFS
Crie um arquivo nomeado pvc-nfs.yaml e copie no seguinte YAML. Este manifesto cria um PVC nomeado pvc-nfs para o modo de armazenamento e ReadWriteMany acesso de 100Gi, correspondente ao PV que você criou.
Verifique se o pod está em execução usando o kubectl apply comando:
kubectl describe pod nginx-nfs
Verifique se o volume foi montado no pod usando kubectl exec para se conectar ao pod e, em seguida, use df -h para verificar se o volume está 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 seu cluster AKS para aceder ao servidor AD utilizando o kubectl create secret comando. 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 seu nome de usuário, PASSWORD pela sua senha e DOMAIN_NAME pelo seu nome de domínio do Ative Directory.
Defina variáveis para uso posterior. Substitua myresourcegroup, myaccountname, mypool1, myvolname por um valor apropriado do seu volume de protocolo duplo.
Crie um arquivo nomeado pv-smb.yaml e copie no seguinte YAML. Se necessário, substitua myvolnamecreationToken pelo e substitua ANF-1be3.contoso.com\myvolname pelo valor da smbServerFqdn etapa anterior. Certifique-se de incluir seu segredo de credenciais do AD junto com o namespace onde ele está localizado que você criou 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 kubectl apply comando:
kubectl apply -f pv-smb.yaml
Verifique se o status do volume persistente está Disponível usando o kubectl describe comando:
kubectl describe pv anf-pv-smb
Criar uma declaração de volume persistente para SMB
Crie um nome pvc-smb.yaml de arquivo e copie no seguinte YAML.
Crie a declaração de volume persistente usando o kubectl apply comando:
kubectl apply -f pvc-smb.yaml
Verifique se o status da declaração de volume persistente é Bound usando o kubectl describe comando:
kubectl describe pvc anf-pvc-smb
Monte dentro de um pod usando SMB
Crie um arquivo nomeado iis-smb.yaml e copie no seguinte YAML. 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 seu volume foi montado no pod usando o comando kubectl exec para se conectar ao pod. Em seguida, use o dir comando 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óximos passos
O Astra Trident suporta muitas funcionalidades com os Ficheiros NetApp do Azure. Para obter mais informações, consulte:
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.