Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: AKS no Windows Server
Este artigo descreve como provisionar, usar e excluir volumes persistentes que fornecem armazenamento de longo prazo para uso com pods do Kubernetes no AKS no Windows Server.
Um volume persistente representa uma parte do armazenamento que foi provisionada para uso com pods do Kubernetes. Um volume persistente pode ser usado por um ou mais pods e destina-se ao armazenamento a longo prazo. Ele também é independente dos ciclos de vida do pod ou do nó.
Embora você possa provisionar um volume persistente para nós Windows e Linux, este artigo descreve como criar um volume persistente para usar em seu aplicativo Windows. Para obter mais informações, consulte Volumes persistentes no Kubernetes.
Antes de começar
Para começar, você precisará do seguinte:
- Um cluster do Kubernetes com pelo menos um nó de trabalho do Windows.
- Um arquivo kubeconfig para acessar o cluster do Kubernetes.
Criar uma declaração de volume persistente
Um PVC (declaração de volume persistente) é usado para provisionar automaticamente o armazenamento com base em uma classe de armazenamento. Para criar uma declaração de volume, primeiro crie um arquivo chamado pvc-akshci-csi.yaml e copie e cole a definição YAML a seguir. O PVC exige um disco com tamanho de 10 GB com acesso ReadWriteOnce. A classe de armazenamento padrão é especificada como a classe de armazenamento (vhdx).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Para criar o volume, execute os comandos a seguir em uma sessão administrativa do PowerShell em um dos servidores no cluster do Windows Server. Use um método como Enter-PSSession ou Área de Trabalho Remota para se conectar ao servidor.
kubectl create -f pvc-akshci-csi.yaml
O resultado seguinte indica que sua reivindicação de volume persistente foi criada com êxito:
Saída:
persistentvolumeclaim/pvc-akshci-csi created
Usar volume persistente
Para usar um volume persistente, crie um arquivo chamado winwebserver.yamle copie e cole a definição YAML a seguir. Depois, crie um pod com acesso à declaração de volume persistente e ao vhdx.
Na definição de YAML a seguir, mountPath é o caminho para montar um volume dentro de um contêiner. Após a criação bem-sucedida de um pod, você verá o subdiretório mnt criado em C:\ e o subdiretório akshciscsi criado dentro do mnt:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
replicas: 1
selector:
matchLabels:
app: win-webserver
template:
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
containers:
- name: windowswebserver
image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
ports:
- containerPort: 80
volumeMounts:
- name: akshciscsi
mountPath: "/mnt/akshciscsi"
volumes:
- name: akshciscsi
persistentVolumeClaim:
claimName: pvc-akshci-csi
nodeSelector:
kubernetes.io/os: windows
Para criar um pod com essa definição YAML, execute:
kubectl create -f winwebserver.yaml
Para verificar se o pod está em execução, execute o comando a seguir. Aguarde alguns minutos até que o pod esteja em um estado de funcionamento, pois baixar a imagem leva tempo.
kubectl get pods -o wide
Depois que o pod estiver em execução, visualize o status do pod executando o seguinte comando:
kubectl.exe describe pod %podName%
Para verificar se o volume foi montado no pod, execute este comando:
kubectl exec -it %podname% cmd.exe
Excluir uma declaração de volume persistente
Antes de excluir uma declaração de volume persistente, você deve excluir a implantação do aplicativo executando o seguinte comando:
kubectl delete deployments win-webserver
Em seguida, você pode excluir uma declaração de volume persistente executando:
kubectl delete PersistentVolumeClaim pvc-akshci-csi