Kubernetes - controlador de replicação

O controlador de replicação é um dos principais recursos do Kubernetes, responsável por gerenciar o ciclo de vida do pod. Ele é responsável por garantir que o número especificado de réplicas de pod estejam em execução a qualquer momento. É usado quando se quer ter certeza de que o número especificado de pod ou pelo menos um pod está em execução. Ele tem a capacidade de aumentar ou diminuir o número especificado de pod.

É uma prática recomendada usar o controlador de replicação para gerenciar o ciclo de vida do pod, em vez de criar um pod repetidamente.

apiVersion: v1
kind: ReplicationController --------------------------> 1
metadata:
   name: Tomcat-ReplicationController --------------------------> 2
spec:
   replicas: 3 ------------------------> 3
   template:
      metadata:
         name: Tomcat-ReplicationController
      labels:
         app: App
         component: neo4j
      spec:
         containers:
         - name: Tomcat- -----------------------> 4
         image: tomcat: 8.0
         ports:
            - containerPort: 7474 ------------------------> 5

Detalhes de configuração

  • Kind: ReplicationController → No código acima, definimos o tipo como controlador de replicação que informa ao kubectl que o yaml será usado para criar o controlador de replicação.

  • name: Tomcat-ReplicationController→ Isso ajuda a identificar o nome com o qual o controlador de replicação será criado. Se executarmos o kubctl, obtenharc < Tomcat-ReplicationController > ele mostrará os detalhes do controlador de replicação.

  • replicas: 3 → Isso ajuda o controlador de replicação a entender que precisa manter três réplicas de um pod em qualquer momento do ciclo de vida do pod.

  • name: Tomcat → Na seção de especificações, definimos o nome como tomcat, que dirá ao controlador de replicação que o contêiner presente dentro dos pods é tomcat.

  • containerPort: 7474 → Isso ajuda a garantir que todos os nós no cluster onde o pod está executando o contêiner dentro do pod sejam expostos na mesma porta 7474.

Aqui, o serviço Kubernetes está funcionando como um balanceador de carga para três réplicas do Tomcat.