diff --git a/knowledge base/awx.md b/knowledge base/awx.md index adfdcf4..d6da392 100644 --- a/knowledge base/awx.md +++ b/knowledge base/awx.md @@ -3,6 +3,7 @@ 1. [TL;DR](#tldr) 1. [Installation](#installation) 1. [Testing](#testing) + 1. [Create a demo instance on an ARM machine](#create-a-demo-instance-on-an-arm-machine) 1. [Further readings](#further-readings) 1. [Sources](#sources) @@ -33,14 +34,72 @@ It is meant to provide a Kubernetes-native installation method for AWX via an AW ## Testing +### Create a demo instance on an ARM machine + +
+ Run: follow the basic installation guide + +[Guide][basic install] + ```sh $ minikube start --cpus=4 --memory=6g --addons=ingress … 🌟 Enabled addons: storage-provisioner, default-storageclass, ingress 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default +$ cd '/tmp' + +$ # There was no ARM version of the 'kube-rbac-proxy' image upstream, so it was impossible to just use the `make deploy` +$ # command as explained in the basic install. +$ # Defaulting to use quay.io as repository as the ARM version of that image is available there. +$ cat < 'kustomization.yaml' +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: awx +resources: + - github.com/ansible/awx-operator/config/default?ref=2.14.0 + # https://github.com/ansible/awx-operator/releases +images: + - name: quay.io/ansible/awx-operator + newTag: 2.14.0 # same as awx-operator in resources + - name: gcr.io/kubebuilder/kube-rbac-proxy + # no ARM version upstream, defaulting to quay.io + newName: quay.io/brancz/kube-rbac-proxy + newTag: v0.16.0-arm64 +EOF +$ kubectl apply -k '.' +namespace/awx created +… +deployment.apps/awx-operator-controller-manager created +$ kubectl -n 'awx' get pods +NAME READY STATUS RESTARTS AGE +awx-operator-controller-manager-8b7dfcb58-k7jt8 2/2 Running 0 10m + +$ cat < 'awx.yaml' +--- +apiVersion: awx.ansible.com/v1beta1 +kind: AWX +metadata: + name: awx-demo +spec: + service_type: nodeport +EOF +$ yq -iy '.resources+=["awx.yaml"]' 'kustomization.yaml' +$ kubectl apply -k '.' # this failed because awx has no ARM images yet + +$ # Fine. I'll do it myself. +$ git clone 'https://github.com/ansible/awx.git' +$ cd 'awx' +$ make awx-kube-build +… +ERROR: failed to solve: process "/bin/sh -c make sdist && /var/lib/awx/venv/awx/bin/pip install dist/awx.tar.gz" did not complete successfully: exit code: 2 +make: *** [awx-kube-build] Error 1 +$ # (ノಠ益ಠ)ノ彡┻━┻ ``` +
+ ## Further readings - [Website] @@ -53,6 +112,8 @@ $ minikube start --cpus=4 --memory=6g --addons=ingress - [AWX's repository] - [Operator's documentation] - [Operator's repository] +- [Basic install] +- [arm64 image pulled shows amd64 as its arch] [awx's documentation]: https://ansible.readthedocs.io/projects/awx/en/latest/ [awx's repository]: https://github.com/ansible/awx/ +[basic install]: https://ansible.readthedocs.io/projects/awx-operator/en/latest/installation/basic-install.html [operator's documentation]: https://ansible.readthedocs.io/projects/awx-operator/en/latest/ [operator's repository]: https://github.com/ansible/awx-operator/ [website]: https://www.ansible.com/awx/ +[arm64 image pulled shows amd64 as its arch]: https://github.com/brancz/kube-rbac-proxy/issues/79#issuecomment-826557647