86 lines
2.3 KiB
Markdown
86 lines
2.3 KiB
Markdown
Login : admrescue/admrescue
|
||
|
||
# Requirement
|
||
|
||
**Ansible** (+ pip):
|
||
|
||
If you don't have `pip` yet
|
||
|
||
```
|
||
curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py
|
||
python3 /tmp/get-pip.py --user
|
||
```
|
||
|
||
```
|
||
python3 -m pip install --user ansible
|
||
pip install -r requirement.txt
|
||
```
|
||
|
||
**Ansible collections**:
|
||
|
||
```
|
||
ansible-galaxy collection install kubernetes.core
|
||
```
|
||
|
||
|
||
# Mosquitto
|
||
|
||
`sudo apt update && apt install -y mosquitto mosquitto-clients`
|
||
|
||
need to add a conf file in `/etc/mosquitto/conf.d/mosquitto.conf` containing :
|
||
|
||
```
|
||
allow_anonymous true
|
||
listener 1883 0.0.0.0
|
||
```
|
||
|
||
`sudo systemctl restart mosquitto`
|
||
|
||
Launch the mosquitto client to receive message on the machine that hosts the mosquitto server : `sudo mosquitto_sub -h 127.0.0.1 -t argo/alpr`
|
||
|
||
# Argo
|
||
|
||
## Execute/submite a workflow
|
||
|
||
```
|
||
argo submit PATH_TO_YAML --watch --serviceaccount=argo -n argo
|
||
```
|
||
|
||
# Troubleshoot
|
||
|
||
## k3s bind to local port
|
||
|
||
On certain distro you might already have an other mini k8s. A sign of this is k3s being able to install, start but never being stable, restarting non stop.
|
||
|
||
You should try to see if the port used by k3s are arlready binded :
|
||
|
||
> sudo netstat -tuln | grep -E '6443|10250'
|
||
|
||
If those ports are already in use then you should identify which service run behidn them and then stop them and preferably uninstall them.
|
||
|
||
We have already encountered an instance of `Ubuntu Server` with minikube already installed.
|
||
|
||
### Remove minikube
|
||
|
||
```bash
|
||
sudo systemctl stop snap.microk8s.daemon-kubelite
|
||
sudo systemctl disable snap.microk8s.daemon-kubelite
|
||
sudo systemctl restart k3s
|
||
```
|
||
|
||
## Use local container images
|
||
|
||
We have encountered difficulties declaring container images that correspond to local images (stored in docker.io/library/)
|
||
|
||
We used a docker hub repository to pull our customized image. For this we need to create a secret holding the login informations to a docker account that has access to this repository, which we then link to the serviceAccount running the workflow :
|
||
|
||
Create the secret in the argo namespace
|
||
|
||
```
|
||
kubectl create secret docker-registry regcred --docker-username=[DOCKER HUB USERNAME] --docker-password=[DOCKER HUB PASSWORD] -n argo
|
||
```
|
||
Patch the `argo` serviceAccount to use the secret when pulling image
|
||
|
||
```
|
||
kubectl patch serviceaccount argo -n argo -p '{"imagePullSecrets": [{"name": "regcred"}]}'
|
||
``` |