架构师_程序员_码农网

N Recuperar palavra-passe
Registar

QQ登录

Apenas um passo para começar

Pesquisar
Visualizações:8290|Repostas: 0
打印 上一主题 下一主题

k8s network flannel vs calico

[copy link]
k8s network flannel vs calico
L 跳转到指定楼层
proprietário do edifício
发表于 2020-11-9 11:23:01|只看该作者回帖奖励|ReverseBrowse|Read Mode
Recentemente, tenho trabalhado no conteúdo do paas e também acabei de tocar no kubernetes, ambos envolvendo cobertura de rede, ou seja, comunicação entre contêineres através de hosts. O próprio docker tem um esquema nativo de comunicação entre hosts, mas a eficiência é muito baixa. Portanto, há uma série de componentes de código aberto, como flannel, calico, weave e assim por diante. Aqui está a introdução principal ao calico e ao flannel.

Princípio do Flannel



Flannel, um projeto desenvolvido pela CoreOS, é provavelmente o plugin CNI mais simples e popular. Ele é um dos exemplos mais maduros de arquitetura de rede em sistemas de orquestração de contêineres, visando uma melhor rede entre contêineres e entre hosts. Com o surgimento do conceito da CNI, o plug-in da CNI do Flannel é considerado uma introdução precoce.

Em comparação com outras soluções, o Flannel é relativamente fácil de instalar e configurar. Ele é empacotado como um único binário, FlannelD, e muitas ferramentas comuns de implantação de cluster do Kubernetes e muitas distribuições do Kubernetes podem instalar o Flannel por padrão. O Flannel pode usar clusters etcd existentes de clusters do Kubernetes para armazenar suas informações de estado usando uma API e, portanto, não requer um armazenamento de dados dedicado. dedicado.

O Flannel configura uma rede de sobreposição IPv4 de camada 3. Ele cria uma grande rede interna que abrange todos os nós do cluster. Nessa rede de sobreposição, cada nó tem uma sub-rede que é usada para atribuir endereços IP internamente. Ao configurar Pods, a interface de ponte do Docker em cada nó atribui um endereço a cada novo contentor. Os pods no mesmo host podem se comunicar usando a ponte do Docker, enquanto os pods em hosts diferentes usam o flanneld para encapsular seu tráfego em pacotes UDP para roteamento para o destino apropriado.

O Flannel tem vários tipos diferentes de backends disponíveis para encapsulamento e roteamento. A abordagem padrão e recomendada é usar VXLAN, pois VXLAN tem melhor desempenho e requer menos intervenção manual.


Arquitetura Calico



calico inclui os seguintes componentes importantes: Felix, etcd, BGP Client, BGP Route Refletor, a seguir está uma descrição desses componentes.

Felix: responsável principalmente pela configuração de rotas e configuração e distribuição de regras ACLS, existe em cada nó.

etcd: armazenamento distribuído de valores-chave, responsável principalmente pela consistência dos metadados da rede, para garantir a precisão do estado da rede Calico, pode ser partilhado com kubernetes;

BGPClient(BIRD), responsável principalmente por distribuir informações de roteamento escritas por Felix para o kernel para a rede Calico atual, garantindo a validade da comunicação entre cargas de trabalho;

BGPRoute Refletor(BIRD), utilizado em implantações de grande escala, que elimina o modelo de malha de interconexão de todos os nós e fornece distribuição centralizada de rotas através de um ou mais BGPRoute Reflectors;


princípio calico

Como mostra a figura seguinte, descreve o processo de encaminhamento do contentor de origem através do anfitrião de origem, através do centro de dados e depois para o anfitrião de destino para distribuição final ao contentor de destino.




Comparação

Como pode ser visto no princípio acima, o flannel executa operações de selagem e desempacotamento de pacotes além do roteamento e encaminhamento, o que desperdiça recursos de computação da CPU. A figura a seguir compara o desempenho de vários componentes de rede de código aberto encontrados na web. Pode-se ver que tanto a largura de banda quanto a latência da rede, o desempenho do calico e do host são semelhantes.







Anterior:Com o título existente para fazer um sistema de exame online
下一篇:【转】警惕 System.Environment.CurrentDirectory 获取当前目录
O código de rede do agricultor, apenas publicado no processo de prática, encontrou dificuldades técnicas, não induzir outros em erro.
Tem de iniciar sessão antes de poder voltar a publicar Iniciar sessão | Registar

E sta versão das regras integrais


DISCLAIMER: Todo o software, materiais de programação ou artigos lançados pela Code Farmer Network estão limitados a fins de estudo e pesquisa; o conteúdo acima não deve ser utilizado para fins comerciais ou ilegais, caso contrário, todas as consequências do utilizador, por favor, ser responsável por sua própria. A informação deste sítio da rede, a disputa de direitos de autor não tem nada a ver com este sítio. O utilizador deve remover completamente o conteúdo acima do seu computador no prazo de 24 horas após o descarregamento. Se gosta do programa, por favor apoie o software genuíno, compre o registo e obtenha um melhor serviço genuíno. Se houver alguma infração, contacte-nos por correio eletrónico para tratarmos do assunto.

Correio eletrónico To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-18 23:59

Resposta rápidaVoltar ao topoVoltar à lista