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:
Leituras recomendadas
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
- Visão geral do Kubernetes: uma visão geral conceitual completa do Kubernetes. Por que você precisa do Kubernetes e o que ele pode fazer é uma ótima introdução aos problemas que o Kubernetes pode resolver.
- Tutorial: aprenda os conceitos básicos do Kubernetes: ensina os conceitos básicos do Kubernetes com um exemplo simples.
- Tutorial: Introdução aos contêineres: saiba mais sobre contêineres e a orquestração de contêineres com um exemplo simples de aplicativo, terminando com o exemplo em execução no GKE.
- Tutoriais do Kubernetes: quando você estiver pronto para ir além do básico, esta seção da documentação do Kubernetes oferece tutoriais sobre vários tópicos do Kubernetes, de aplicativos stateful à segurança.
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
- Aprenda a usar o Kubernetes com o Google: uma playlist de guias em vídeo do Google que abordam diferentes recursos e funcionalidades do Kubernetes, com material para desenvolvedores e operadores.
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).