Comece a aprender sobre o Kubernetes


O GKE é baseado na plataforma de orquestração de contêineres de código aberto Kubernetes, e grande parte da documentação neste site pressupõe que você já conhece os conceitos e a terminologia básicos do Kubernetes. Caso contrário, esta página oferece uma visão geral rápida dos fundamentos do Kubernetes, com links para leituras recomendadas para você começar.

Principais conceitos

Confira a seguir alguns conceitos-chave usados em toda a documentação do GKE. Esta não é uma lista completa de conceitos do Kubernetes. Você pode encontrar muito mais para ler e explorar nos tópicos fornecidos na documentação do Kubernetes e nas nossas leituras recomendadas.

Nós e clusters

Todas as cargas de trabalho do Kubernetes são executadas em nós. No GKE, um nó é uma máquina virtual (VM) do Compute Engine. Em outras plataformas do Kubernetes, um nó pode ser uma máquina física ou virtual. Cada nó é gerenciado pelo plano de controle do Kubernetes e tem todos os componentes necessários para executar pods. Um cluster é um conjunto de nós que podem ser tratados como uma única entidade, em que você implanta um aplicativo em contêiner.

Saiba mais na documentação do Kubernetes:

Namespaces

Os namespaces do Kubernetes fornecem um mecanismo para agrupar e selecionar recursos, como pods e serviços em um cluster, por exemplo, se você tiver várias equipes de aplicativos executando cargas de trabalho em um único cluster.

Saiba mais na documentação do Kubernetes:

Pods

No Kubernetes, os aplicativos conteinerizados são executados em um pod. Um pod é a menor unidade de computação implantável que você pode criar e gerenciar no Kubernetes. Um pod tem um ou mais contêineres. Quando um pod executa vários contêineres (por exemplo, um servidor de aplicativos e um servidor proxy), eles são gerenciados como uma única entidade e compartilham os recursos do pod.

Saiba mais na documentação do Kubernetes:

Controladores

Os controladores do Kubernetes rastreiam e gerenciam o estado dos clusters e das cargas de trabalho com base no estado desejado especificado. Por exemplo, "Gostaria de executar três pods neste cluster com este contêiner em cada pod". Controladores diferentes rastreiam diferentes tipos de recursos do Kubernetes, incluindo os seguintes:

  • Implantações: uma implantação é um objeto do Kubernetes que representa um ou mais pods idênticos, chamados de réplicas. Uma implantação executa várias réplicas dos pods distribuídos entre os nós de um cluster. Uma implantação substitui automaticamente todos os pods que falham ou não respondem.
  • StatefulSet: um StatefulSet é como uma implantação, mas mantém uma identidade exclusiva persistente para cada um dos pods. Os StatefulSets podem ser úteis em aplicativos com estado persistente.
  • DaemonSets: um DaemonSet do Kubernetes permite adicionar pods padrão a alguns ou a todos os nós. Eles geralmente são serviços "auxiliares" para seus workloads, como um daemon de coleta de registros ou um daemon de monitoramento.
  • ReplicaSets: um ReplicaSet é um conjunto de pods idênticos. Um ReplicaSet geralmente é gerenciado como parte de uma implantação.

Saiba mais na documentação do Kubernetes:

Serviço do Kubernetes

Por padrão, não é possível controlar em qual nó do cluster um pod está sendo executado. Portanto, os pods não têm endereços IP estáveis. Para receber um endereço IP para um aplicativo em execução no Kubernetes, defina uma abstração de rede sobre os pods, chamada de Serviço do Kubernetes. Um serviço do Kubernetes fornece um endpoint de rede estável para um conjunto de pods. Há vários tipos de serviço, incluindo serviços LoadBalancer que expõem um endereço IP externo para que você possa acessar aplicativos de fora do cluster.

O Kubernetes também tem um sistema DNS integrado para resolução de endereços internos, que atribui nomes DNS (por exemplo, helloserver.default.cluster.local) aos serviços. Isso permite que os pods dentro do cluster alcancem outros pods no cluster usando um endereço estável. Não é possível usar esse nome DNS fora do cluster, como no Cloud Shell.

Saiba mais na documentação do Kubernetes:

Armazenamento

Se os aplicativos precisarem salvar dados que existem além do ciclo de vida do pod (aplicativos com estado), use um objeto PersistentVolume do Kubernetes para provisionar esse armazenamento. No GKE, o armazenamento PersistentVolume é apoiado por discos do Compute Engine. Também é possível usar o armazenamento temporário, que é destruído quando o pod correspondente é encerrado.

Saiba mais na documentação do Kubernetes:

Plano de controle do Kubernetes

O plano de controle do Kubernetes é um conjunto de componentes do sistema que gerenciam o estado geral do cluster, incluindo o servidor da API Kubernetes, que permite interagir com clusters e aplicativos usando kubectl e outras ferramentas, um programador para programar pods em nós disponíveis e os controladores que rastreiam e gerenciam o estado do cluster. No GKE, o plano de controle é fornecido e gerenciado pelo Google Cloud.

Saiba mais na documentação do Kubernetes:

Controle de acesso baseado em papéis (RBAC)

O Kubernetes inclui um mecanismo de controle de acesso baseado em função (RBAC) que permite criar políticas de autorização para acessar seus clusters e os recursos deles. Ao usar o GKE, você geralmente combina o RBAC do Kubernetes e o Identity and Access Management do Google Cloud para proteger seus aplicativos.

Saiba mais na documentação do Kubernetes:

Esta seção fornece links para recursos recomendados para saber mais sobre o Kubernetes. Em particular, o Kubernetes.io, o site oficial do Kubernetes, tem muitos materiais atualizados e confiáveis sobre tudo que envolve o Kubernetes.

Guias e tutoriais

Documentação de referência

  • Glossário do Kubernetes: uma lista abrangente e padronizada da terminologia do Kubernetes. Se você não tiver certeza sobre um termo do Kubernetes, confira onde procurar.

Vídeos

História em quadrinhos

  • Quadrinho sobre o Kubernetes: descubra a história do Kubernetes e como usá-lo para integração e entrega contínuas, com a ajuda improvável da Deusa da Sabedoria (e de aplicativos conteinerizados).