@@ -143,7 +143,7 @@ docker-compose down -v
143143
144144# build locally application docker image
145145docker build -t boilerplate-image:1.0 . # replace './Dockerfile' to 'infra/docker/Dockerfile.prod'
146- docker run --name boilerplate-container -d --env TZ=America/Sao_Paulo --memory=2g --cpus=1 boilerplate-image:1.0
146+ docker run --name boilerplate-container -d --env-file .env --env TZ=America/Sao_Paulo --memory=2g --cpus=1 boilerplate-image:1.0
147147```
148148
1491493 . Prepare Kubernetes cluster locally (optional).
@@ -153,6 +153,13 @@ docker run --name boilerplate-container -d --env TZ=America/Sao_Paulo --memory=2
153153kind create cluster --config=infra/kubernetes/cluster/boilerplate-cluster-kind.yml
154154# load application docker image on Kind (only for tests/development)
155155kind load docker-image -n boilerplate-cluster boilerplate-image:1.0
156+ # connect database container to Kind network
157+ docker network connect kind database
158+
159+ # install MetalLB (load balancer)
160+ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.5/config/manifests/metallb-native.yaml
161+ # apply load balancer configuration
162+ kubectl apply -f infra/kubernetes/loadbalancer/metallb-config.yaml
156163
157164# create namespace
158165kubectl create -f=infra/kubernetes/namespaces/boilerplate-namespace.yml
@@ -168,6 +175,8 @@ kubectl create -f=infra/kubernetes/deployments/boilerplate-deployment.yml
168175
169176# services
170177kubectl create -f=infra/kubernetes/services/boilerplate-service.yml
178+ # get service external IP
179+ kubectl get svc -n boilerplate-namespace
171180
172181# connect CONTAINER:HOST ports
173182kubectl port-forward -n boilerplate-namespace services/boilerplate-service 3000
187196
188197## TO DO
189198
190- - ** Clustering**
191- - [x] Clusters
192- - [x] Kubernetes
193- - [ ] Load Balancing
194199- ** CI/CD**
195200 - [ ] Jenkins
196201- ** Deployment**
0 commit comments