Familiarize-se com vários conceitos essenciais para o ambiente do vSphere Cloud Native Storage.

Cluster Kubernetes
No ambiente do Cloud Native Storage, você pode implantar um cluster Kubernetes genérico em um cluster de máquinas virtuais. Além do cluster do Kubernetes, você implanta seus aplicativos em contêiner. Os aplicativos podem ser com ou sem estado.
Observação: Para obter informações sobre clusters de supervisor e clusters TKG que você pode executar no vSphere with Tanzu, consulte a documentação do vSphere com Configuração e Gerenciamento do Tanzu .
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 o Kubernetes, para implantação, dimensionamento e gerenciamento de aplicativos em contêineres em clusters de hosts. As plataformas fornecem uma infraestrutura centrada em contêiner.
Aplicativo com estado
À medida que os aplicativos em contêineres evoluem de sem estado para com estado, eles exigem armazenamento persistente. Ao contrário dos aplicativos sem estado que não salvam dados entre as sessões, os aplicativos com estado salvam dados no armazenamento persistente. Os dados retidos são chamados de estado do aplicativo. Você pode recuperar os dados mais tarde e usá-los na próxima sessão. A maioria dos aplicativos tem estado. Um banco de dados é um exemplo de aplicativo com estado.
PersistentVolume
Aplicativos com estado usam PersistentVolumes para armazenar seus dados. Um PersistentVolume é um volume do 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 do vSphere, os objetos PersistentVolume usam discos virtuais do vSphere do tipo First Class Disk (FCD) ou compartilhamentos de arquivos do vSAN como seu armazenamento de suporte. 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 podem ser usados apenas por um único Pod no Kubernetes.

    A partir do vSphere 7.0, você pode usar a tecnologia de criptografia do vSphere para proteger os discos virtuais FCD que suportam volumes persistentes. Para obter mais informações, consulte Usar criptografia com armazenamento nativo da nuvem.

  • Os compartilhamentos de arquivos do vSAN oferecem suporte a volumes ReadWriteMany montados por muitos nós. Esses volumes podem ser compartilhados entre vários pods ou aplicativos em execução nos nós do Kubernetes ou nos clusters do Kubernetes. Para obter informações sobre possíveis configurações com compartilhamentos de arquivos, consulte Usando o vSAN File Service para provisionar volumes de arquivos.
StorageClass
O Kubernetes usa um StorageClass para definir diferentes níveis de armazenamento e descrever diferentes tipos de requisitos para o armazenamento de suporte do PersistentVolume. No ambiente do 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 do 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 volume persistente VMDK resultante é colocado em um datastore compatível que satisfaça os 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 então provisionar dinamicamente o objeto PersistentVolume correspondente e o disco virtual subjacente ou o compartilhamento de arquivos do vSAN no ambiente do vSphere.
Depois que a declaração é criada, o PersistentVolume é automaticamente vinculado à 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