Part 3: K3d and Argo CD - 42lan/inception-of-things GitHub Wiki
Install docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
Install k3d
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
Create a cluster
sudo k3d cluster create $CLUSTER_NAME --api-port 6443 -p 8080:80@loadbalancer --agents 2
Install argocd
sudo kubectl create namespace argocd
sudo kubectl create namespace dev
curl -OL https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# tweak install.yaml but not sure for now
containers:
- command:
- argocd-server
- --insecure ### add this to disable TLS
env:
- name: ARGOCD_SERVER_INSECURE
valueFrom:
sudo kubectl apply -n argocd -f install.yaml
Apply ingress.yaml
sudo kubectl apply -f ingress.yaml -n argocd
Change password
Use https://bcrypt-generator.com/ to generate hash.
sudo kubectl -n argocd patch secret argocd-secret \
-p '{"stringData": {
"admin.password": "$2a$12$px3TAQ7CeurPy.dBLjyjD.W6hE9O3wNdpI.OKaoxxDDs1IVMPKd5O",
"admin.passwordMtime": "'$(date +%FT%T%Z)'"
}}'
sudo kubectl apply -f project.yaml -n argocd
sudo kubectl apply -f application.yaml -n argocd
Port forwarding
sudo kubectl port-forward --address 0.0.0.0 svc/wil-playground -n dev 8888:8888 > /dev/null 2>&1 & # & at end puts it into the background, can be retrieved with fg