Fique por dentro – Concurso de TI! Explorando Configurações Essenciais para Orquestração de Containers

Baixe o material de estudo



Baixar apostila para concurso

Olá, querido (a) aluno(a)!

Neste artigo entenderemos conceitos importantes sobre Kubernetes: Explorando Configurações Essenciais para Orquestração de Containers e como são cobrados em questões de concursos.

Introdução à Configuração no Kubernetes

A operação eficiente de aplicações em Kubernetes depende não apenas do conceito de orquestração de containers, mas também de uma configuração sólida, estruturada e segura. A configuração no Kubernetes é declarativa: descrevemos o estado desejado dos recursos através de arquivos YAML, e o sistema se encarrega de atingir e manter esse estado.

Manifests YAML: O Coração da Configuração

No Kubernetes, todas as configurações são feitas através de manifests, normalmente arquivos no formato YAML. Esses arquivos descrevem recursos como Pods, Deployments, Services, ConfigMaps e muito mais. Cada manifest contém, no mínimo, quatro campos principais: apiVersion, kind, metadata e spec.

Exemplo básico de um Deployment:

apiVersion: apps/v1

kind: Deployment

metadata:

  name: exemplo-deployment

spec:

  replicas: 3

  selector:

    matchLabels:

      app: exemplo

  template:

    metadata:

      labels:

        app: exemplo

    spec:

      containers:

      – name: exemplo-container

        image: nginx

Essa configuração cria três réplicas de um container Nginx.

ConfigMaps e Secrets: Separando Configuração do Código

ConfigMaps são usados para armazenar configurações não sensíveis, como variáveis de ambiente e arquivos de configuração. Já Secrets armazenam dados sensíveis como senhas e chaves de API. Ambos podem ser montados como volumes ou injetados como variáveis de ambiente dentro dos containers.

Exemplo de ConfigMap:

apiVersion: v1

kind: ConfigMap

metadata:

  name: config-exemplo

data:

  APP_MODE: “production”

  TIMEOUT: “30”

No caso dos Secrets, os dados são base64 codificados para transporte, mas precisam de proteção adicional em ambientes reais.

Volumes e Persistência de Dados

Containers, por natureza, são efêmeros. Para armazenar dados que sobrevivam a reinicializações de Pods, o Kubernetes utiliza Volumes. Existem diferentes tipos, como emptyDir, hostPath, e volumes mais sofisticados como PersistentVolume (PV) e PersistentVolumeClaim (PVC), que se integram a soluções de armazenamento externas.

Por exemplo, para usar um PVC:

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: meu-pvc

spec:

  accessModes:

    – ReadWriteOnce

  resources:

    requests:

      storage: 1Gi

Probes: Monitorando Saúde dos Containers

O Kubernetes oferece dois tipos principais de verificações automáticas para garantir que os containers estejam funcionando corretamente:

  • Liveness Probe: determina se o container deve ser reiniciado.
  • Readiness Probe: determina se o container está pronto para receber tráfego.

Exemplo de Readiness Probe em um container:

readinessProbe:

  httpGet:

    path: /health

    port: 8080

  initialDelaySeconds: 5

  periodSeconds: 10

Essas probes ajudam a manter o ambiente saudável e evitar roteamento de requisições para serviços indisponíveis.

Estratégias de Atualização: Rolling Updates e Rollbacks

Atualizar aplicações sem downtime é uma capacidade crucial do Kubernetes. Através de configurações no Deployment, é possível realizar Rolling Updates, limitando o número de Pods indisponíveis ou excedentes durante a atualização.

Exemplo de configuração de estratégia:

strategy:

  type: RollingUpdate

  rollingUpdate:

    maxUnavailable: 1

    maxSurge: 1

Se algo der errado, o Kubernetes pode fazer rollback automaticamente para a versão anterior.

Resources Limits: Controlando o Uso de CPU e Memória

Para evitar que um container consuma todos os recursos do cluster, o Kubernetes permite configurar requests e limits de CPU e memória.

Exemplo em YAML:

resources:

  requests:

    memory: “64Mi”

    cpu: “250m”

  limits:

    memory: “128Mi”

    cpu: “500m”

Requests garantem recursos mínimos, enquanto Limits impõem um teto de consumo.

Namespace: Segmentação e Organização

Namespaces permitem dividir logicamente os recursos do cluster, isolando diferentes ambientes (como produção, homologação e desenvolvimento).

Exemplo de criação de um Namespace:

apiVersion: v1

kind: Namespace

metadata:

  name: desenvolvimento

Com Namespaces, é possível aplicar políticas de segurança, limites de recursos e cotas específicas para diferentes grupos ou aplicações.

Policies e Segurança

O Kubernetes oferece mecanismos avançados de segurança através de:

  • Network Policies: controlam o tráfego entre Pods.
  • PodSecurity Standards: definem boas práticas de segurança para Pods (ex: evitar execução como root).
  • RBAC (Role-Based Access Control): define permissões baseadas em papéis, restringindo o que usuários e serviços podem fazer no cluster.

Considerações Finais

Dominar as configurações do Kubernetes é essencial para construir aplicações resilientes, seguras e eficientes. Embora o sistema abstraia muita complexidade, é importante compreender a fundo como definir manifests corretos, como usar ConfigMaps, Secrets, Volumes, e como monitorar a saúde dos containers. O conhecimento dessas práticas eleva a qualidade da operação e prepara o ambiente para crescer de maneira sustentável.

Referências Bibliográficas:

HIGHTOWER, Kelsey; BURNS, Brendan; BEDA, Joe. Kubernetes: Up and Running: Dive into the Future of Infrastructure. 3rd ed. O’Reilly Media, 2022.

Principal base para configuração de Manifests YAML, conceitos de Deployments, Pods, Volumes, Rolling Updates e Rollbacks.

GARRISON, Justin; NOVA, Kris. Cloud Native DevOps with Kubernetes: Building, Deploying, and Scaling Modern Applications in the Cloud. O’Reilly Media, 2019.

Fonte para práticas DevOps com Kubernetes, detalhamento de Probes, ConfigMaps, Secrets e estratégias de segurança como RBAC e Network Policies.

THE LINUX FOUNDATION; CLOUD NATIVE COMPUTING FOUNDATION (CNCF). Kubernetes Documentation. Disponível em: https://kubernetes.io/docs/. Acesso em: abr. 2025.

Fonte primária oficial para validações técnicas sobre ConfigMaps, Secrets, Volumes, Liveness e Readiness Probes, Namespaces, políticas de rede, padrões de segurança e RBAC.

BURNS, Brendan. Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. O’Reilly Media, 2018.

Apoio conceitual para estratégias de escalabilidade, segmentação via Namespaces e padrões de sistemas distribuídos usados no Kubernetes.

MICROSOFT AZURE. Kubernetes Best Practices. Disponível em: https://learn.microsoft.com/en-us/azure/architecture/best-practices/kubernetes. Acesso em: abr. 2025.

Complemento sobre melhores práticas de configuração de recursos (requests/limits) e segmentação de ambientes.

Então é isso! 

Bons estudos e até o nosso próximo artigo.


Prof. Jósis Alves – Analista de TI no Supremo Tribunal Federal.

Instagram: @josisalvesprof @aprovati


Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:

CONCURSOS 2025

CONCURSOS ABERTOS

QUESTÕES DE CONCURSOS

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:

WHATSAPP

TELEGRAM

Fonte: Gran Cursos Online

Download disponível – Explorando Configurações Essenciais para Orquestração de Containers



Baixar apostila para concurso

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Sair da versão mobile