Aula 05 – Kubernates – ReplicaSet

Aula 05 – Kubernates – ReplicaSet

Voltar para página principal do blog

Todas as aulas desse curso

Aula 04                                                 Aula 06

Redes Sociais:

facebook              

 

Site das bibliotecas

Tensorflow

Keras

Cursos Gratuitos

Digital Innovation

Quer aprender python3 de graça e com certificado? Acesse então:

workover

Empresas de Cloud:

Hostinger

Digital Ocean

One.com

Canais do Youtube

Toti

Lofi Music Zone Beats

Backing Track / Play-Along

Código Fluente

Putz!

Vocal Techniques and Exercises

Fiquem a vontade para me adicionar ao linkedin.

PIX para doações

PIX Nubank

PIX Nubank


Aula 05 – Kubernates – ReplicaSet

Documentação do Minikube: https://minikube.sigs.k8s.io/docs

Documentação do Kubernates: https://kubernetes.io/docs/home/

Github do Kubernates: https://github.com/kubernetes/kubernetes

Playground: https://killercoda.com/kubecon

Introdução

Bem-vindos à aula sobre ReplicaSets.

Nesta aula, vamos explorar o conceito e entender como funciona no ecossistema do Kubernetes.

Service Deployment Replica-Set Pods

Service Deployment Replica-Set Pods

O que é um ReplicaSet?

Um ReplicaSet é um recurso do Kubernetes cujo propósito é manter um conjunto estável de réplicas de Pods em execução a qualquer momento.

Isso é frequentemente usado para garantir a disponibilidade de um número especificado de Pods idênticos.

Como um ReplicaSet funciona

Um ReplicaSet é definido com campos, incluindo um seletor que especifica como identificar os Pods que ele pode adquirir, um número de réplicas que indica quantos Pods ele deve manter e um modelo de pod que especifica os dados dos novos Pods que ele deve criar para atender aos critérios do número de réplicas.

Um ReplicaSet cumpre o seu propósito criando e excluindo Pods conforme necessário para atingir o número desejado.

Quando um ReplicaSet precisa criar novos Pods, ele utiliza o seu modelo de Pod.

Um ReplicaSet está vinculado aos seus Pods por meio do campo metadata.ownerReferences dos Pods, que especifica qual recurso é proprietário do objeto atual.

Todos os Pods adquiridos por um ReplicaSet têm as informações identificadoras do ReplicaSet proprietário em seu campo ownerReferences.

É por meio dessa ligação que o ReplicaSet tem conhecimento do estado dos Pods que está mantendo e planeja de acordo.

Um ReplicaSet identifica os novos Pods a serem adquiridos usando seu seletor.

Se houver um Pod que não tenha OwnerReference ou a OwnerReference não for um controlador e ele corresponder ao seletor do ReplicaSet, ele será imediatamente adquirido pelo ReplicaSet em questão.

Quando usar um ReplicaSet?

Um ReplicaSet garante que um número especificado de réplicas de pods esteja em execução a qualquer momento.

No entanto, um Deployment é um conceito de nível superior que gerencia ReplicaSets e fornece atualizações declarativas para Pods, juntamente com muitos outros recursos úteis.

Portanto, recomendamos o uso de Deployments em vez de usar diretamente os ReplicaSets, a menos que você necessite de uma orquestração de atualizações personalizadas ou não necessite de atualizações.

Exemplo

Vamos dar uma olhada em um exemplo de uso de ReplicaSet.

replica-set.yaml


apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-replicaset
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80 
  • apiVersion: Especifica a versão da API do Kubernetes que estamos usando. Neste caso, é apps/v1, que é a versão para recursos de aplicativos, incluindo ReplicaSets.
  • kind: Indica que estamos criando um objeto do tipo ReplicaSet.
  • metadata: Aqui, definimos informações sobre o objeto, como nome e rótulos.
  • spec: A seção spec é onde você define as especificações do ReplicaSet.
  • replicas: Este campo especifica o número de réplicas desejadas do seu aplicativo. Neste caso, estamos definindo para 3 réplicas do contêiner NGINX.
  • selector: O seletor é usado para identificar os Pods que fazem parte deste ReplicaSet.
  • matchLabels: Aqui, estamos definindo que os Pods pertencentes a este ReplicaSet devem ter um rótulo com a chave app igual a nginx.
  • template: Nesta seção, você define o modelo para os Pods que serão criados pelo ReplicaSet.
  • metadata: Aqui, definimos os rótulos que serão aplicados aos Pods criados a partir deste modelo.
  • spec: Esta parte descreve as especificações dos contêineres que serão executados nos Pods.
  • containers: É onde você define os contêineres que serão executados nos Pods.
  • name: Define o nome do contêiner.
  • image: Especifica a imagem do contêiner, neste caso, NGINX com a versão 1.14.2.
  • ports: Aqui, você pode definir as portas que o contêiner expõe. Neste exemplo, o contêiner expõe a porta 80.

Esse YAML cria um ReplicaSet chamado nginx-replicaset que garante que três réplicas de um contêiner NGINX sejam executados, cada um com um rótulo app: nginx.

Inicie o minikube

minikube start

Veja o status

minikube status

Para aplicar o manifesto declarativo do ReplicaSet, rode o comando:


kubectl apply -f replica-set.yaml

Para deletar o ReplicaSet chamado replica-set, rode o comando:


kubectl delete replicaset nginx-replicaset 

Na próxima aula vamos explorar Deployments.

Até a próxima! \o/


Voltar para página principal do blog

Todas as aulas desse curso

Aula 04                                                 Aula 06

Meu github:

https://github.com/toticavalcanti

Novamente deixo meus link de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado, até a próxima e bons estudos. 😉

Category: DevOps, Kubernates
About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>