一 、 Arquitetura Básica
plano de controle: plano de controle
componente opcional: componente opcional
Servidor API: monitorando o estado de todos os componentes do cluster e gerenciando as interações entre eles
Servidor API: rastreia o status de todos os componentes do cluster e gerencia a interação entre eles
Cloud Controller Manager: executa processos de controlador de nuvem que cuidam, por exemplo, do endpoint do Load Balancer ou da alocação do volume de armazenamento
Cloud Controller Manager: execute o processo do controlador de nuvem, responsável pelos endpoints do balanceador de carga ou alocação do volume de armazenamento
Gerenciador de controlador: executa todos os controladores integrados, como Node ou Replication Controller
Gerenciador de controladores: execute todos os controladores integrados, como nó ou controlador de replicação
Programador: distribui cargas de trabalho não programadas entre os nós de trabalho disponíveis
Programador: distribuir carga de trabalho não planejada em nós de trabalho disponíveis
NDS de cluster: fornece DNS dentro do cluster para pods e serviços, geralmente fornecidos usando o plugin K8s do CoreDNS
NDS de cluster: fornece DNS de cluster para pods e serviços, geralmente fornecidos pelo plug-in K8s do CoreDNS
etcd: armazenamento de valores-chave para todos os dados de configuração do cluster
etcd: armazenamento de valores-chave para todos os dados de configuração do cluster
API de provedor de nuvem: API para gerenciar recursos de nuvem (AWS, Azure, GCP, ...)
API de provedor de nuvem: API para gerenciamento de recursos de nuvem (AWS, Azure, GCP, etc.)
nós de trabalho: nós de trabalho
agente kube: gerencie a conexão de rede com o pod de nó, por exemplo, usando regras de iptables
kube-proxy: gerencia as conexões de rede para os pods do nó, por exemplo, usando regras de iptables
kubelet: gerencia o contêiner com base nas especificações do pod de entrada
kubelet: Gerenciar contêineres de acordo com a especificação do pod de entrada
Container Runtime: runtime que implementa o CRI, como CRI-O ou containerd
Tempo de execução do contêiner: tempo de execução que implementa CRI, como CRI-O ou containerd
Dois, carga de trabalho
Pod: o menor recurso de computação K8s contendo 1 ... contêineres
Pod: o menor recurso de computação K8s, incluindo 1 ... contêineres
container init: container que executa tarefas de inicialização, como por exemplo, migração de banco de dados
container init: um container que executa tarefas de inicialização, como migração de banco de dados
container: container com aplicativo principal ou secundário
Contêiner: contêiner para aplicativo principal ou secundário
Autoescalador horizontal de pods: dimensiona o número de pods com base em várias métricas
Autoescalador horizontal de pods: dimensione o número de pods de acordo com várias métricas
ReplicationController: predecessor da implantação, não o use mais
ReplicationController: o predecessor da implantação, não o use mais
StatefulSet: cria pods enquanto lida com as necessidades de aplicativos com estado
StatefulSet: crie pods ao lidar com as necessidades de aplicativos com estado
Implantação: cria um ReplicaSet e cuida dos rollouts e rollbacks
Implantação: crie um conjunto de réplicas e seja responsável pela implementação e reversão
ReplicaSet: cria a quantidade desejada de instâncias de pod
ReplicaSet: crie o número necessário de instâncias de pod
CronJob: cria jobs com base em um cronograma
CronJob: Crie trabalhos de acordo com a programação
Trabalho: cria pods de curta duração para execuções únicas
Trabalho: criar pods de sobrevivência de curto prazo para execução única
DaemonSet: cria exatamente um pod por nó
Conjunto daemon: apenas um pod é criado para cada nó
Três, rede
Pod: expõe portas e se comunica com outras entidades internas ou externas
Pod: expõe portas e comunica-se com outras entidades internas ou externas
Política de rede: permite colocar o tráfego de entrada e saída na lista de permissões de e para pods com base em endereços IP, namespaces e pods
Política de rede: Permitir que o tráfego que entra e sai do POD seja colocado na lista de permissões com base no endereço IP, espaço de nome e POD
Endpoint: contém informações sobre endereços IP de pods e portas abertas que eles expõem
Endpoint: salve informações sobre o endereço IP do pod e suas portas públicas abertas
Endpoint Slice: sucessor do Endpoint, fornece melhorias funcionais e de escalabilidade
Fatiamento de endpoint: o sucessor dos endpoints, fornecendo melhorias de funcionalidade e escalabilidade
Ingress: torna um serviço acessível de fora do cluster
Entrada: tornar o serviço acessível de fora do cluster
Classe Ingress: permite especificar qual controlador Ingress deve implementar um Ingress.
Classe de entrada: Permite especificar qual controlador de entrada deve implementar a entrada.
Controlador de entrada: implementa especificações de recursos de entrada
Controlador de entrada: implemente a especificação dos recursos de entrada
Serviço: equilibra a carga de tráfego entre vários pods selecionados
Serviços: balancear a carga de tráfego entre vários pods selecionados
IP do cluster: torna o serviço acessível apenas de dentro do cluster
IP do cluster: torne o serviço acessível apenas de dentro do cluster
Porta do nó: expõe o serviço no IP de cada nó em uma porta estática
Porta do nó: exponha o serviço no IP de cada nó em uma porta estática
Balanceador de carga: expõe o serviço usando um balanceador de carga externo
Balanceador de carga: use um balanceador de carga externo para expor serviços
Nome externo: mapeia o serviço para um FQDN DNS existente
Nome externo: Mapeie o serviço para DNS FQDN existente
Quatro, Armazenamento
Pod: unidade de computação que lê / grava de / para o sistema de arquivos
Pod: a unidade de computação que lê e grava arquivos do sistema de arquivos
ConfigMap / Secret: contém dados que podem ser montados somente leitura em um sistema de arquivos
ConfigMap / Secret: contém dados que podem ser montados somente para leitura no sistema de arquivos
emptyDir: atua como armazenamento local temporário durante a vida útil de um pod
emptyDir: atua como armazenamento local temporário durante a vida útil do pod
Volumes efêmeros genéricos: cria PVCs temporários usando classes de armazenamento já existentes
Volume de trabalho universal: use a classe de armazenamento existente para criar pvc temporário
Instantâneo de volume: solicitações para criar um instantâneo de um PVC com o VSC fornecido
Instantâneo de volume: pedido para criar um instantâneo de um PVC com um determinado VSC
Classe de instantâneo de volume: igual à classe de armazenamento, mas para instantâneos de volume
Classe de instantâneo de volume: igual à classe de armazenamento, mas usada para instantâneo de volume
Conteúdo do instantâneo de volume: um instantâneo contendo PVC existente ou dados pré-provisionados
Conteúdo do instantâneo de volume: um instantâneo contendo PVC existente ou dados pré-configurados
Reivindicação de volume persistente: solicita armazenamento de um PV, incluindo a quantidade necessária e o modo de acesso
Declaração de volume persistente: solicitar armazenamento de PV, incluindo a quantidade necessária e modo de acesso
Volume persistente: abstração de um contêiner de armazenamento, incluindo tamanho e recursos
Volume persistente: abstração do contêiner de armazenamento, incluindo tamanho e função
Classe de armazenamento: configuração para diferentes tipos de armazenamento, por exemplo, Local, NFS, GlusterFs, ...
Categoria de armazenamento: configuração para diferentes tipos de armazenamento, como local, NFS, GlusterFs, etc. . .
Provisionador de classe de armazenamento: serviço que cria PVs para um determinado SC
Provisionador de armazenamento: um serviço para criar PV para um SC específico
五 、 RBAC
Pod: unidade de computação que pode interagir com o servidor da API Kubernetes
Pod: uma unidade de computação que pode interagir com o servidor kubernetesapi
Conta de serviço: usuário gerenciado do Kubernetes com namespace que se destina a ser usado por processos no cluster
Conta de serviço: Kubernetes que hospeda o usuário do namespace, usado para processos no cluster
Vinculação de função: anexa regras de uma função ou função de cluster para usuários, grupos ou SAs
Vinculação de funções: anexe regras em uma função ou função de cluster para usuários, grupos ou SAs
Usuário: um usuário que se autentica no servidor da API kubernetes
Usuário: o usuário que autentica o servidor kubernetesapi
Grupo: uma coleção de usuários
Grupo: um conjunto de usuários
Vinculação de função de cluster: anexa regras de uma função de cluster a usuários, grupos ou SAs
Vinculação de função de cluster: anexar uma regra de função de cluster a um usuário, grupo ou sa
Função de cluster (agregada): uma coleção de regras globais de cluster
Função de cluster (agregado): uma coleção de regras globais para o cluster
Função: uma coleção de regras com escopo de namespace
Função: uma coleção de regras de escopo de namespace
Regra: recursos (pod, serviço, ...) e verbos (obter, lista, ...)
Regras: recursos (Pod, Serivce, ...) e verbos (Get, List, ...)
Link original: https://brennerm.github.io/posts/kubernetes-overview-diagrams.html