Ansible : AWX स्थापित करें2023/09/27 |
Ansible AWX स्थापित करें जो Red Hat Ansible Tower का सामुदायिक संस्करण है।
Ansible AWX को स्थापित करने के लिए, इसे Kubernetes बुनियादी ढांचे की आवश्यकता है।
यह पूर्ण Kubernetes क्लस्टर के साथ नहीं बल्कि MicroK8s, K3s या Minikube इत्यादि के साथ ठीक है। जाहिर है, RedHat OpenShift या OKD जो कि OpenShift का सामुदायिक संस्करण है, भी तैयार है। |
|
[1] |
इस उदाहरण पर, AWX के लिए मिनिक्यूब का उपयोग करें।
इसलिए यहां इंस्टॉल करें। |
[2] | अन्य आवश्यक पैकेज स्थापित करें। |
root@dlp:~# apt -y install git make
|
[3] | Minikube को एक सामान्य उपयोगकर्ता के रूप में प्रारंभ करें। |
ubuntu@dlp:~$ minikube start --vm-driver=kvm2 --cpus=4 --memory=8g --addons=ingress * minikube v1.27.0 on Ubuntu 22.04 (kvm/amd64) ! Kubernetes 1.25.0 has a known issue with resolv.conf. minikube is using a workaround that should work for most use cases. ! For more information, see: https://github.com/kubernetes/kubernetes/issues/112135 * Using the kvm2 driver based on user configuration * Downloading VM boot image ... > minikube-v1.27.0-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s > minikube-v1.27.0-amd64.iso: 273.79 MiB / 273.79 MiB 100.00% 49.08 MiB p ..... ..... * Verifying ingress addon... * Enabled addons: default-storageclass, storage-provisioner, ingress * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by defaultubuntu@dlp:~$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configuredubuntu@dlp:~$ kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE ingress-nginx ingress-nginx-admission-create-jwdlp 0/1 Completed 0 95s ingress-nginx ingress-nginx-admission-patch-5xc74 0/1 Completed 1 95s ingress-nginx ingress-nginx-controller-5959f988fd-rfwpt 1/1 Running 0 95s kube-system coredns-565d847f94-m2ld6 1/1 Running 0 95s kube-system etcd-minikube 1/1 Running 0 107s kube-system kube-apiserver-minikube 1/1 Running 0 109s kube-system kube-controller-manager-minikube 1/1 Running 0 107s kube-system kube-proxy-qmgmj 1/1 Running 0 95s kube-system kube-scheduler-minikube 1/1 Running 0 107s kube-system storage-provisioner 1/1 Running 1 (64s ago) 106s |
[4] | Ansible AWX तैनात करें। |
# पहले AWX Operator प्राप्त करें ubuntu@dlp:~$ git clone https://github.com/ansible/awx-operator.git Cloning into 'awx-operator'... remote: Enumerating objects: 7311, done. remote: Counting objects: 100% (318/318), done. remote: Compressing objects: 100% (193/193), done. remote: Total 7311 (delta 119), reused 264 (delta 100), pack-reused 6993 Receiving objects: 100% (7311/7311), 2.04 MiB | 4.49 MiB/s, done. Resolving deltas: 100% (4131/4131), done.
ubuntu@dlp:~$
cd awx-operator
# AWX Operator का एक संस्करण निर्दिष्ट करें # सुनिश्चित करें कि संस्करण : https://github.com/ansible/awx-operator/releases ubuntu@dlp:~/awx-operator$ git checkout 0.17.0 Note: switching to '0.17.0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c <new-branch-name> Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at c02e059 Merge pull request #797 from kdelee/sky-is-the-limit # AWS के लिए अपनी पसंद का कोई भी नेमस्पेस सेट करें और Operator तैनात करें ubuntu@dlp:~/awx-operator$ export NAMESPACE=ansible-awx ubuntu@dlp:~/awx-operator$ make deploy namespace/ansible-awx created customresourcedefinition.apiextensions.k8s.io/awxbackups.awx.ansible.com created customresourcedefinition.apiextensions.k8s.io/awxrestores.awx.ansible.com created customresourcedefinition.apiextensions.k8s.io/awxs.awx.ansible.com created serviceaccount/awx-operator-controller-manager created role.rbac.authorization.k8s.io/awx-operator-awx-manager-role created role.rbac.authorization.k8s.io/awx-operator-leader-election-role created clusterrole.rbac.authorization.k8s.io/awx-operator-metrics-reader created clusterrole.rbac.authorization.k8s.io/awx-operator-proxy-role created rolebinding.rbac.authorization.k8s.io/awx-operator-awx-manager-rolebinding created rolebinding.rbac.authorization.k8s.io/awx-operator-leader-election-rolebinding created clusterrolebinding.rbac.authorization.k8s.io/awx-operator-proxy-rolebinding created configmap/awx-operator-awx-manager-config created service/awx-operator-controller-manager-metrics-service created deployment.apps/awx-operator-controller-manager createdubuntu@dlp:~/awx-operator$ kubectl get pods -n $NAMESPACE NAME READY STATUS RESTARTS AGE awx-operator-controller-manager-5cb5fb4d5-5npgx 2/2 Running 0 39s
ubuntu@dlp:~/awx-operator$
cp awx-demo.yml ansible-awx.yml ubuntu@dlp:~/awx-operator$ vi ansible-awx.yml # अपनी पसंद का कोई भी सेवा नाम बदलें
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: ansible-awx
spec:
service_type: nodeport
# AWX के लिए नेमस्पेस सेट करें, आप kubectl संदर्भ पर सेट करें और AWX तैनात करें ubuntu@dlp:~/awx-operator$ kubectl config set-context --current --namespace=$NAMESPACE Context "minikube" modified. ubuntu@dlp:~/awx-operator$ kubectl apply -f ansible-awx.yml awx.awx.ansible.com/ansible-awx created # लॉग पर स्थापना प्रगति देखना संभव है ubuntu@dlp:~/awx-operator$ kubectl logs -f deployments/awx-operator-controller-manager -c awx-manager
.....
.....
--------------------------- Ansible Task StdOut -------------------------------
TASK [Remove ownerReferences reference] ********************************
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
-------------------------------------------------------------------------------
{"level":"info","ts":1664258956.9169135,"logger":"runner","msg":"Ansible-runner exited successfully","job":"816107424561487953","name":"ansible-awx","namespace":"ansible-awx"}
----- Ansible Task Status Event StdOut (awx.ansible.com/v1beta1, Kind=AWX, ansible-awx/ansible-awx) -----
PLAY RECAP *********************************************************************
localhost : ok=63 changed=0 unreachable=0 failed=0 skipped=45 rescued=0 ignored=0
# यदि [failed=0] के साथ समाप्त हो जाए तो यह ठीक है
ubuntu@dlp:~$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator" NAME READY STATUS RESTARTS AGE ansible-awx-7776fd876b-7grdt 4/4 Running 0 4m52s ansible-awx-postgres-0 1/1 Running 0 5m17subuntu@dlp:~$ kubectl get service -l "app.kubernetes.io/managed-by=awx-operator" NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ansible-awx-postgres ClusterIP None <none> 5432/TCP 5m37s ansible-awx-service NodePort 10.104.35.35 <none> 80:31788/TCP 5m14s # सेवा URL प्रदर्शित करें ubuntu@dlp:~$ minikube service ansible-awx-service --url -n ansible-awx http://192.168.39.254:31788 # व्यवस्थापक खाते के लिए पासवर्ड की पुष्टि करें ubuntu@dlp:~$ kubectl get secret ansible-awx-admin-password -o jsonpath="{.data.password}" | base64 --decode; echo LDdqz3TuaCC7fYP7zOPpZu8pMZTgOBZP # यदि आप Kubernetes क्लस्टर के बाहर से एक्सेस करते हैं, तो उसे पोर्ट फ़ॉरवर्डिंग सेट करने की आवश्यकता है # [10445] ⇒ Minikube द्वारा इंस्टॉल किया गया पोर्ट होस्ट सुनता है ⇒ अपनी पसंद का कोई भी निःशुल्क पोर्ट निर्दिष्ट करें # [80] ⇒ पोर्ट AWX कंटेनर सुनता है ubuntu@dlp:~$ kubectl port-forward service/ansible-awx-service --address 0.0.0.0 10445:80 Forwarding from 0.0.0.0:10445 -> 8052 |
[5] | वेब ब्राउज़र के साथ Ansible AWX तक पहुंच। यदि आप Minikube स्थापित लोकलहोस्ट से एक्सेस करते हैं, तो ऊपर पुष्टि की गई सेवा URL निर्दिष्ट करें। यदि आप पोर्ट फ़ॉरवर्डिंग सेट करते हैं, तो अपने स्थानीय नेटवर्क में किसी भी कंप्यूटर पर यूआरएल [http://(Minikube स्थापित होस्टनाम या आईपी पता):(फ़ॉरवर्डिंग पोर्ट)] तक पहुंचें। सफलतापूर्वक एक्सेस करने के बाद, AWX लॉगिन फॉर्म दिखाया जाता है। उपयोगकर्ता [admin] के साथ लॉगिन करना संभव है और इसका पासवर्ड वही है जिसकी आपने ऊपर पुष्टि की है। |
[6] | सफलतापूर्वक लॉगिन होने पर, Ansible AWX Dashbioard प्रदर्शित होता है। AWX स्थापित करना ठीक है। |
Sponsored Link |