Neste post, aprendemos a usar o plugin Kubernetes na ferramenta Ansible. Em Ansible, é difícil gerenciar um grande número de recipientes. Mas a utilização de Kubernetes em Ansible é útil enquanto gerencia os contêineres. Neste guia, aprenderemos o que é a fonte de inventário Kubernetes e como ela funciona em Ansible.
O Google lançou o software de gerenciamento facilmente acessível chamado Kubernetes, que também é conhecido como K8S, usado para gerenciar as configurações virtualizadas em um conjunto remoto de máquinas com recursos de instalação de tempo zero, reversão automatizada e escalabilidade que fornece o plug-in Kubernetes com um extremamente adaptável Arquitetura em Ansible. Através da disponibilidade de APIs REST para a funcionalidade necessária, o objetivo principal de Kubernetes é ocultar as complexidades associadas ao controle de vários contêineres.
A configuração do Kubernetes é baseada no cliente-servidor. No entanto, por padrão, existe apenas um servidor principal que serve como um host controlador. Em Kubernetes, também podemos usar controladores multi-main para a configuração de Kubernetes. A fonte de inventário K8S é ocasionalmente necessária para sistemas de controle e configurar os serviços no host remoto para controlar pods. Mas há dificuldades em obter instruções específicas sobre como fazer isso. Como resultado, implementamos este tutorial sobre como fazer um manual Ansible que extrai os pods em um domínio e produz uma fonte de inventário Kubernetes.
Pré -requisitos de usar a fonte de inventário Kubernetes em Ansible
Para usar a fonte de inventário Kubernetes em Ansible, existem instruções ou comandos de processo de palco ao longo deste guia. Certifique -se de ter a preparação necessária se quiser avançar nele:
Exemplo:
Aqui está o primeiro exemplo em que implementamos os Kubernetes em Ansible. Para fazer isso, usamos qualquer ambiente Ansible para implementar a fonte de inventário Kubernetes. Os seguintes processos listados são realizados no cenário a seguir usando o plugin de inventário Kubernetes:
Para simplificar os conceitos e a execução, implementamos o exemplo em várias etapas.
Etapa 1: implemente o novo espaço de nome no cluster K8S em Ansible
Na primeira etapa, criamos o manual para que possamos escrever o conteúdo no “.YML ”formato em Ansible. Para criar o manual, o seguinte é o comando que usamos:
[root@master Ansible]# nano nginx_pod.yml
Agora, o “pod.O manual YML ”é criado e lançado no novo terminal de Ansible. Começamos a escrever o script. No manual, primeiro definimos a versão da API que usamos no Ansible Pod, que é "V1". O espaço para nome que definimos é "Ansible-namespace". Em seguida, listamos os metadados do Ansible-Namespace. Nos metadados, usamos o software nginx e o rótulo que contém um nível de brontend de valor. Na especificação do manual, listamos o nome e a imagem armazenada no contêiner; Ambos contêm o nginx nele.
Etapa 2: Crie o documento manifesto em Ansible
Agora, criamos outro documento no mesmo diretório de Ansible, que é o documento de implantação no “.formato yml ”. Para criar o documento manifesto, use o seguinte comando no terminal Ansible:
[root@master Ansible]# nano nginx_deployment.yml
No documento manifesto, primeiro definimos novamente a versão do aplicativo que é "App/V1". Em seguida, dizemos que tipo de arquivo é, seja um arquivo de implantação. Em seguida, definimos o espaço para nome que é Ansible-Namespace. Para construir a implementação, duas réplicas dentro do Ansible-Namespace mostram o número da vagem. As imagens nginx são 1.14.2 que são lançados na vagem. O parâmetro MatchLabels fornece as tags para as vagens e suas especificações no parâmetro de especificação. Se, de alguma forma.
Etapa 3: Crie o manual para a implementação de Kubernetes em Ansible
Agora, queremos criar outro manual em Ansible. Neste manual, implementamos a funcionalidade dos Kubernetes. Use o seguinte comando para criar o manual:
[root@master Ansible]# nano kubernetes_main.yml
O manual é criado no mesmo diretório em que o manual anterior e o documento de manifesto são armazenados em Ansible. No manual, primeiro definimos a funcionalidade do manual que queremos implementar. Para construir a conexão, fornecemos os hosts remotos que queremos atingir. Aqui, direcionamos hosts "todos". Em seguida, definimos a variável para verificar o intérprete Python em Ansible usando o caminho onde é armazenado. Agora, definimos as tarefas no manual. Primeiro, verificamos o status do dispositivo Minikube. Em seguida, criamos um novo espaço para nome de Kubernetes no manual. Então, duplique o nginx_pod.YML e Nginx_Deployment .YML para o dispositivo remoto.
Através desses documentos YML, construímos a implementação do POD no dispositivo remoto. Em seguida, verificamos se o pod kubernetes está presente ou não no local especificado no dispositivo remoto.
Após o término do manual, agora construímos o arquivo de inventário para fazer a conexão entre o controlador Ansible e o host remoto de destino.
Todos:
anfitriões:
k8s_master_node:
Ansible_host: 192.168.3.229
Ansible_user: Ansible
Ansible_password: ********
Ansible_connection: ssh
Ansible_port: 22
[root@master Ansible]# Ansible-playbook kubernates_main.yml
Aqui está a saída desejada, onde vemos que as tarefas são colocadas com sucesso na máquina de destino:
Depois que a tarefa é colocada na máquina de destino, verificamos se o "Ansible-namespace" está no cluster de Kubernetes ou não. Usamos o seguinte comando "Grep":
[root@master Ansible]# Kubectl Get Namespace | Grep Ansible-Namespace
Se você deseja verificar o pod criado no espaço para nome do cluster Kubernetes, escreva o seguinte comando para verificar:
[root@Master Ansible]# Kubectl Get PODS-Namespace Ansible-Namespace
Como você vê na saída anterior, temos as vagens que estão em execução no dispositivo. Agora, verificamos a implantação que fizemos no cluster Kubernetes. Utilize a seguinte declaração para verificar as implantações já feitas:
[root@Master Ansible]# Kubectl Get Implements-Namespace Ansible-Namespace
Conclusão
Aprendemos o que é a fonte de inventário Kubernetes em Ansible. Também aprendemos a utilizar o inventário Kubernetes em Ansible. Em seguida, implementamos um exemplo para aprendermos mais claramente sobre o funcionamento da fonte de inventário Kubernetes em Ansible.