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
$ 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.comguarde 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-operatorEjecute 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.8980: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.8980: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