Como adicionar armazenamento persistente às vagens de Kubernettes

Os sistemas de arquivos de Kubernetes podem ser temporais de forma predeterminada. Esto est en consonancia con la naturaleza aptrida de los contenedores. Os dados persistentes deben almacenarse fuera del contenedor, mesmo quando parece estar dentro do sistema de arquivos do contenedor. A continuacin, se explica cmo aprovisionar almacenamiento persistente no Kubernetes.

A unidade básica do almacenamento persistente de Kubernetes é um arquivo Volumen persistente . Esta é uma abstração sobre os aspectos fundamentais do Volumen .

Os volmenes persistentes existem independentemente de cualquier pod especfico. Assim como os volumes normais do Docker, os volumes persistentes de Kubernetes podem permanecer em seu clster, mesmo que não haja pods de feno que sejam utilizados.

Os pods têm acesso a volumes persistentes através da criação de um arquivo Queja de volume persistente . Este é outro tipo de recurso que representa uma solicitação de pod para usar almacenamento persistente. A queja maneja o provisionamento de volumes persistentes que se acumulam com a solicitação.

índice de conteúdo

  1. Um exemplo básico
    1. Crie um volume persistente
    2. Criar uma recuperação de volume persistente
    3. Agregar una vaina
  2. Classes de almacenamento
  3. Modo de acesso
  4. Concluindo

Um exemplo básico

Echemos un viewzo a cmo crear un sistema de almacenamiento persistente configurando manualmente um volume persistente e uma solicitação de volume persistente. Cada recurso ir a seu próprio arquivo de manifesto. Você pode aplicar os arquivos a su clster con kubectl apply .

Crie um volume persistente

Empiece por criar seu volume:

 apiVersion : v1 kind : PersistentVolume metadata : name : my-volume namespace : pvc-demo spec : storageClassName : manual capacity : storage : 2Gi accessModes : - ReadWriteOnce hostPath : path : /mnt/data

Esta definição cria um volume chamado my-volume . Tem uma capacidade de 2Gi e se almacenar em /mnt/data no nó host. Dado que estamos criando este volume manualmente, o storageClassName está configurado para manual . As classes de almacenamiento podem ser usadas para hacer que os volmenes se associam a solo com notificações de volume que requerem la misma clase.

Criar uma recuperação de volume persistente

Agora você pode configurar uma recuperação de volume persistente:

 apiVersion : v1 kind : PersistentVolumeClaim metadata : name : my-volume-claim namespace : pvc-demo spec : storageClassName : manual accessModes : - ReadWriteOnce resources : requests : storage : 1Gi

O atestacin solicita 1Gi de almacenamiento de un volumen que usa la extensin manual clase. El volumen que creamos anteriormente puede cumplir estas condiciones. Ao criar o reclamo, Kubernetes debe darse cuenta de esto e associar o reclamo com o volumen.

Se inspeccionar o volume e os detalhes da queja, vera que ambos muestran um estado de Bound .

 kubectl obter pv meu volume kubectl obter pvc meu volume-reivindicação

Agregar una vaina

O último passo é usar a declaração de volume para agregar almacenamento persistente a um pod.

 apiVersion : v1 kind : metadados do pod : name : my-pod namespace : pvc-demo spec : containers : - name : my-container image : my-image:latest volumeMounts : - mountPath : /path/in/container name : my- volumes pod-volume : - name : my-pod-volume persistVolumeClaim : ClaimName : my-volume-claim

Dentro da seção de volumes , configure uma referência à notificação de volume persistente. Não é necessário especificar ninguna otra informacin sobre o volume. Pode-se usar a recuperação, que proporcionará o volume ao qual está vinculado.

Se hace referencia a la denuncia em volumeMounts . Certifique-se de usar o mismo nombre en volumes es volumeMounts . O volume é montado no Pod na ubicacin especificada por mountPath .

Su Pod agora tem memória persistente disponível. Cualquier cosa escrita /path/in/container é almacenar no volume persistente. Os novos pods fazem referência à reutilização da solicitação de volume persistente, o que permite que os dados sobrevivam a um pod mais quádruplo.

Classes de almacenamento

O manual La clase de almacenamiento se utiliza al crear sus propios manifiestos de reclamo de volumen y volumen. Vários controladores de complementos de volume que fornecem suas propias classes de almacenamiento. Consulte a classe de almacenamento que representa o tipo de volume que deseja usar.

Os serviços administrados de Kubernetes suelen fornecem suas propias classes de almacenamiento que se destinam à implementação de almacenamiento no bloco da plataforma. gcePersistentDisk com Google Kubernetes Engine ou do-block-storage com Kubernetes administrados pela DigitalOcean.

Nos cenários, não é necessário criar o arquivo PersistentVolume manifestar manualmente. Crie um PersistentVolumeClaim com o storageClassName correto e use o campo resources.requests.storage (mostrado arriba) para especificar a capacidade deseada. O controlador de almacenamiento vincula automaticamente a recuperação a uma instância de volume compatível.

Modo de acesso

Hay tres valores admitidos para accessModes campo :

  • ReadWriteOnce – El volumen solo se puede montar em um único nó de Kubernetes. Ese nodo tendr acesso completo de leitura e escritura ao volume.
  • ReadOnlyMany – El volumen puede ser consumido por vários nodos al mismo time. Cada nó tem acesso à leitura solo (nada pode escrever no volume).
  • ReadWriteMany – El volumen se puede montar en varios nodos al mismo tiempo. Cada nodo pode ler e escrever no volume.

Um volume determinado solo pode ser usado como um modo de acesso uma vez. Isso significa que os recuperamos de volume em solo se associamos com o mismo volumen se ambos recuperamos declarando o mismo modo de acesso.

A forma que se acessa a sus volmenes afeta a capacidade do programador de Kubernetes para estender as rplicas de sus pods em varios nodos. O ReadOnlyMany / ReadWriteMany Os modos devem ser usados ​​nos pods necessários para compartilhar o almacenamento persistente e ser replicado em vários nós.

Tenga en cuenta que todos os controladores de almacenamento não admitem todos os modos de acesso; debe consultar com su provador de complementos. Se fornece uma lista não exaustiva de módulos de volume compatíveis e modos de acesso. en la documentacin de Kubernetes .

Concluindo

O arquivamento persistente no Kubernetes não é tão abrumador como parece a primeira vista. Certifique-se de que os pods que solicitam acesso ao almacenamento tengan volmenes associados com uma solicitação de volume persistente.

Ao utilizar solicitações de volumes persistentes, o Kubernetes cria volumes persistentes que sobrevivem aos pods individuais. Quando reemplazan sus pods, os volmenticamente necessários são necessários para montar automaticamente os novos pods. Los dados no se destruirn hasta que se despeje la queja.

  • O ataque automático de uso abusivo das ações do GitHub para minar criptomonedas
  • Cmo personalizando o feed do Google Discover no iPhone

Descobre ms contenido

Google Pixel Watch também tem detecção de cadas, pero no hasta el prximo ao

Las melhores tazas de caf calentadas de 2022

Cmo automatize seu iPhone segn el tiempo, la actividad ou la ubicacin

"Eso debe haber sido antes de mi tiempo"

Por qu la NASA enva a Snoopy a la Luna? – Revisando geek

Qu es una carga fantasma?

Deja una respuesta Cancelar la respuesta

Ir arriba