Diagrama da arquitetura do Kubernetes Arquitetura Carga de trabalho Rede Armazenamento RBAC

一 、 Arquitetura Básica

imagem

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

imagem

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

imagem

 

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

imagem

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

imagem

 

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

 

 

Acho que você gosta

Origin blog.csdn.net/u013288190/article/details/113093170
Recomendado
Clasificación