AWX는 v18.0.0부터 도커 컨터이너 기반이 아닌 awx-operator를 사용한 쿠버네티스 기반 설치 환경에 최적화 되었다. 이 문서에서는 minikube를 이용하여 설치한다.
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version --client
yum install -y docker
systemctl enable docker
systemctl start docker
groupadd docker
minikube를 시작할 때 가상머신의 CPU core 개수를 정확히 입력한다.
최소 2core 이상 필요하다.
$ curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.21.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
$ sudo usermod -aG docker $USER
$ exit => login
$ yum install -y conntrack
$ minikube start --addons=ingress --cpus=2 --install-addons=true --kubernetes-version=stable --memory=6g --driver=none
$ kubectl get nodes
$ kubectl get pods
$ kubectl get pods -A
$ kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/0.10.0/deploy/awx-operator.yaml
$ kubectl get pods
$ vi awx-demo.yml
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx-demo
spec:
service_type: nodeport
ingress_type: none
hostname: awx-demo.example.com
$ kubectl apply -f awx-demo.yml
$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"
$ kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator"
kubectl get secrets
kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" | base64 --decode
https://your_ip:node_port
pods 로그 상태 확인
kubectl logs -f pod/awx-demo-d46576-cf6mt -n awx -c awx-demo-task
pods의 task 컨테이너에 접속
kubectl exec -it awx-demo-7744b86597-2sckk awx-demo-task -- bash
https://gist.github.com/dmccuk/93db22e9b30d1963b8fca0de96fc82f0
https://www.techbeatly.com/install-ansible-awx-on-kubernetes/