Primeiros passos com o Kubernetes 1

1.O que é kubernetes?

        Kubernetes é uma solução líder totalmente nova para arquitetura distribuída baseada em tecnologia de contêiner. Se o design do sistema seguir as ideias de design do Kubernetes, então o código subjacente ou módulos funcionais na arquitetura do sistema tradicional que pouco têm a ver com o negócio podem desaparecer de nossa vista, e não precisamos mais nos preocupar com a seleção e seleção de balanceadores de carga.Problemas de implementação de implantação. O Kubernetes também é uma plataforma de desenvolvimento e não está limitado a uma linguagem, portanto os sistemas existentes podem ser facilmente atualizados e migrados para o Kubernetes. Finalmente, o kubernetes é uma plataforma completa de suporte a sistemas distribuídos.

2. Por que usar Kubernetes?

        Existem muitas razões para usar o kubernetes, a razão mais importante é que a indústria de TI sempre foi impulsionada por novas tecnologias. Atualmente, a tecnologia de conteinerização Docker tem sido adotada por muitas empresas. Tornou-se inevitável passar de uma única máquina para um cluster. O crescente desenvolvimento da computação está acelerando esse processo.

Quais são os benefícios de usar o Kubernetes?

Primeiro, sistemas complexos podem ser desenvolvidos “levemente”.

Em segundo lugar, a arquitetura de microsserviços pode ser totalmente adotada.

Novamente, todo o sistema pode ser “realocado” para a nuvem pública a qualquer momento.

Então, o mecanismo de expansão elástica de serviço inerente do kubernetes nos permite lidar facilmente com o tráfego intermitente.

Finalmente, a capacidade de expansão super horizontal da arquitetura do sistema Kubernetes pode aumentar significativamente a nossa competitividade.

3. Conceitos básicos e terminologia de kubernetes

A maioria dos conceitos em kubernetes pode ser considerada um objeto de recurso. Quase todos os objetos de recurso podem ser adicionados, excluídos, modificados, verificados, etc. por meio da ferramenta kubectl do kubernetes e salvos no etcd para armazenamento persistente. Dessa perspectiva, o kubernetes é um sistema de controle de recursos altamente automatizado.

A seguir, apresentamos os objetos de recursos importantes no Kubernetes

3.1 Mestre

O mestre em kubernets refere-se ao nó de controle do cluster, e todos os comandos que executamos basicamente são executados no mestre. Os seguintes processos principais estão em execução no mestre:

kube-apiserver: fornece o processo de serviço chave da interface HTTP Rest. É o único ponto de entrada para operações como adicionar, excluir, modificar e verificar todos os recursos em kubernets. É também o processo de entrada para controle de cluster.

kube-controller-manager: um centro de controle automatizado para todos os objetos de recursos.

kube-scheduler: O processo responsável pelo agendamento de recursos.

Além disso, o serviço etcd precisa ser implantado no mestre, pois os dados dos objetos de recursos são armazenados no etcd

3.2 Nó

Nós de carga de trabalho, quando um nó fica inativo, a carga de trabalho nele será automaticamente transferida para outros nós pelo mestre. Haverá os seguintes processos em cada nó:

Kubelet: Responsável por criar, iniciar e parar os contêineres correspondentes ao pod, e trabalhar em estreita colaboração com o mestre para realizar as funções básicas de gerenciamento de cluster.

kube-proxy: um componente importante para realizar o mecanismo de comunicação e balanceamento de carga do serviço kubernete

docker Engine: docker engine, responsável pela criação e gerenciamento de containers locais

Comandos comumente usados:

kubectl obtém nós para ver quantos nós estão no cluster

kubectl descreve o nó nodename Visualiza os detalhes de um nó

3.3 Vagem

Pod é o conceito básico mais importante. Cada pod tem um contêiner de pausa especial chamado contêiner raiz e também contém um ou mais contêineres de negócios de usuários intimamente relacionados.

A estrutura de composição especial do pod e por que existe um novo conceito de pod?

Quando um grupo de recipientes é obtido como uma unidade, é difícil simplesmente julgar o “todo” e agir de forma eficaz. A introdução de um contêiner de pausa que não tem nada a ver com o negócio e não é fácil de morrer como o contêiner raiz do pod, e seu status representa o status de todo o contêiner, simplesmente resolve esse problema. Vários contêineres de negócios em um pod compartilham o IP do contêiner de pausa e o volume montado pelo contêiner de pausa, o que também resolve o problema de compartilhamento de arquivos entre eles. O Kubernetes atribui um endereço IP exclusivo a cada pod. Vários contêineres em um pod compartilham o endereço IP do pod. No Kubernetes, um contêiner em um pod pode se comunicar diretamente com um contêiner de pod em outro host.

Qualquer objeto de recurso no kubernetes pode ser definido ou descrito em um arquivo no formato yaml ou json.

Endpoint: pod IP mais containerport constitui este novo conceito

Volume do pod: com base na extensão do volume dcker, o sistema de arquivos distribuído pode ser usado como função de armazenamento de back-end, que é definido no pod e então montado no sistema de arquivos correspondente pelo contêiner.

pod Event: Registro de eventos.

3.4 Etiqueta

Label é outro conceito central em kubernetes. Um rótulo é um par chave=valor. Um rótulo pode ser anexado a vários objetos de recurso. Um objeto de recurso pode definir qualquer número de rótulos, e o mesmo rótulo também pode ser adicionado a qualquer número de objetos de recurso.

O rótulo pode consultar e filtrar objetos de recursos com determinados rótulos por meio do seletor de rótulos. matchLabels é usado para definir um conjunto de rótulos e matchExpressions é usado para definir um conjunto de condições de filtro baseadas em conjunto.

Os importantes cenários de uso do seletor de rótulos no Kubernetes são os seguintes:

O processo kube-controller filtra o número de cópias do pod a serem monitoradas por meio do seletor de rótulo definido no objeto de recurso RC

kube-proxy filtra os pods correspondentes por meio do seletor de rótulo no serviço e estabelece automaticamente uma tabela de solicitação de roteamento de cada serviço para o pod correspondente, obtendo assim um balanceamento de carga inteligente.

Ao definir um rótulo específico para um nó e usar a estratégia de agendamento de rótulos nodoselector no arquivo de definição de pod, o processo kube-scheduler pode implementar o recurso de agendamento direcionado ao pod.

3.5Controlador de replicação

RC define um cenário esperado, o que significa que o número de réplicas de um determinado pod está em conformidade com um valor esperado a qualquer momento. Portanto, a definição de RC inclui o seguinte:

O número de réplicas que o pod espera.

seletor de rótulo para filtrar pods de destino

O modelo de pod usado para criar um novo pod quando há menos réplicas de pod do que o esperado.

Conjunto de réplicas: a única diferença do RC atual é que ele suporta seletores de rótulos baseados em conjuntos

Características e funções do RC (Conjunto de Réplicas):

Na maioria dos casos, realizamos a criação de pods e o controle automático do número de réplicas definindo um RC

Incluir modelo completo de definição de pod no RC

RC realiza o controle automático da cópia do pod através do mecanismo seletor de rótulo

Ao alterar o número de cópias do pod no RC, a expansão e contração do pod podem ser realizadas

Ao alterar a versão da imagem no modelo de pod no RC, a atualização contínua do pod pode ser realizada.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

Acho que você gosta

Origin blog.csdn.net/smallbird108/article/details/105916657
Recomendado
Clasificación