GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Ansible AWX su Kubernetes Minikube

Ciao Geeks, spero che tu sia a conoscenza di Ansible AWX, in caso contrario Ansible AWX è uno strumento GUI basato sul Web per la gestione di playbook ansible. Ci sono molte altre funzionalità di AWX oltre all'esecuzione di playbook Ansible come l'integrazione della gestione del codice sorgente, la registrazione di RBAC e altro ancora.

In altre parole, possiamo dire che Ansible AWX è considerato un progetto a monte di Red HAT Ansible Tower. A partire dalla versione AWX 18.xe successive, lo stato attivo dell'installazione viene spostato dalla finestra mobile a Kubernetes. Quindi, in questo articolo, tratteremo passo passo l'installazione di Ansible AWX su Kubernetes Minikube.

Presumo che Minikube sia già installato sul tuo sistema Linux. In caso contrario, utilizza l'URL di seguito:

  • Come installare Minikube su Ubuntu 20.04 LTS / 21.04

Nota: Assicurati di avviare il tuo cluster minikube con risorse sufficienti (almeno 4 vCPU e 8 GB di RAM), nel mio caso ho avviato minikube con le seguenti risorse e opzioni.

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

Verifica l'installazione del cluster Minikube

Esegui i seguenti comandi per verificare l'installazione di minikube e lo stato del cluster,

$ stato minikube$ kubectl cluster-info$ kubectl get nodes

L'output dei comandi precedenti dovrebbe essere simile al seguente:

Perfetto, sopra conferma che minikube è stato installato e avviato correttamente. Passiamo ai passaggi di installazione di AWX.

Fase 1) Installa AWX Operator

Per installare l'operatore AWX, esegui il seguente comando kubectl,

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

Uscita

Esegui il comando seguente per confermare se il pod dell'operatore AWX è avviato o meno. Se non è stato avviato, attendi un paio di minuti poiché richiede tempo,

[email protected]:~$ kubectl get podsNAME                          PRONTO   STATUS    RESTARTS   AGEawx-operator-79bc95f78-pb7tz   1/1     In esecuzione   0          5m23s[email protected>] 

Passaggio 2) Crea il file yaml dell'istanza AWX

Crea il file ansible-awx.yml con i seguenti contenuti

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

salva ed esci dal file.

Passaggio 3) Distribuisci un'istanza AWX Ansible

Ora, distribuiamo l'istanza AWX nel nostro cluster eseguendo il comando seguente,

[email protetta]:~$ kubectl apply -f ansible-awx.ymlawx.awx.ansible.com/ansible-awx create[email protetta]:~$

Sopra creerà una distribuzione con un nome "ansible-awx" e questa distribuzione avrà due pod e servizi.

Dopo un paio di minuti, Ansible AWX verrà distribuito e, nel caso in cui desideri monitorare i registri di installazione, utilizza il comando seguente,

$ kubectl logs -f deployment/awx-operator

Esegui il comando seguente per verificare lo stato dei pod AWX,

[email protected]:~$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"NAME                         PRONTO   STATUS    RIAVVIA   AGEansible-awx-5ddfccf664-vrdq2   4/4         0   4 0 -  0  x postgres-0         1/1     In esecuzione   0          8m24s[email protetta]:~$

Esegui il comando seguente per visualizzare lo stato del servizio,

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

Prendi nota della porta del nodo di "ansible-awx-service", la useremo in seguito per il port forwarding.

Fase 4) Accedi al portale AWX tramite tunneling

Per accedere al portale AWX al di fuori del cluster minikube, dobbiamo configurare il tunneling, eseguire

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

Imposta il port forwarding in modo tale che, se la richiesta arriva sull'IP di minikube sulla porta del nodo "32483", dovrebbe essere reindirizzata alla porta 80 di awx pod.

[email protetta]:~$ kubectl port-forward svc/ansible-awx-service --address 0.0.0.0 32483:80 &> /dev/null &[4] 46686[email protetta]:~$

Ora prova ad accedere al portale AWX dal browser web utilizzando l'indirizzo IP di minikube e la porta del nodo 32483

http://:

Per ottenere le credenziali, torna al terminale ed esegui sotto comando.

[email protetta]:~$ kubectl get secret ansible-awx-admin-password -o jsonpath="{.data.password}" | base64 --decodePWrwGWBFCmpd1b47DJffCtK5SqYGzxXF[protetto da email]:~$

Usa il nome utente come "admin" e la password come output del comando precedente, dopo aver inserito le credenziali otterremo la seguente dashboard

Ottimo, quanto sopra conferma che Ansible AWX è stato installato correttamente su Kubernetes minikube. Questo è tutto da questo articolo. Spero che tu l'abbia trovato informativo e, in caso di domande, non esitare a scriverci nella sezione commenti qui sotto.

Leggi anche :Come eseguire e programmare Ansible Playbook utilizzando la GUI AWX


Linux
  1. Come installare Minikube su Ubuntu 18.04 / 20.04

  2. Come installare Jenkins su Kubernetes

  3. Come installare Kubernetes con Minikube su Ubuntu 20.04

  4. Come installare Ansible su AlmaLinux 8

  5. Come installare Ansible su Oracle Linux 8

Come installare Minikube su Ubuntu 20.04

Come installare Kubernetes minikube su Ubuntu 20.04

Come installare Ansible Server su Ubuntu 18.04

Come installare Ansible AWX su Debian 10

Come installare Kubernetes con Minikube su CentOS 8

Come installare Ansible su Linux Mint 20