diff --git a/Containers/Kubernetes/Minikube/Ansible Minikube.md b/Containers/Kubernetes/Minikube/Ansible Minikube.md deleted file mode 100644 index 9d86504..0000000 --- a/Containers/Kubernetes/Minikube/Ansible Minikube.md +++ /dev/null @@ -1,140 +0,0 @@ -# AWX Operator on Minikube Cluster -Minikube Cluster based deployment of Ansible AWX. (Ansible Tower) -:::note Prerequisites -This document assumes you are running **Ubuntu Server 20.04** or later. -::: - -## Install Minikube Cluster -### Update the Ubuntu Server -``` -sudo apt update -sudo apt upgrade -y -sudo apt autoremove -y -``` - -### Download and Install Minikube (Ubuntu Server) -Additional Documentation: https://minikube.sigs.k8s.io/docs/start/ -``` -curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb -sudo dpkg -i minikube_latest_amd64.deb - -# Download Docker and Common Tools -sudo apt install docker.io nfs-common iptables nano htop -y - -# Configure Docker User -sudo usermod -aG docker nicole -``` -:::caution -Be sure to change the `nicole` username in the `sudo usermod -aG docker nicole` command to whatever your local username is. -::: -### Fully Logout then sign back in to the server -``` -exit -``` -### Validate that permissions allow you to run docker commands while non-root -``` -docker ps -``` - -### Initialize Minikube Cluster -Additional Documentation: https://github.com/ansible/awx-operator -``` -minikube start --driver=docker -minikube kubectl -- get nodes -minikube kubectl -- get pods -A -``` - -### Make sure Minikube Cluster Automatically Starts on Boot -```jsx title="/etc/systemd/system/minikube.service" -[Unit] -Description=Minikube service -After=network.target - -[Service] -Type=oneshot -RemainAfterExit=yes -User=nicole -ExecStart=/usr/bin/minikube start --driver=docker -ExecStop=/usr/bin/minikube stop - -[Install] -WantedBy=multi-user.target -``` -:::caution -Be sure to change the `nicole` username in the `User=nicole` line of the config to whatever your local username is. -::: -:::info -You can remove the `--addons=ingress` if you plan on running AWX behind an existing reverse proxy using a "**NodePort**" connection. -::: -### Restart Service Daemon and Enable/Start Minikube Automatic Startup -``` -sudo systemctl daemon-reload -sudo systemctl enable minikube -sudo systemctl start minikube -``` - -### Make command alias for `kubectl` -Be sure to add the following to the bottom of your existing profile file noted below. -```jsx title="~/.bashrc" -... -alias kubectl="minikube kubectl --" -``` -:::tip -If this is a virtual machine, now would be the best time to take a checkpoint / snapshot of the VM before moving forward, in case you need to perform rollbacks of the server(s) if you accidentally misconfigure something. -::: - -## Make AWX Operator Kustomization File: -Find the latest tag version here: https://github.com/ansible/awx-operator/releases -```jsx title="kustomization.yml" -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: - - github.com/ansible/awx-operator/config/default?ref=2.4.0 - - awx.yml -images: - - name: quay.io/ansible/awx-operator - newTag: 2.4.0 -namespace: awx -``` -```jsx title="awx.yml" -apiVersion: awx.ansible.com/v1beta1 -kind: AWX -metadata: - name: awx - ---- -apiVersion: v1 -kind: Service -metadata: - name: awx-service - namespace: awx -spec: - type: NodePort - ports: - - port: 80 - targetPort: 80 - nodePort: 30080 # Choose an available port in the range of 30000-32767 - selector: - app.kubernetes.io/name: awx-web -``` -### Apply Configuration File -Run from the same directory as the `awx-operator.yaml` file. -``` -kubectl apply -k . -``` -:::info -If you get any errors, especially ones relating to "CRD"s, wait 30 seconds, and try re-running the `kubectl apply -k .` command to fully apply the `awx.yml` configuration file to bootstrap the awx deployment. -::: - -### View Logs / Track Deployment Progress -``` -kubectl logs -n awx awx-operator-controller-manager -c awx-manager -``` -### Get AWX WebUI Address -``` -minikube service -n awx awx-service --url -``` -### Get WebUI Password: -``` -kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" | base64 --decode ; echo -``` \ No newline at end of file