Ubuntu 22.04
Sponsored Link

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 default

ubuntu@dlp:~$
minikube status

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

ubuntu@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 created

ubuntu@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          5m17s

ubuntu@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 स्थापित करना ठीक है।
मिलान सामग्री