Font d'inventari d'Ansible Kubernetes (K8s).

Font D Inventari D Ansible Kubernetes K8s



En aquesta publicació, aprenem a utilitzar el connector Kubernetes a l'eina Ansible. A Ansible és difícil gestionar un gran nombre de contenidors. Però utilitzar Kubernetes a Ansible és útil a l'hora de gestionar els contenidors. En aquesta guia, aprendrem què és la font d'inventari de Kubernetes i com funciona a Ansible.

Google va llançar el programari de gestió de fàcil accés anomenat Kubernetes, que també es coneix com a K8s, que s'utilitza per gestionar les configuracions virtualitzades a través d'un conjunt remot de màquines amb funcions d'instal·lació sense temps d'inactivitat, reversió automatitzada i escalabilitat que proporciona al connector Kubernetes una adaptabilitat extremadament. arquitectura a Ansible. Mitjançant la disponibilitat de les API REST per a la funcionalitat necessària, l'objectiu principal de Kubernetes és ocultar les complexitats associades al control d'una sèrie de contenidors.







La configuració de Kubernetes es basa en client-servidor. Tanmateix, de manera predeterminada, només hi ha un servidor principal que serveix d'amfitrió de control. A Kubernetes, també podem utilitzar controladors multiprincipal per a la configuració de Kubernetes. La font d'inventari K8s és ocasionalment necessària per als sistemes de control i configurar els serveis a l'amfitrió remot per controlar els pods. Però hi ha dificultats per obtenir instruccions específiques sobre com fer-ho. Com a resultat, implementem aquest tutorial sobre com fer un Ansible Playbook que extreu els pods d'un domini i produeixi una font d'inventari de Kubernetes.



Requisits previs per utilitzar la font d'inventari de Kubernetes a Ansible

Per utilitzar la font d'inventari de Kubernetes a Ansible, hi ha instruccions o ordres de procés de fase al llarg d'aquesta guia. Assegureu-vos que teniu la preparació necessària si voleu avançar-hi:



  • Per treballar en un escenari Ansible, primer configurem l'eina Ansible al servidor i ens assegurem que teniu la versió 2.11.7 d'Ansible perquè puguem utilitzar fàcilment el connector de Kubernetes.
  • Per avaluar el connector de Kubernetes, necessitem un dispositiu de servidor remot amb un clúster Kubernetes integrat.
  • L'amfitrió remot està configurat actualment per executar les instruccions i llibres de jugades d'Ansible, així com un fitxer d'inventari creat. El nom del dispositiu remot objectiu és K8s Master Node.
  • La versió de Python és 3.6 o superior que s'ha d'instal·lar al dispositiu del controlador Ansible. També pot estar al dispositiu host remot de destinació.
  • La versió del mòdul openshift de Python és 0.6 o superior. També necessitem un mòdul pyYAML de la versió 3.11 o superior. Els dos mòduls s'han de configurar al dispositiu servidor remot i al dispositiu controlador.

Exemple:





Aquest és el primer exemple on implementem el Kubernetes a Ansible. Per fer-ho, utilitzem qualsevol entorn Ansible per implementar la font d'inventari de Kubernetes. Els processos enumerats següents es duen a terme en l'escenari següent mitjançant el connector d'inventari de Kubernetes:

  • Implementació del nou espai de noms al clúster K8s a Ansible.
  • Creació del pod nginx mitjançant el llibre de jugades Ansible.
  • Creació del desplegament nginx a Ansible.

Per facilitar la comprensió dels conceptes i l'execució, implementem l'exemple en una sèrie de passos.



Pas 1: implementeu el nou espai de noms al clúster K8s a Ansible

En el primer pas, creem el playbook per poder escriure el contingut en format “.yml” a Ansible. Per crear el llibre de jugades, la següent és l'ordre que fem servir:

[ arrel @ mestre ansible ] # nano  nginx_pod.yml

Ara, el llibre de jugades 'pod.yml' es crea i es llança al nou terminal d'Ansible. Comencem a escriure el guió. Al llibre de jugades, primer definim la versió de l'API que fem servir al pod Ansible que és 'v1'. L'espai de noms que definim és 'ansible-namespace'. A continuació, enumerem les metadades de l'espai de noms ansible. A les metadades, utilitzem el programari nginx i l'etiqueta que conté un nivell d'interfície de valor. A l'especificació del llibre de jocs, enumerem el nom i la imatge que s'emmagatzema al contenidor; tots dos contenen el nginx.

