
Teste quintais em seus próprios clusters: curl https://getbackyards.sh | sh && backyards install -a --run-demo
curl https://getbackyards.sh | sh && backyards install -a --run-demo
. Se estiver interessado, consulte os detalhes da versão mais recente .
Em junho, lançamos o
Backyards , uma
“malha de serviço” automatizada em cima do nosso
operador Istio . Simplifica bastante o gerenciamento de malha de serviço em uma infraestrutura híbrida e em várias nuvens. O Backyards está integrado à
plataforma de gerenciamento de contêiner Pipeline no Banzai Cloud, mas também está disponível como um produto
independente . Obviamente, a integração com o Pipeline oferece muitos benefícios específicos (como
gerenciar aplicativos em várias nuvens ), mas o Backyards funciona em qualquer instalação do Kubernetes.
No
anúncio de quintais, discutimos algumas das principais funções: criar uma malha de serviço em poucos cliques, monitorar aplicativos através de uma representação gráfica exclusiva e gerenciar as funções do Istio a partir de uma interface conveniente. Mencionamos então que a plataforma é capaz de gerenciar redes de serviços de multi-cluster Istio em implementações híbridas e em várias nuvens.
Neste artigo, examinaremos mais de perto esse recurso - a
malha automatizada de serviço de vários clusters .
Seja um ou mais clusters, um ambiente híbrido ou com várias nuvens, o Backyards usa o mesmo conjunto de recursos e uma interface conveniente. É extremamente fácil começar com um cluster e, em poucos cliques, expanda a malha de serviço para outros clusters (nuvem múltipla ou nuvem híbrida).
Motivação
Os sistemas híbridos e com várias nuvens entram rapidamente no dia a dia das empresas. O interesse e a tomada de decisões cresceram muito desde que o Google lançou o
Anthos em abril deste ano.
Também notamos um aumento desse interesse na maioria das empresas com as quais discutimos esse tópico. Alguém prefere processar dados em seus próprios datacenters, acessando serviços em nuvem apenas nos horários de pico de carregamento. Outros procuram constantemente as taxas mais baixas e as melhores ofertas dos fornecedores de nuvem, aumentando a carga de trabalho somente quando o preço permitir. Todos eles precisam de uma maneira conveniente de se mover entre nuvens diferentes, a pedido de um cliente específico, devido a regulamentações regulatórias ou requisitos de negócios, além de criar
várias topologias diferentes sobre essa infraestrutura híbrida e de várias nuvens.
À medida que a demanda por soluções híbridas e de vários clusters aumentava, começamos a pensar em como satisfazer as necessidades de nossos clientes.
Os usuários do pipeline trabalham com uma ou mais nuvens. Depende de quais funções específicas eles precisam. Podem ser distinguidas três funções principais:
Antecedentes
Desde o início, a plataforma Pipeline deu suporte à conexão de diferentes provedores de nuvem em diferentes níveis (clusters, implantações e serviços). Essa sempre foi uma das nossas prioridades.
Ao mesmo tempo, estávamos trabalhando ativamente no Istio. O
operador foi lançado primeiro para simplificar a implantação e o gerenciamento do Istio e depois
explorou seus recursos de vários clusters. Como resultado,
criamos o Backyards, um produto automatizado para infraestrutura híbrida e em várias nuvens , integrado ao Pipeline, com o operador de código aberto Istio.
Quintais em Pipeline
No Pipeline, você pode instalar uma malha de serviço híbrida ou com vários clusters e gerenciá-la em um ambiente local ou em qualquer combinação dos cinco provedores de nuvem suportados.A função de agrupar clusters (grupo de clusters) permite formar grupos de clusters, desde que você selecione um cluster como principal. Você pode associá-los a várias funções, como Multi-cluster Deployment
ou Service Mesh
.
Multi-cluster Deployment
permite implantar o aplicativo simultaneamente em vários clusters. Aqui não nos concentramos nesse recurso, mas ele será usado para implantar facilmente o aplicativo em vários clusters. Leia mais sobre isso neste artigo .
Este artigo analisará mais de perto o recurso Service Mesh
. Ele instala o Istio no cluster principal e une automaticamente todos os clusters do grupo usando o operador Istio . Depois disso, você obtém uma visão intercluster de seus serviços, e uma malha multicluster do ponto de vista do gerenciamento praticamente não difere da convencional de cluster único.
Funções
Criando uma malha de serviço
Vamos começar criando um cluster na AWS usando a distribuição Kubernetes leve e com certificação CNCF -
PKE . Em seguida, crie uma malha de serviço Istio nesse cluster.
Ao criar uma malha de serviço, um grupo de clusters também é formado em segundo plano.
Após alguns segundos, a "grade" está instalada e pronta para uso.

