Voltar para artigos
Artigo

Kubernetes: Introdução e Conceitos Fundamentais

14/02/2025
Guilherme Rossi Kirsten
2 min de leitura

Kubernetes (K8s) é um produto Open Source utilizado para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêiner.

Kubernetes: Introdução e Conceitos Fundamentais

Kubernetes (K8s) é um produto Open Source utilizado para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêiner.

O que é Kubernetes?

Kubernetes é uma plataforma de orquestração de contêineres que gerencia, escala e automatiza a implantação de aplicações containerizadas.

Kubertenes (K8s) é um produto Open Source utilizado para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêiner.

Características Principais

  • Kubernetes é disponibilizado atravéz de um conjunto de APIs
  • API utilizando o CLI: kubectl
  • Tudo é baseado em estados, configuramos o estado de cada objeto

Requisitos

Para trabalhar com Kubernetes localmente, você precisa:

Kind

  • Cria ambiente de execução local do kubernetes
  • Link: https://kind.sigs.k8s.io/

Kubectl

  • Interface para realizar as operacoes do kubernetes
  • Link: https://kubernetes.io/

Docker

  • Gerenciador dos containers
  • Link: https://docs.docker.com/

Conceitos Fundamentais

Cluster

Conjunto de máquinas (Nodes) que trabalham juntas, formado por:

  • Nó Mestre (Control Plane)
  • Nós de Trabalho (Worker Nodes)

Cada máquina possui uma quantidade de vCPU e Memória.

Pods

Pods - Unidade que contém os containers provisionados, representa os processos rodando no cluster.

Comandos Básicos

Criando um Cluster

Cria um cluster de kubernetes (apenas 1 nó):

kind create cluster

Informações do Cluster

Mostra em qual contexto (cluster) estamos, troca o ambiente de execução do kubernetes:

kubectl cluster-info --context kind-kind

Saída esperada:

Kubernetes control plane is running at https://127.0.0.1:53791
CoreDNS is running at https://127.0.0.1:53791/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

Listando Nodes

Lista os nodes do cluster de kubernetes:

kubectl get nodes

Gerenciando Clusters

Lista os clusters:

kind get clusters
kubectl config get-clusters

Troca o contexto (cluster):

kubectl config use-context kind-kube

Criando Cluster com Múltiplos Nodes

Cria um cluster com configuração customizada:

kind create cluster --config .\k8s\kind.yaml

Exemplo de arquivo de configuração:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4

nodes:
  - role: control-plane
  - role: worker
  - role: worker
  - role: worker
- role: worker

Componentes do Kubernetes

Kubernetes Master

  • Kube-apiserver
  • Kube-controller-manager
  • Kube-scheduler

Outros Nodes

  • Kubelet
  • Kubeproxy
Ver todos os artigos