GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Ansible AWX en Kubernetes Minikube

Hola Geeks, espero que estén al tanto de Ansible AWX, si no es así, Ansible AWX es una herramienta GUI basada en web para administrar playbooks de ansible. Hay muchas otras características de AWX además de la ejecución de playbooks de Ansible, como la integración de administración de fuentes, el registro de RBAC y más.

En otras palabras, podemos decir que Ansible AWX se considera un proyecto ascendente de Red HAT Ansible Tower. A partir de la versión 18.x de AWX en adelante, el foco de instalación se traslada de docker a Kubernetes. Entonces, en este artículo, cubriremos la instalación paso a paso de Ansible AWX en Kubernetes Minikube.

Supongo que Minikube ya está instalado en su sistema Linux. Si no, utilice la siguiente URL:

  • Cómo instalar Minikube en Ubuntu 20.04 LTS/21.04

Nota: Asegúrese de iniciar su clúster de minikube con suficientes recursos (al menos 4 vCPU y 8 GB de RAM), en mi caso, comencé minikube con los siguientes recursos y opciones.

$ minikube start --addons=ingress --cpus=4 --cni=flannel --install-addons=true --kubernetes-version=stable --memory=8g

Verificar la instalación del clúster de Minikube

Ejecute los siguientes comandos para verificar la instalación de minikube y el estado del clúster,

$ estado minikube$ kubectl cluster-info$ kubectl obtener nodos

La salida de los comandos anteriores debería verse como a continuación:

Perfecto, lo anterior confirma que minikube se ha instalado e iniciado correctamente. Pasemos a los pasos de instalación de AWX.

Paso 1) Instalar el operador AWX

Para instalar el operador AWX, ejecute el siguiente comando kubectl,

$ kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/0.12.0/deploy/awx-operator.yaml

Salida

Ejecute el siguiente comando para confirmar si el módulo del operador AWX está iniciado o no. Si no se inicia, espere un par de minutos, ya que lleva tiempo,

[email protected]:~$ kubectl get podsNAME                            LISTO   ESTADO    REINICIA   AGEawx-operator-79bc95f78-pb7tz   1/1     En ejecución   0          5m23s[email protected]:~$ 

Paso 2) Crear el archivo yaml de la instancia de AWX

Cree un archivo ansible-awx.yml con los siguientes contenidos

$ vi ansible-awx.yml---apiVersion:awx.ansible.com/v1beta1kind:AWXmetadata:  nombre:ansible-awxspec:  service_type:nodeport  ingress_type:none  hostname:ansible-awx.example.com

guarde y salga del archivo.

Paso 3) Implementar la instancia de Ansible AWX

Ahora, implementemos la instancia de AWX en nuestro clúster ejecutando el siguiente comando,

[correo electrónico protegido]:~$ kubectl apply -f ansible-awx.ymlawx.awx.ansible.com/ansible-awx created[correo electrónico protegido]:~$

Arriba se creará una implementación con el nombre 'ansible-awx' y esta implementación tendrá dos pods y servicios.

Después de un par de minutos, Ansible AWX se implementará y, en caso de que desee monitorear los registros de instalación, use el siguiente comando,

$ kubectl logs -f deployment/awx-operator

Ejecute el siguiente comando para verificar el estado de AWX Pods,

[email protected]:~$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator" NOMBRE                           LISTO   ESTADO    REINICIA   AGEansible-awx-5ddfccf664-vrdq2   4/4     En ejecución        postgres-0         1/1     En ejecución   0          8m24s[email protected]:~$

Ejecute el siguiente comando para ver el estado del servicio,

[email protected]:~$ kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator" NOMBRE                   TIPO        CLUSTER-IP     EXTERNAL-IP   PUERTO(S)        AGEansible-awx-postgres   ClusterIP   Ninguno     ninguno>        5432/TCP       8m31sansible-awx-service    NodePort    10.97.206.89           80:32483/TCP   7m55s[email protected]:~$

Tome nota del puerto de nodo de 'ansible-awx-service', lo usaremos más adelante para el reenvío de puertos.

Paso 4) Acceda al Portal AWX a través de túneles

Para acceder al portal AWX fuera del clúster de minikube, debemos configurar el túnel, ejecutar

[email protected]:~$ nohup minikube tunnel &[3] 35709[email protected]:~$[email protected]:~$ kubectl get svc ansible-awx-serviceNOMBRE                  TIPO       CLUSTER-IP     EXTERNAL-IP   PUERTO(S) )        AGEansible-awx-service   NodePort   10.97.206.89           80:32483/TCP   90m[email protected]:~$

Establezca el reenvío de puertos de tal manera que, si la solicitud proviene de la IP de minikube en el puerto de nodo '32483', debe redirigirse al puerto 80 de awx pod.

[correo electrónico protegido]:~$ kubectl port-forward svc/ansible-awx-service --address 0.0.0.0 32483:80 &> /dev/null &[4] 46686[correo electrónico protegido]:~$

Ahora intente acceder al portal AWX desde el navegador web utilizando la dirección IP de minikube y el puerto de nodo 32483

http://:

Para obtener las credenciales, vuelva a la terminal y ejecute debajo del comando.

[email protected]:~$ kubectl get secret ansible-awx-admin-password -o jsonpath="{.data.password}" | base64 --decodePWrwGWBFCmpd1b47DJffCtK5SqYGzxXF[correo electrónico protegido]:~$

Use el nombre de usuario como 'admin' y la contraseña como resultado del comando anterior, después de ingresar las credenciales obtendremos el siguiente panel

Genial, lo anterior confirma que Ansible AWX se instaló correctamente en Kubernetes minikube. Eso es todo de este artículo. Espero que lo haya encontrado informativo y, en caso de que tenga alguna consulta, no dude en escribirnos en la sección de comentarios a continuación.

Leer también :Cómo ejecutar y programar Ansible Playbook mediante la GUI de AWX


Linux
  1. Cómo instalar Minikube en Ubuntu 18.04 / 20.04

  2. Cómo instalar Jenkins en Kubernetes

  3. Cómo instalar Kubernetes con Minikube en Ubuntu 20.04

  4. Cómo instalar Ansible en AlmaLinux 8

  5. Cómo instalar Ansible en Oracle Linux 8

Cómo instalar Minikube en Ubuntu 20.04

Cómo instalar Kubernetes minikube en Ubuntu 20.04

Cómo instalar el servidor Ansible en Ubuntu 18.04

Cómo instalar Ansible AWX en Debian 10

Cómo instalar Kubernetes con Minikube en CentOS 8

Cómo instalar Ansible en Linux Mint 20