Pas 2: creeu el document de manifest a Ansible

Ara, creem un altre document al mateix directori d'Ansible que és el document de desplegament en format '.yml'. Per crear el document de manifest, utilitzeu l'ordre següent al terminal Ansible:

[ arrel @ mestre ansible ] # nano nginx_deployment.yml

Al document del manifest, primer tornem a definir la versió de l'aplicació que és 'app/v1'. Aleshores, diem de quin tipus de fitxer es tracta, si és un fitxer de desplegament. A continuació, definim l'espai de noms que és ansible-namespace. Per crear la implementació, dues rèpliques dins de l'espai de noms ansible mostren el número del pod. Les imatges nginx són 1.14.2 que es llancen al pod. El paràmetre matchLabels proporciona les etiquetes dels pods i les seves especificacions sota el paràmetre spec. Si d'alguna manera les etiquetes dels pods coincideixen amb les especificades a la informació de configuració, la implementació es produeix al document de manifest d'Ansible.

Pas 3: creeu el Playbook per a la implementació de Kubernetes a Ansible

Ara, volem crear un altre llibre de jugades a Ansible. En aquest manual, implementem la funcionalitat de Kubernetes. Utilitzeu l'ordre següent per crear el llibre de jugades:

[ arrel @ mestre ansible ] # nano kubernetes_main.yml

El llibre de jugades es crea al mateix directori on s'emmagatzemen el llibre de jugades i el document de manifest anteriors a Ansible. Al playbook, primer definim la funcionalitat del playbook que volem implementar. Per crear la connexió, proporcionem els amfitrions remots als quals volem orientar-nos. Aquí, ens orientem a 'tots' els amfitrions. A continuació, definim la variable per comprovar l'intèrpret de Python a Ansible mitjançant el camí on s'emmagatzema. Ara, definim les tasques al llibre de jugades. Primer, comprovem l'estat del dispositiu minikube. A continuació, creem un nou espai de noms de Kubernetes al llibre de jugades. A continuació, dupliqueu els fitxers nginx_pod.yml i nginx_deployment .yml al dispositiu remot.

A través d'aquests documents yml, construïm la implementació del pod al dispositiu remot. A continuació, comprovem si el pod Kubernetes està present o no a la ubicació especificada al dispositiu remot.

Després de la finalització del llibre de jugades, ara creem el fitxer d'inventari perquè fem la connexió entre el controlador Ansible i l'amfitrió remot de destinació.

Tots:
amfitrions:
k8s_Master_Node:
host_ansible: 192.168.3.229
ansible_user: ansible
contrasenya_ansible: ********
connexió_ansible: ssh
port_ansible: 22

[ arrel @ mestre ansible ] # ansible-playbook kubernates_main.yml

Aquí teniu la sortida desitjada on veiem que les tasques es col·loquen correctament a la màquina de destinació:

Després de col·locar la tasca a la màquina de destinació, comprovem si l''espai de noms ansible' es troba al clúster de Kubernetes o no. Utilitzem la següent comanda 'grep':

[ arrel @ mestre ansible ] # kubectl obté l'espai de noms | grep ansible-namespace

Si voleu comprovar el pod creat a l'espai de noms del clúster de Kubernetes, escriviu l'ordre següent per comprovar-ho:

[ arrel @ mestre ansible ] # kubectl get pods --namespace ansible-namespace

Com veieu a la sortida anterior, obtenim els pods que s'estan executant al dispositiu. Ara, comprovem el desplegament que hem fet al clúster Kubernetes. Utilitzeu la declaració següent per comprovar els desplegaments ja realitzats:

[ arrel @ mestre ansible ] # kubectl get deployments --namespace ansible-namespace

Conclusió

Hem après quina és la font d'inventari de Kubernetes a Ansible. També vam aprendre a utilitzar l'inventari de Kubernetes a Ansible. A continuació, vam implementar un exemple perquè aprendrem més clarament sobre el funcionament de la font d'inventari de Kubernetes a Ansible.