Kubernetes - Imagens

As imagens do Kubernetes (Docker) são os principais blocos de construção da infraestrutura em contêiner. No momento, oferecemos suporte apenas ao Kubernetes para oferecer suporte a imagens do Docker. Cada contêiner em um pod tem sua imagem Docker em execução dentro dele.

Quando estamos configurando um pod, a propriedade da imagem no arquivo de configuração tem a mesma sintaxe do comando Docker. O arquivo de configuração possui um campo para definir o nome da imagem, que planejamos extrair do registro.

A seguir está a estrutura de configuração comum que extrairá a imagem do registro do Docker e implantará no contêiner do Kubernetes.

apiVersion: v1
kind: pod
metadata:
   name: Tesing_for_Image_pull -----------> 1
   spec:
      containers:
         - name: neo4j-server ------------------------> 2
         image: <Name of the Docker image>----------> 3
         imagePullPolicy: Always ------------->4
         command: ["echo", "SUCCESS"] ------------------->

No código acima, definimos -

  • name: Tesing_for_Image_pull - Esse nome é fornecido para identificar e verificar qual é o nome do contêiner que seria criado após extrair as imagens do registro do Docker.

  • name: neo4j-server- Este é o nome dado ao container que estamos tentando criar. Como demos o neo4j-server.

  • image: <Name of the Docker image>- Este é o nome da imagem que estamos tentando extrair do Docker ou do registro interno de imagens. Precisamos definir um caminho de registro completo junto com o nome da imagem que estamos tentando obter.

  • imagePullPolicy - Sempre - esta política de extração de imagem define que sempre que executarmos esse arquivo para criar o contêiner, ele obterá o mesmo nome novamente.

  • command: [“echo”, “SUCCESS”] - Com isso, ao criarmos o container e se tudo correr bem, será exibida uma mensagem quando acessaremos o container.

Para extrair a imagem e criar um contêiner, executaremos o seguinte comando.

$ kubectl create –f Tesing_for_Image_pull

Assim que buscarmos o log, obteremos a saída como bem-sucedida.

$ kubectl log Tesing_for_Image_pull

O comando acima produzirá uma saída de sucesso ou obteremos uma saída como falha.

Note - Recomenda-se que você tente todos os comandos sozinho.