Olá pessoal,
Depois de algum tempo sem falar sobre Kubernetes hoje vamos mostrar como podemos criar um ambiente altamente disponível de servidores web.
Conforme comentado nos posts anteriores, podemos criar um service Web e dentro desse service eu posso ter milhões de containers, onde o Kubernetes fará toda a parte de Balanceamento de carga com o que chamamos de Replication Controller.
Vamos criar então o Replication Controller:
vim web-rc.yml
apiVersion: v1 kind: ReplicationController metadata: name: web-controller spec: replicas: 2 selector: name: nginx template: metadata: labels: name: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80
kind: É o tipo de objeto que o Kubernetes ira criar, nesse caso ele vai criar
Replicas: Quantos pods dessa imagem sempre deve existir, caso exista um número menor que o indicado, o Kubernetes irá criar outros pods até chegar ao número determinado em replicas.
Para criar o Replication Controller execute:
kubectl create -f web-rc.yml
Você poderá ver RC criado com o comando:
kubectl get replicationcontrollers
Agora vamos criar o Service que é aquele que faz com que o usuário consiga criar a aplicação:
vim web-service.yml
kind: Service apiVersion: v1 metadata: name: web-service spec: selector: name: nginx ports: - protocol: TCP port: 80 targetPort: 80
kubectl create -f web-service.yml
Feito isso você pode executar o comando abaixo e verá que existe 2 pods de Nginx rodand:
kubectl get pods
Com tudo isso pronto você pode pegar e testar executando um curl no ip do seu servidor, no meu caso estou executando a partir do minion1, então vou acessar o minion2 e executar:
curl -qa http://seuip
E a página inicial do nginx será mostrada, você pode pegar e parar um pod e notará que o Kubernetes irá criar outro, pois no Replication Controller colocamos como 2 replicas.
Então tá pessoal por hoje era só, continue ligado em nosso canal e em breve estaremos fazendo um vídeo mostrando mais sobre o Kubernetes.