Este artigo abordará o manuseio de armazenamento efêmero de Kubernetes e ensinará como esses volumes são criados em clusters ativos. Explicaremos em detalhes quais são os volumes em Kubernetes e quais são seus tipos básicos. Também forneceremos um guia para o uso de volumes genéricos em Kubernetes.
Volumes em Kubernetes
Um volume em Kubernetes pode ser comparado a um diretório que os contêineres em um pod podem acessar. Em Kubernetes, existem vários tipos de volume e cada tipo especifica o conteúdo e o método de criação do volume. Com o Docker, o conceito de volume existia, mas a única desvantagem era que o volume era severamente restrito a uma única vagem. O volume também foi perdido depois que a vida de um pod acabou. Os volumes de Kubernetes, no entanto, não são limitados a um tipo específico de contêiner. Ele suporta um ou todos os contêineres implantados da vagem de Kubernetes. A capacidade do pod de usar vários tipos de armazenamento simultaneamente é um dos principais benefícios do volume de Kubernetes. Kubernetes oferece aos usuários uma escolha entre dois tipos diferentes de volumes: persistente e efêmero. Os volumes efêmeros só existem durante a duração de um pod e são removidos assim que o pod termina, em contraste com os volumes persistentes, que mantêm os dados durante todo o ciclo de vida de uma vagem.
O gerenciamento do armazenamento efêmero por Kubernetes
Alguns pods Host Applications exigem armazenamento de dados, mas não precisam dos dados para persistir durante as reinicializações de contêineres. Estes consistem em programas que extraem dados de entrada somente leitura de arquivos, como configuração e informações de chave secreta. O volume associado a vagens de um serviço de cache geralmente move dados sem importância para o armazenamento limitado de memória sem afetar o desempenho. Portanto, o volume só precisa suportar a duração da vagem.
Para atender aos requisitos de armazenamento dessas vagens transitórias, o Kubernetes usa volumes efêmeros. As vagens podem começar e terminar sem serem restringidas pela colocação de um volume persistente graças a volumes efêmeros. Em cada nó em um cluster Kubernetes, há uma opção para o armazenamento efêmero local que está conectado à RAM ou dispositivos localmente graváveis.
Vamos entender melhor esse tópico, observando como Kubernetes lida com o gerenciamento do armazenamento efêmero.
Quais são as diferentes opções de armazenamento efêmero?
O armazenamento efêmeral está alojado em um volume não estruturado que é compartilhado pelo sistema operacional, todos os pods ativos no nó e o tempo de execução do contêiner. Essas entidades estão restringidas a utilizar o armazenamento local do nó excessivamente pelos volumes. O armazenamento efêmeral está sempre alojado na partição principal do armazenamento local. Esta divisão pode ser feita das seguintes maneiras:
Raiz
O diretório de armazenamento raiz é usado pelo sistema operacional, vagens de usuários e os daemons do sistema Kubernetes, tudo ao mesmo tempo. /var/log/e o diretório raiz kubelet, que é por padrão/var/lib/kubelet/, estão localizados no disco raiz. As vagens podem usar esta partição usando camadas de imagem de contêiner, volumes em vazio e camadas escritas. O serviço Kubelet controla o isolamento e o acesso compartilhado à partição raiz. A partição raiz não fornece durabilidade, IOPS de disco ou outros parâmetros de desempenho porque é efêmero.
Tempo de execução
Os tempos de contêineres criam sistemas de arquivos de sobreposição por partição de tempo de execução. O tempo de execução oferece acesso compartilhado assim que a partição for implementada com isolamento. Camadas de imagem e camadas criadas por contêineres são mantidas nesta partição. Essas camadas são escritas automaticamente para a partição de tempo de execução quando for formada, não a partição raiz.
Volumes efêmeros e seus tipos em Kubernetes
Dependendo do uso pretendido, o Kubernetes suporta uma variedade de tipos de volume efêmeral. Estes consistem em:
Volumes efêmeros genéricos
Qualquer driver de armazenamento que permita o provisionamento dinâmico de volumes persistentes pode ser empregado para gerar esses volumes. Para dados de inicialização, isso é jogado fora durante o provisionamento, esses volumes oferecem um diretório de nível de vagem. Os volumes efêmeros genéricos têm as seguintes qualidades:
Dir vazio
Assim que um POD inicializa, este volume é gerado e tornado acessível por qualquer tempo que o pod seja não terminal.
Como usar volumes efêmeros genéricos?
Aqui está o guia passo a passo que você pode seguir para o uso de volumes efêmeros em Kubernetes.
Etapa 1: Iniciar o Minikube
Usando o Minikube da ferramenta, você pode executar Kubernetes localmente. Aqui está o comando:
> Minikube Start
Etapa 2: Habilite a sintaxe destacando para YAML
Nesta etapa, vamos criar um arquivo de configuração com o seguinte comando.
> Nano Epi.Yaml
A seguir, é um exemplo de como a especificação da YAML para uma vagem conectada a um volume efêmero genérico e tem 1 giba de armazenamento e vários modos de acesso seriam:
Etapa 3: Crie uma vagem
Aqui, vamos criar uma vagem. Isso é feito executando o comando kubectl Apply, que então constrói e modifica os recursos em um cluster.
> kubectl Aplicar -f epi.Yaml
Etapa 4: Veja os detalhes do pod
Agora, encontraremos e visualizamos os detalhes do pod usando um comando mencionado abaixo:
> kubectl Obtenha pods
O comando é executado com sucesso e a saída também é mencionada acima, na qual você pode ver os detalhes da vagem.
Etapa 5: Monitorando volumes efêmeros
Uma ferramenta de monitoramento que pode monitorar a utilização de armazenamento nos volumes em que os contêineres mantêm seus dados podem ser configurados e é possível fazê -lo. Este volume está localizado em/var/lib/docker ou/var/lib/origem. Uma ferramenta desse tipo que pode ser usada para examinar o número de recursos utilizados nessas unidades é o utilitário /bin /df. A utilização e capacidade de armazenamento podem ser mostradas em forma legível pelo homem por administradores de cluster usando a ferramenta DF -h.
O comando para monitorar os volumes efêmeros está anexado abaixo:
> df -h/var/lib/
Você pode ver a saída acima em que o sistema de arquivos, tamanho, uso, aprovação, uso%e informações montadas são exibidas.
Conclusão
Para aplicativos Kubernetes que lidam com dados transitórios, o armazenamento efêmero é um componente essencial. Independentemente de onde o volume persistente está localizado, Kubernetes fornece volumes efêmeros para permitir que vagens transitórias cessem e reiniciem graciosamente. Cada nó Kubernetes possui armazenamento efêmero que é conectado localmente a RAM ou armazenamento gravável. As vagens podem utilizar este armazenamento para armazenamento em cache, log e arranhão. Este artigo discute tudo isso em detalhes.