Usando um Volume Persistente
No Compute Cloud@Customer, para usar esse armazenamento persistente, crie uma implantação do Kubernetes e designe uma reivindicação de volume persistente conforme mostrado nas seções a seguir.
- Usando o Serviço Block Volume Storage
- Usando o Serviço File System Storage
- Verificar o Novo Ativo de Armazenamento
Usando o Serviço Block Volume Storage
O exemplo a seguir usa o armazenamento de volume em blocos:
$ kubectl create -f nginx-deploy.yaml
A saída a seguir é o conteúdo do arquivo nginx-deploy.yaml
.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-bv-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-bv
template:
metadata:
labels:
app: nginx-bv
spec:
containers:
- name: nginx
image: available_internal_registry/nginx:latest
volumeMounts:
- mountPath: /usr/share/nginx/
name: data
ports:
- containerPort: 80
name: http
protocol: TCP
volumes:
- name: data
persistentVolumeClaim:
claimName: mynginxclaim
Usando o Serviço File System Storage
O exemplo a seguir utiliza o armazenamento do sistema de arquivos:
$ kubectl create -f nginx-deploy.yaml
A saída a seguir é o conteúdo do arquivo nginx-deploy.yaml
.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-fss-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-fss
template:
metadata:
labels:
app: nginx-fss
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- mountPath: /usr/share/nginx/
name: data
ports:
- containerPort: 80
name: http
protocol: TCP
volumes:
- name: data
persistentVolumeClaim:
claimName: fss-pvc
Verificar o Novo Ativo de Armazenamento
Use o subcomando get pod
para mostrar os nomes das réplicas no pod:
$ kubectl get pod
nginx-deployment-55ff88b668-2k8rt 1/1 Running 0 4m54s
nginx-deployment-55ff88b668-79c2t 1/1 Running 0 4m54s
nginx-deployment-55ff88b668-qpdfd 1/1 Running 0 4m54s
Faça log-in no pod e use o comando df
do Linux para mostrar que as réplicas do aplicativo estão usando o armazenamento persistentVolumeClaim
. A coluna Filesystem
na saída df
mostra o endereço IP do ponto de acesso NFS e o caminho de exportação do sistema de arquivos.
$ kubectl exec -it nginx-deployment-55ff88b668-2k8rt -- df -h /usr/share/nginx/html
Filesystem Size Used Avail Use% Mounted on
xxx.xx.xxx.xxx:/export/4fsderwh09ufyf84ei1lh3q2x8ou86pq5vcbx3aeeo060xxxxxxxxxxxxxxx 67T 0 67T 0% /usr/share/nginx/html