Implantação de aplicativo
Agora precisamos de um aplicativo de demonstração com microsserviços para mostrar os recursos de nosso produto. Para fins de demonstração, criamos um projeto
AllSpark muito simples e também fizemos um diagrama Helm com uma configuração preliminar da implantação do AllSpark, que simula um sistema de reserva de ingressos de cinema. Tudo é feito em nosso
serviço de serviço em
nuvem (SaaS) para diagramas Helm .
Usando a função de
Multi-cluster Deployment
acima mencionada, implantaremos esse aplicativo acessando a guia
Multi Cluster Deployments
na interface do usuário. Inclua o repositório
https://charts.banzaicloud.io/gh/spotguidetest
no Pipeline, o diagrama
meshdemo
e clique em
meshdemo
(para instalar todos os componentes, verifique se todos os valores estão definidos como
true
).

Foi possível escolher uma implantação simples para um cluster, mas indicamos uma opção multicluster, que será útil mais tarde ao trabalhar com vários clusters.
Visão geral da malha de serviço
Se você retornar à lista de malhas de serviço e clicar no botão
observe
, um painel de controle será exibido. Como não há tráfego em nosso aplicativo de teste e não há métricas no sistema, aqui ainda não veremos nenhuma visualização. A interface possui uma função de
test flight
que direciona o tráfego para os pontos de extremidade selecionados. Se você clicar no botão
HTTP
no canto superior direito, poderá preencher um formulário contendo informações sobre o terminal e enviar algum tráfego de teste aos seus serviços. No nosso exemplo, o tráfego deve ir para o serviço de primeira página na porta 8080.
Após alguns segundos, uma programação de seus serviços será exibida. Os nós nele representam serviços ou cargas de trabalho e as setas representam conexões de rede entre diferentes serviços. O gráfico é baseado nas métricas do Istio provenientes do Prometheus.

Crie clusters adicionais
Estender a malha de serviço a clusters adicionais - mesmo de vários provedores de nuvem diferentes - leva apenas alguns cliques. Vamos criar três clusters adicionais em três provedores diferentes, é mais interessante. Podemos implantar facilmente outro cluster PKE no Azure, bem como clusters OKE e GKE.

Extensão de malha de serviço
Vamos voltar à lista de malhas de serviço, pressionar o botão
RESIZE MESH
e, em seguida,
ADD NEW CLUSTER
. Selecione os clusters criados anteriormente e pressione o botão
ADD
. Isso é tudo.

A expansão pode levar vários minutos: cada cluster deve se conectar e atingir o estado
HEALTHY
.
Implantando um aplicativo em vários clusters
Agora temos uma malha de serviço em vários clusters, e a função de
Multi-cluster Deployment
vários clusters no Pipeline foi ativada anteriormente, portanto, é fácil implantar nossos microsserviços de demonstração nesses clusters. Neste diagrama Helm específico, você pode facilmente ligar e desligar os componentes. Como a função
Multi-cluster Deployment
suporta a redefinição de parâmetros para cada cluster, você só precisa editar a implantação e estabelecer quais componentes queremos executar em qual cluster.
Para a implantação de vários clusters, alteramos as configurações da seguinte maneira:
PKE AWS
services: true
istioresources: true
frontpage: true
catalog: true
bookings: true
PKE Azure
services: true
moviesv1: true
moviesv2: true
moviesv3: true
OKE
services: true
payments: true
notifications: true
GKE
services: true
analytics: true

Visão geral da malha de serviço em vários clusters
Mais uma vez, selecione
test flight
na interface para direcionar tráfego adicional para o terminal selecionado anteriormente. Após alguns segundos, algo semelhante ao gráfico abaixo aparecerá. Agora, nosso aplicativo está distribuído em
quatro clusters em
quatro provedores diferentes.
Incrível , né ?!

Configuração NRA
Antes de terminar este artigo, dê uma olhada na última configuração:
Horizontal Pod Autoscaler . Na página
Single-cluster Deployment
no Pipeline, você pode configurar facilmente o HPA para qualquer implantação (no nosso caso,
analytics-v1
).

Ao instalar o HPA e enviar tráfego suficiente aos seus serviços para iniciar o dimensionamento automático, você verá como cada vez mais pods aparecem na interface que correspondem ao projeto
analytics-v1
. Você também verá um aumento no fluxo de consultas ao longo das bordas do gráfico, refletido nos números e na espessura das bordas.

Sumário
Graças aos quintais da Pipeline, é fácil configurar uma malha de serviço híbrida ou de vários clusters. Você pode implantar, rastrear, gerenciar e solucionar problemas de aplicativos em vários clusters usando uma interface de usuário conveniente.
Experimente grátis !