Esteja familiarizado com vários conceitos essenciais para o ambiente vSphere Cloud Native Storage.

Componentes do ambiente do Cloud Native Storage.

Cluster Kubernetes
No ambiente Cloud Native Storage, você pode implantar um cluster Kubernetes genérico em um cluster de máquinas virtuais. Além do cluster Kubernetes, você implanta seus aplicativos em contêineres. Os aplicativos podem ser com e sem estado.
Observação: Para obter informações sobre um cluster Supervisor e Tanzu Kubernetes Grid que você pode executar no ambiente vSphere with Tanzu, consulte a documentação do vSphere with Tanzu Conceitos e planejamento.
Pod
Um pod é um grupo de um ou mais aplicativos em contêineres que compartilham recursos como armazenamento e rede. Os contêineres dentro de um pod são iniciados, interrompidos e replicados como um grupo.
Container Orchestrator
Plataformas de código aberto, como Kubernetes, para implantação, dimensionamento e gerenciamento de aplicativos em contêiner entre clusters de hosts. As plataformas fornecem uma infraestrutura centrada em contêineres.
Aplicativo com monitoramento de estado
À medida que os aplicativos em contêiner evoluem de sem estado para com estado, eles exigem armazenamento persistente. Ao contrário dos aplicativos sem estado que não salvam dados entre sessões, os aplicativos com estado salvam os dados no armazenamento persistente. Os dados retidos são chamados de estado do aplicativo. Posteriormente, você poderá recuperar os dados e usá-los na próxima sessão. A maioria dos aplicativos é com estado. Um banco de dados é um exemplo de um aplicativo com monitoramento de estado.
PersistentVolume
Os aplicativos com estado usam PersistentVolumes para armazenar seus dados. Um PersistentVolume é um volume Kubernetes capaz de reter seu estado e dados. Ele é independente de um pod e pode continuar a existir mesmo quando o pod é excluído ou reconfigurado. No ambiente vSphere, os objetos PersistentVolume usam vSphere discos virtuais do tipo First Class Disk (FCD) ou vSAN compartilhamentos de arquivos como armazenamento de apoio. Os discos de primeira classe também são chamados de discos virtuais aprimorados (IVD) ou discos virtuais gerenciados.
  • Os discos virtuais oferecem suporte a volumes montados como ReadWriteOnce. Esses volumes só podem ser usados por um único pod no Kubernetes.

    Você pode usar a tecnologia de criptografia vSphere para proteger discos virtuais FCD que suportam volumes permanentes. Para obter mais informações, consulte Usar a criptografia com o Cloud Native Storage.

  • Os compartilhamentos de arquivos vSAN oferecem suporte a volumes ReadWriteMany que são montados por muitos nós. Esses volumes podem ser compartilhados entre vários pods ou aplicativos em execução em nós do Kubernetes ou em clusters do Kubernetes. Para obter informações sobre possíveis configurações com compartilhamentos de arquivos, consulte Usando o serviço de arquivo do vSAN para provisionar volumes de arquivo.
StorageClass
O Kubernetes usa um StorageClass para definir diferentes camadas de armazenamento e para descrever diferentes tipos de requisitos de armazenamento que suportam o PersistentVolume. No ambiente vSphere, uma classe de armazenamento pode ser vinculada a uma política de armazenamento. Como administrador do vSphere, você cria políticas de armazenamento que descrevem diferentes requisitos de armazenamento. As políticas de armazenamento de VM podem ser usadas como parte da definição de StorageClass para provisionamento de volume dinâmico.

O arquivo YAML de amostra a seguir faz referência à política de armazenamento Gold que você criou anteriormente usando o vSphere Client. O VMDK de volume persistente resultante é colocado em um datastore compatível que atende aos requisitos da política de armazenamento Gold.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gold-sc
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: csi.vsphere.vmware.com
parameters:
  storagepolicyname: "Gold"
  
PersistentVolumeClaim
Normalmente, os aplicativos ou pods podem solicitar armazenamento persistente por meio de um PersistentVolumeClaim. O PersistentVolumeClaim especifica o tipo e a classe de armazenamento, o modo de acesso, ReadWriteOnce ou ReadWriteMany, e outros parâmetros para o PersistentVolume. A solicitação pode provisionar dinamicamente o objeto PersistentVolume correspondente e o disco virtual subjacente ou o compartilhamento de arquivos vSAN no ambiente vSphere.
Depois que a declaração é criada, o PersistentVolume é automaticamente associado à declaração. Os pods usam a declaração para montar o PersistentVolume e acessar o armazenamento.
Quando você exclui essa declaração, o objeto PersistentVolume correspondente e o armazenamento subjacente são excluídos.
kind: PersistentVolumeClaim
metadata:
 name: persistent-VMDK
spec:
 accessModes:
 - ReadWriteOnce
 resources:
 requests:
 storage: 5Gi
 storageClassName: gold-sc