Kubernetes Volumes de patrimônio host

Kubernetes Volumes de patrimônio host

Um volume do HostPath aponta para um soquete ou diretório do sistema de arquivos específico no nó. Em Kubernetes, existem vários tipos de volume. Como os volumes Gitrepo e Emptydir são apagados, o volume do caminho do host é vantajoso nos aplicativos Kubernetes porque preserva o conteúdo dos volumes. O volume do HostPath e o tipo de volume Kubernetes são discutidos neste artigo. Você aprenderá como lançar o Minikube e construir um manifesto de arquivo YAML neste artigo. Você será guiado passo a passo através da configuração do volume do caminho do host e da criação do volume do POD.

O que são volumes de Kubernetes?

Os contêineres em uma vagem Kubernetes podem acessar um diretório de dados chamado Volume de Kubernetes. Dependendo do tipo específico de volume que está sendo utilizado, a localização do diretório, o meio de armazenamento que o suporta e seu conteúdo variam.

Os processos dentro de uma vagem de contêineres veem uma visualização do sistema de arquivos composta pelo seguinte:

    • Um sistema de arquivos root que é idêntico ao conteúdo da imagem do contêiner.
    • Recipientes montados com volumes (se definidos). Dentro do sistema de arquivos de contêiner, cada volume é montado em um caminho distinto.

O .espec.containers[*].Volumemounts define os volumes. Para cada imagem de contêiner que está contida no pod, você deve fornecer os volumes e os caminhos de montagem para cada pod.

Em Kubernetes, existem vários tipos de volume, como:

    • Volumes persistentes
    • Volumes vazios
    • Volumes efêmeros
    • Kubernetes Volumes ConfigMap
    • Kubernetes Volumes de patrimônio host

O que são volumes de caminho hospedeiro Kubernetes?

Em Kubernetes, o caminho do host significa montar os recursos como arquivos, soquetes ou diretórios do host ou nó dentro da vagem. O Hostpath pode especificar coisas como o diretório que já deveriam existir ou devem ser criados na criação de pods.

Como visto na figura a seguir, um volume de patrimão host aponta para os recursos no sistema de arquivos do nó. Os mesmos arquivos são visíveis a todos os pods que utilizam o mesmo volume de patrimônio host e operam no mesmo nó.


Figura 1: Os arquivos ou diretórios de um nó do trabalhador são montados no sistema de arquivos do contêiner por um volume de patrimônio host.

Quando um pod é destruído, o conteúdo dos volumes Gitrepo e Emptydir são apagados, mas não o conteúdo do volume do caminho do host. O pod seguinte é capaz de visualizar todos os arquivos que o pod excluído deixou para trás se for atribuído ao mesmo nó que o anterior e utilizar um volume de patrimão de host que se refere ao mesmo caminho no host.

A seguir, são importantes casos de uso de volume de patrimônio host. Embora a maioria dos pods não exija, ele fornece uma forte escotilha de fuga em algumas situações:

    • Usando o pod para implantar alguns arquivos específicos de nós.
    • Executando um contêiner que precisa de acesso aos internos do Docker usando o seguinte comando:
>/var/lib/dockerhostpath
    • Executando o CadVisor em um contêiner usando o seguinte comando:
> /sys hostpath
    • Permitindo que um pod para especificar um caminho de host para declarar se um determinado caminho host deve existir ou ser estabelecido antes que a vagem seja executada.
    • Escolher um tipo para o volume do caminho do host; Isso pode ser configurado além do atributo de caminho necessário.

Como configurar e criar um caminho de host

Vamos começar a aprender a configurar o caminho do host e criá -lo.

Etapa 1: Inicie o servidor Minikube

Na primeira etapa, inicie o servidor Minikube para que você possa usar os comandos Kubectl e executar seu aplicativo. O Minikube permite que você implante seus nós e vagens no ambiente Kubernetes. O comando a seguir deve ser usado para manter o minikube no modo ativo:

> Minikube Start


Isso ativa o minikube e torna o ambiente Kubernetes pronto para usar.


Etapa 2: Crie um arquivo YAML Kubernetes

Você aprenderá como criar um arquivo de manifesto YAML para Kubernetes nesta etapa. Testes e implantação de aplicativos em Kubernetes requerem os arquivos YAML.

Ao usar o Kubernetes, uma ação típica é a tendência de procurar arquivos YAML Kubernetes sempre que pretendemos implantar uma cápsula de teste.

Ao usar o Kubernetes, existem várias maneiras diferentes de gerar e editar os arquivos. Este artigo explica como usar o comando nano para criar um arquivo YAML, porque é a melhor opção para iniciantes.

Siga estas etapas para criar um arquivo YAML usando o Nano:

    • Comece o minikube.
    • Para construir um novo arquivo ou modificar um existente, navegue até a localização do diretório desejado.
    • O nome do arquivo deve ser seguido por nano. Por exemplo, você deseja fazer um novo arquivo chamado host.Yaml.

Execute o seguinte comando para construir um host de arquivo YAML no diretório do projeto:

> $ nano host.Yaml


O arquivo é criado após a execução do comando. O próximo passo é trabalhar no host recém -inaugurado.arquivo yaml.

Etapa 3: Configurar o Hostpath Volumemount

Para criar um volume e disponibilizá -lo para uma vagem, siga estas duas etapas:

    • Especifique -o na especificação: elemento volumes do modelo de pod antes de implantar o pod em alguns nós.
    • Monte o volume usando a especificação: Recipientes: Nome>: Comando de volume para um determinado contêiner monta propriedade.

Essas ações estão inter -relacionadas. Você deve montar um volume para um recipiente quando o criar. Você não pode montar um volume sem defini -lo primeiro na configuração do pod. Uma amostra de criação e montagem de um volume em uma configuração de modelo de pod YAML é fornecida no seguinte:

> Spec:
containers:
-Nome: App-One
Imagem: nginx-one
Volumemounts:
-Nome: volume-one
MountPath: /app /config
volumes:
-Nome: volume-one



No código fornecido, podemos observar que:

    • O volume de teste nomeado é criado na especificação.volumes pelo comando de volume e é anexado ao pod.
    • Encontre o caminho do host na seção de especificações de pod. O caminho/dados específicos é criado porque o tipo: diretoryorcreate significa que o caminho deve ser criado se não estiver lá.
    • Os dados estão no nó onde o pod é enviado e é montado dentro do recipiente no diretório /test-pd.
    • A declaração de volume e a propriedade Volumemounts exigem que o mesmo nome de volume seja utilizado.

Etapa 4: Crie o POD Volume HostPath

Nesta etapa, vamos usar o (host.Arquivo Yaml) para criar um volume de patrimão host, como mostrado no seguinte:

> $ kubectl Criar -f host.Yaml


Como visto na captura de tela acima mencionada, o pod chamado "test-pd" é construído com sucesso.

Conclusão

Este artigo fornece uma visão geral do caminho do host e demonstra como criar e configurar as montagens do caminho do host na prática. Como parte da função do Hostpath, que impede que os dados do sistema de arquivos do nó sejam apagados quando um pod é removido, embora o Hostpath tenha muitos benefícios, também existem vários riscos de segurança. Evite utilizá -lo sempre que puder. Um volume de patrimão host deve ser escopo apenas para o diretório ou arquivo necessário, e ele deve ser montado como reado se você precisar usar um. Neste artigo, você aprendeu a estabelecer com êxito um volume de POD passo a passo usando um exemplo fácil, além de aprender a criar um caminho no caminho do host e montá-lo no contêiner.