Este documento explica como montar um ambiente para desenvolvimento do chart do vtg-ipaas.
Insira a linha abaixo no arquivo /etc/hosts da estação de desenvolvimento:
127.0.0.1 whoami.localdomain
127.0.0.1 keycloak.localdomain
Instale localmente as seguintes ferramentas:
- k3d (versão 3.x ou superior)
- helm (v3 ou superior)
- kubectl
Crie um cluster k3d local para uso durante o desenvolvimento. Isto pode ser feito de duas formas:
- Usando o LB interno do k3d (forma preferida) - esta forma cria tanto um binding em
localhost:8080
quanto um IP na rede bridge para o ingress controller do VKPR:
k3d cluster create vkpr-local \
-p "8080:80@loadbalancer" \
-p "8443:443@loadbalancer" \
--k3s-server-arg "--no-deploy=traefik"
- Usando NodePort - esta forma cria um binding em
localhost:8080
para o serviço que estiver no NodePort 32080 (este não é o defult do ingress controller do VKPR):
k3d cluster create vkpr-local \
-p "8080:32080@agent[0]" --agents 1 \
--k3s-server-arg "--no-deploy=traefik" \
--k3s-server-arg "--no-deploy=servicelb"
Ambos os casos acima desligam o Traefik (ingress default do k3d), pois usaremos o Nginx Ingress Controller que é parte do VKPR. Após a criação do cluster ajuste o KUBECONFIG:
export KUBECONFIG=$(k3d kubeconfig write vkpr-local)
kubectl cluster-info
helm dependency update ./charts/vkpr
helm upgrade -i vkpr --skip-crds -f ./examples/local/values-local-minimal.yaml ./charts/vkpr
Check the LoadBalancer external IP (might take a few seconds):
kubectl get svc
# both tests are the same
curl whoami.localdomain:8080
curl -H "Host: whoami.localdomain" <EXTERNAL-IP>