Etapa 1: Iniciar o servidor Kubernetes
Nesta etapa, executamos o servidor Kubernetes que é o minikube que contém os pods em um contêiner. Podemos executar o cluster minikube executando o seguinte comando:
~$ iniciar minikubeQuando o comando é executado, o cluster local do minikube é executado em nosso aplicativo.
Minikube faz uso de um VirtualBox para construir uma máquina virtual acessível localmente. Podemos implantar rapidamente nossos comandos ou serviços em clusters Kubernetes. Depois disso, nós os testamos localmente usando o cluster minikube Kubernetes.
Etapa 2: visualizar uma lista de todos os pods junto com as imagens no cluster
Para executar todos esses comandos, o Kubectl deve estar instalado em seu sistema local. Nesta etapa, aprenderemos a visualizar uma lista de imagens que são usadas pelos pods em clusters e que estão armazenadas em nosso contêiner. Podemos executar o seguinte comando em nossa ferramenta de linha de comando Kubectl para obter uma lista de imagens armazenadas.
~$ kubectl obter pods --all-namespaces -o jsonpath = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> organizar
Quando o comando é executado, a saída aparece como na captura de tela a seguir:
Este comando busca a lista de pods que estão presentes no cluster e, em seguida, busca todas as imagens encontradas neste caminho. Depois que as imagens são encontradas, o comando também classifica essas imagens em sequência, em ordem alfabética. Por fim, conta o número de imagens presentes em nosso cluster. Este comando retorna a saída no formato de caminho JSON. Vamos discutir as partes do comando uma a uma:
– -all-namespaces: Podemos facilmente buscar a lista de pods em todos os namespaces em nosso cluster Kubernetes. Aqui, todas as imagens dos pods são declaradas.
– o jsonpath=’: Este parâmetro fornece o formato da saída. O formato do caminho JSON está de acordo com o comando fornecido e exibe o nome do pod e as imagens do contêiner, bem como o formato de saída. A lista é separada por tabulação e cada pod é separado inserindo uma nova linha.
|: Como você pode ver, os comandos empregam o “|” personagem. É usado para transferir a saída para o comando de passagem.
organizar: Este parâmetro classifica as imagens em uma ordem específica.
Esta é a explicação completa do comando. Espero que você entenda o propósito deste comando. Como podemos ver na captura de tela, a lista de pods e imagens são exibidas e separadas por vírgulas.
Etapa 3: obter a lista de imagens de um pod específico
Nesta etapa, aprenderemos apenas sobre a recuperação de imagens de pods específicas. Para isso, executamos novamente o comando que especifica o nome do pod no caminho JSON. Execute o seguinte comando para buscar as imagens de um pod específico.
~$ kubectl obter pods --all-namespaces -o jsonpath = '{.items[].spec.containers[].image}' -eu aplicativo =nginxNeste comando, pegamos um pod chamado “app=ngnix”.
Quando o comando é executado, o formato de saída do caminho JSON exibe a lista de todas as imagens de contêiner usadas pelo pod denominado “app-ngnix”.
Dessa forma, podemos obter uma lista de imagens usadas por pods específicos em todos os namespaces em nosso aplicativo Kubernetes.
Etapa 4: obter uma lista de imagens em um namespace específico no cluster
Esta é a quarta etapa do nosso artigo, onde aprendemos como podemos obter a lista de imagens em um namespace específico em nosso cluster Kubernetes. Executamos o seguinte comando em nossa ferramenta de linha de comando Kubectl:
~$ kubectl obter pods --namespace ser um sistema -o jsonpath = '{.items[].spec.containers[].image}'Neste comando, queremos recuperar as imagens do namespace cujo nome é “kube-system” que é usado por pods em nosso cluster Kubernetes.
Uma lista de imagens é exibida na saída produzida quando o comando é executado. Aqui está a captura de tela:
O formato do caminho JSON da saída é facilmente obtido executando o comando. Cada linha na saída aborda uma imagem de contêiner que é usada por um pod no namespace “kube-system”. O formato da saída é mostrado pelo modelo de caminho JSON usado no comando. Neste exemplo, o modelo “.items[].spec.containers [].image” retorna a imagem do contêiner que é usada por cada pod no namespace.
Etapa 5: obter a lista de imagens de todos os namespaces do modelo Go
Nesta etapa, aprenderemos o processo de busca da lista de imagens de todos os namespaces que é usado por pods que usam um formato de saída “go template” no cluster Kubernetes. Para isso, utilizamos o seguinte comando:
~$ kubectl obter pods --all-namespaces -o go-modelo --modelo = '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'Antes de ir para a saída, vamos primeiro discutir os parâmetros do comando para que você tenha uma ideia de como podemos usar os diferentes parâmetros em nosso comando. Podemos começar com novos parâmetros que não foram discutidos antes:
-o go-template: Isso mostra que o formato de saída deve estar de acordo com a notação “go-template”.
– -template=”{{intervalo. itens}} {{intervalo. spec.containers}}{{.image}} {{end}}{{end}}”: Isso fornece o modelo a ser usado para a saída. Este modelo percorre a lista de pods que recupera a imagem do contêiner para cada um. O resultado é uma lista separada por espaço de imagens de contêiner que é usada por todos os pods em todos os namespaces no cluster.
Após a execução do comando anterior, você obtém a seguinte saída:
Essas são todas as etapas pelas quais podemos buscar a lista de imagens usadas pelos pods em nosso contêiner Kubernetes.
Conclusão
Concluímos que podemos recuperar facilmente a lista de imagens armazenadas no contêiner em nosso aplicativo Kubernetes com a ajuda da ferramenta de linha de comando kubectl. No Kubernetes, podemos obter a lista de imagens em diferentes métodos. Cada método é explicado claramente nas etapas fornecidas. A opção “–all namespace” obtém as imagens de todos os namespaces usados pelo pod que são armazenados no contêiner e são fáceis de obter executando os comandos. Você pode seguir todas as etapas para que seu aplicativo obtenha a lista de imagens executando os comandos na ferramenta de linha de comando kubectl.