To make is simple you can also create your own network befor like this:
docker network create --driver bridge --subnet 172.18.0.0/24 kind
Check the correct network ipAddress Settings in ./manifests/metallb.yaml
with
docker network inspect -f '{{.IPAM.Config}}' kind
Check the network CIDR range in terraform/manifests/metallb.yaml
and change if needed the following setting:
...
spec:
addresses:
- 172.18.0.200-172.18.0.250
...
Set the desired kubernetes version in dev-1.tfvars
file
...
kubernetes_version = "kindest/node:v1.27.3"
...
You have different versions available like
- kindest/node:v1.26.6
- kindest/node:v1.27.3
- kindest/node:v1.28.0
You can check all available versions here0
cd terraform
terraform init
terraform apply -var-file dev-1.tfvars
# In this moment the first run will fail. As a workaround until it's fixed apply twice
terraform apply -var-file dev-1.tfvars
The cluster is now created, a metallb loadbalancer is installed and argoCD is deployed.
Forward the service port to access the argocd
kubectl port-forward -n argocd svc/argocd-server 8443:443
Now you can access ArgoCD using your browser with http://localhost:8443
and follow the bootstrap process later.
Username: admin
Password: The output of kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
To Bootstrap this new cluster using ArgoCD, clone This Repo.