Skip to content

Deploy Galaxy-Operator on AKS

In order to deploy the Galaxy-Operator on AKS, you need to:

1. Create a new AKS cluster or use an existing one

2. Create Galaxy-Operator

  • Clone the latest galaxy-operator code:
git clone https://github.com/ansible/galaxy-operator
  • Apply the kustomization:
kubectl apply -k galaxy-operator

It will create the operator and resources

3. Create Galaxy

The galaxy-operator code includes a sample galaxy-cr.yaml which can be deployed for basic local testing with this command:

kubectl create -f galaxy-operator/galaxy-cr.yaml

You will be prompted with:

galaxy.galaxy.ansible.com/galaxy created

Check pods:

kubectl get pods -n galaxy

Error Resolution

At this point, if we used the default postgres_image: in the galaxy-cr.yaml file, we would have a permission error at the galaxy-postgres-* pod.

To resolve this issue, using another image will resolve this error.

For example, the official postgres:15.7-alpine image will work.

We should wait for all the pods to be running.

NAME                                                  READY   STATUS    RESTARTS   AGE
galaxy-api-5d4d945787-jtc59                           1/1     Running   0          2m54s
galaxy-content-754466b885-cmmp4                       1/1     Running   0          3m23s
galaxy-content-754466b885-zsfqq                       1/1     Running   0          3m23s
galaxy-operator-controller-manager-5f75d85bf8-j49mr   2/2     Running   0          4m21s
galaxy-postgres-15-0                                  1/1     Running   0          3m40s
galaxy-redis-994cbcbff-9rf55                          1/1     Running   0          3m11s
galaxy-web-dc44cff56-lmshc                            1/1     Running   0          3m33s
galaxy-worker-64f7889dd7-9lvkm                        1/1     Running   0          3m17s
galaxy-worker-64f7889dd7-kp6m7                        1/1     Running   0          3m17s

4. Access Galaxy User Interface

Obtain the galaxy admin password:

echo $(kubectl get -n galaxy secret galaxy-admin-password -o json | jq -r '.data.password' | base64 --decode)

You can now access Galaxy in your browser by visiting http://localhost or https://localhost (username:admin)

For more information, please refer to: https://ansible.readthedocs.io/projects/galaxy-operator/en/latest/