Ahoj Geekové, doufám, že znáte Ansible AWX, pokud ne, pak Ansible AWX je webový nástroj GUI pro správu ansible playbooků. Existuje mnoho dalších funkcí AWX kromě provádění Ansible playbooků, jako je integrace správy zdrojů, protokolování RBAC a další.
Jinými slovy, můžeme říci, že Ansible AWX je považován za upstream projekt Red HAT Ansible Tower. Od verze AWX 18.xa novější se zaměření instalace přesune z dockeru na Kubernetes. V tomto článku se tedy budeme zabývat instalací Ansible AWX krok za krokem na Kubernetes Minikube.
Předpokládám, že Minikube je již na vašem systému Linux nainstalován. Pokud ne, použijte níže uvedenou adresu URL:
- Jak nainstalovat Minikube na Ubuntu 20.04 LTS / 21.04
Poznámka: Ujistěte se, že spouštíte svůj minikube cluster s dostatečnými prostředky (alespoň 4 vCPU a 8 GB RAM), v mém případě jsem spustil minikube s následujícími zdroji a možnostmi.
$ minikube start --addons=ingress --cpus=4 --cni=flannel --install-addons=true --kubernetes-version=stable --memory=8g
Ověřte instalaci Minikube Cluster
Spuštěním následujících příkazů ověřte instalaci minikube a stav clusteru,
$ stav minikube$ kubectl cluster-info$ kubectl získat uzly
Výstup výše uvedených příkazů by měl vypadat takto:
Perfektní, výše potvrzuje, že minikube byl nainstalován a úspěšně spuštěn. Pojďme k instalačním krokům AWX.
Krok 1) Nainstalujte AWX Operator
Chcete-li nainstalovat operátor AWX, spusťte následující příkaz kubectl,
$ kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/0.12.0/deploy/awx-operator.yaml
Výstup
Spuštěním níže uvedeného příkazu potvrďte, zda je modul operátora AWX spuštěn nebo ne. Pokud se nespustí, počkejte několik minut, jak to chvíli trvá,
[e-mail protected]:~$ kubectl get podsNAME PŘIPRAVENO STAV RESTARTUJE AGEawx-operator-79bc95f78-pb7tz : $ 2 1/1 0Krok 2) Vytvořte soubor yaml instance AWX
Vytvořte soubor ansible-awx.yml s následujícím obsahem
$ vi ansible-awx.yml---apiVersion:awx.ansible.com/v1beta1kind:AWXmetadata: name:ansible-awxspec: service_type:nodeport ingress_type:none název hostitele:ansible-awx.example.comuložte a ukončete soubor.
Krok 3) Nasaďte Ansible instanci AWX
Nyní nasadíme instanci AWX v našem clusteru provedením níže uvedeného příkazu
[e-mail chráněný]:~$ kubectl použít -f ansible-awx.ymlawx.awx.ansible.com/ansible-awx vytvořeno[e-mail chráněn]:~$Výše uvedené vytvoří nasazení s názvem „ansible-awx“ a toto nasazení bude mít dva moduly a služby.
Po několika minutách bude Ansible AWX nasazen a v případě, že chcete sledovat instalační protokoly, použijte níže uvedený příkaz,
$ kubectl logs -f deployment/awx-operatorSpuštěním níže uvedeného příkazu ověřte stav AWX Pods,
[e-mail protected]:~$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"NAME PŘIPRAVENO STAV RESTARTUJE d-7 d d-7 d- cc - cc 4/ 4d a postgres-0 1/1 Běží 0 8 m24 s[e-mail chráněno]:~$Pro zobrazení stavu služby spusťte následující příkaz
[e-mail protected]:~$ kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator"NAME TYP CLUSTER-IP EXTERNÍ - IP není možné u PORT none> 5432/TCP 8m31sansible-awx-service NodePort 10.97.206.8980:32483/TCP 7m55s:~$ Poznamenejte si port uzlu ‚ansible-awx-service‘, později jej použijeme pro přesměrování portů. Krok 4) Přístup k portálu AWX pomocí tunelování
Pro přístup k portálu AWX mimo cluster minikube musíme nakonfigurovat tunelování, spustit
[chráněno e-mailem]:~$ nohup tunel minikube &[3] 35709[chráněno e-mailem]:~$[chráněno e-mailem]:~$ kubectl get svc ansible-awx-serviceNAME TYP TYP PORT CLUSTER NIP ) AGEansible-awx-service NodePort 10.97.206.8980:32483/TCP 90m[e-mail chráněný]:~$ Nastavte přesměrování portu tak, že pokud požadavek přichází na minikube IP na portu uzlu ‚32483‘, měl by být přesměrován na port 80 awx pod.
[chráněno e-mailem]:~$ kubectl port-forward svc/ansible-awx-service --address 0.0.0.0 32483:80 &> /dev/null &[4] 46686[e-mail chráněný]:~$Nyní zkuste přistupovat k portálu AWX z webového prohlížeče pomocí IP adresy minikube a portu uzlu 32483
http://
:
Chcete-li získat přihlašovací údaje, přejděte zpět do terminálu a spusťte příkaz pod příkazem.
[e-mail chráněn]:~$ kubectl získat tajné heslo ansible-awx-admin-password -o jsonpath="{.data.password}" | base64 --decodePWrwGWBFCmpd1b47DJffCtK5SqYGzxXF[e-mail chráněný]:~$Použijte uživatelské jméno jako „admin“ a heslo jako výstup výše uvedeného příkazu, po zadání přihlašovacích údajů se nám zobrazí následující dashboard
Skvělé, výše potvrzuje, že Ansible AWX je úspěšně nainstalován na Kubernetes minikube. To je z tohoto článku vše. Doufám, že jste to našli informativní a v případě jakýchkoli dotazů nám neváhejte napsat do sekce komentářů níže.
Přečtěte si také :Jak spustit a naplánovat Ansible Playbook pomocí AWX GUI
Linux