- Início
- Criar um Load Balancer de Serviço
Criar um Load Balancer de Serviço
Com acesso ao Cluster, vamos criar um simples Deployment de uma aplicação web para servir como backend do Load Balancer.
info
O Load Balancer será provisionado na VPC configurada durante a criação do Cluster. Mais informações aqui.
cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
EOF
Verifique que o Deployment foi criado com sucesso:
kubectl get deployment nginx
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 1/1 1 1 10s
O próximo passo é expor o Deployment através de um Service:
cat <<EOF | kubectl apply -f -
kind: Service
apiVersion: v1
metadata:
name: nginx
spec:
selector:
app: nginx
# o Service com o tipo LoadBalancer é o gatilho para a criação do Load Balancer
type: LoadBalancer
ports:
- port: 80
targetPort: 80
protocol: TCP
EOF
Verifique que o Service foi criado com o comando abaixo. Aguarde até que o campo EXTERNAL-IP receba um IP público:
kubectl get service nginx -w
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx LoadBalancer 10.109.104.212 <pending> 80:32030/TCP 14s
nginx LoadBalancer 10.109.104.212 201.23.76.42 80:32030/TCP 77s
Ainda no terminal, acesse o IP público recebido via curl para acessar o a aplicação web:
curl http://201.23.76.42