2022-06-15
627

Установка Ansible AWX на minikube

AWX - это проект, позволяющий выполнять сценарии ansible используя web-интерфейс.

Для установки awx на minikube должен быть установлен minikube и kubectrl, как это сделать можно посмотреть по ссылке.

Кроме того должен быть установлен kustomize, в windows его можно установит командой
choco install kustomize
в linux командой
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
Создать файл kustomization.yaml c содержимым
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - github.com/ansible/awx-operator/config/default?ref=1.1.2
  - awx-demo.yaml

images:
  - name: quay.io/ansible/awx-operator
    newTag: 1.1.2

namespace: awx
Вместо 1.1.2 указать последнюю версию отсюда
В том же каталоге создать файл awx-demo.yaml с содержимым
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-demo
spec:
  service_type: nodeport
Перейти в каталог с файлами. Развернуть выполнив команду:
В windows:
kustomize build . | kubectl apply -f -
В linux:
kubectl apply -k .
Проверить можно командой
kubectl get all -n awx
Чтобы не указывать namespace каждый раз ключом -n awx можно изменить текущее пространство имен
kubectl config set-context --current --namespace=awx
Журнал можно посмотреть командой
kubectl logs -f deployments/awx-operator-controller-manager -c awx-manager
Проверить создались ли нужные ресурсы
kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"
kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator"

Нужно довольно долго подождать пока нужные ресурсы будут развернуты.

После разворота можно выполнить команду для получения адреса для входа в awx
minikube service awx-demo-service --url -n awx
Для входа нужно ввести логин и пароль. Логин по умолчанию admin, а пароль нужно расшифровать:
в PowerShell нужно ввести две команды
$val = kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" -n awx
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($val))
в linux выполнить
kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" -n awx | base64 --decode
Еще пароль можно получить запустив dashboard командой
minikube dashboard
и зайдя в secret awx-demo-admin-password

После входа в панель управления AWX можно сменить пароль. Для этого в правом верхнем углу нажать на имя пользователя, затем User Details, в открывшемся окне нажать на кнопку Edit, ввести новый пароль. После этого можно будет входить под этим паролем.