Documentação do SUSE Edge 3.3.1 #
Boas-vindas à documentação do SUSE Edge. Você vai encontrar uma visão geral de alto nível da arquitetura, guias de início rápido, designs validados, orientação de como usar os componentes, integrações de terceiros e melhores práticas de gerenciamento da infraestrutura e das cargas de trabalho de computação de borda.
1 O que é o SUSE Edge? #
O SUSE Edge é uma solução completa, amplamente validada, de estreita integração e desenvolvida com um propósito específico para resolver os desafios exclusivos da implantação da infraestrutura e dos aplicativos nativos de nuvem na borda. Ele tem como objetivo principal oferecer uma plataforma persistente, porém bastante flexível, altamente escalável e segura que abrange a criação de imagem da implantação inicial, o provisionamento e a integração de nós, a implantação de aplicativos, a observabilidade e as operações do ciclo de vida completo. A plataforma foi criada do zero, com base no melhor software de código aberto, e condiz com os nossos mais de 30 anos de história como provedores de plataformas SUSE Linux seguras, estáveis e certificadas e com a nossa experiência em oferecer gerenciamento Kubernetes altamente escalável e repleto de recursos com o nosso portfólio Rancher. O SUSE Edge é fundamentado nesses recursos para entregar funcionalidades que atendem a inúmeros segmentos de mercado, como varejo, medicina, transporte, logística, telecomunicações, manufatura inteligente e IoT industrial.
2 Filosofia do design #
A solução foi criada com a ideia de que não existe uma plataforma de borda do tipo "tamanho único" porque os requisitos e as expectativas dos clientes variam de maneira significativa. As implantações de borda nos levam a resolver (e sempre aprimorar) alguns dos problemas mais desafiadores, como escalabilidade massiva, disponibilidade de rede restrita, limitações de espaço físico, novas ameaças à segurança e vetores de ataque, variações na arquitetura de hardware e nos recursos de sistema, a necessidade de implantar e estabelecer interface com infraestruturas e aplicativos legados e soluções de clientes com durações estendidas. Como muitos desses desafios são diferentes das mentalidades tradicionais, por exemplo, a implantação de infraestrutura e aplicativos em centros de dados ou na nuvem pública, precisamos analisar o design de modo muito mais detalhado e repensar várias hipóteses que antes eram comuns.
Por exemplo, consideramos importante o minimalismo, a modularidade e a facilidade das operações. O minimalismo é essencial nos ambientes de borda, já que as chances de um sistema falhar aumentam de acordo com a sua complexidade. Quando há centenas, ou até centenas de milhares de locais, os sistemas complexos vão apresentar falhas igualmente complexas. A modularidade em nossa solução oferece mais opções aos usuários e elimina a complexidade desnecessária da plataforma implantada. Precisamos também levar em consideração a facilidade das operações. As pessoas tendem a cometer erros quando repetem um processo milhares de vezes, portanto, a plataforma deve garantir que possíveis erros sejam recuperáveis, acabando com a necessidade de visitas técnicas, mas também buscar a consistência e a padronização.
3 Arquitetura de alto nível #
A arquitetura de alto nível do SUSE Edge está dividida em duas categorias principais, os chamados clusters de "gerenciamento" e "downstream". O cluster de gerenciamento é responsável pelo gerenciamento remoto de um ou mais clusters downstream, apesar de ser reconhecido que, em determinadas situações, os clusters downstream precisam operar sem gerenciamento remoto, por exemplo, quando um site de borda não tem conectividade externa e precisa operar de maneira independente. No SUSE Edge, os componentes técnicos usados na operação de ambos os clusters de gerenciamento e downstream são muito comuns, embora possam apresentar diferenças referentes a especificações de sistema e aos aplicativos nos quais residem, ou seja, o cluster de gerenciamento executa aplicativos que possibilitam as operações de ciclo de vida e gerenciamento de sistemas, enquanto os clusters downstream atendem aos requisitos para executar os aplicativos de usuário.
3.1 Componentes usados no SUSE Edge #
O SUSE Edge é composto de componentes existentes tanto do SUSE quanto do Rancher, junto com outros recursos e componentes desenvolvidos pela equipe do Edge, para enfrentarmos as restrições e as complexidades previstas na computação de borda. Veja abaixo uma explicação dos componentes usados nos clusters de gerenciamento e downstream, com um diagrama simplificado de alto nível (observe que não se trata de uma lista completa):
3.1.1 Cluster de gerenciamento #
Gerenciamento: trata-se da parte centralizada do SUSE Edge usada para gerenciar o provisionamento e o ciclo de vida dos clusters downstream conectados. Normalmente, o cluster de gerenciamento inclui os seguintes componentes:
Gerenciamento multicluster com o Rancher Prime (Capítulo 5, Rancher), que oferece um dashboard comum para integração de clusters downstream e gerenciamento do ciclo de vida contínuo da infraestrutura e dos aplicativos, além do isolamento total de locatários e das integrações de
IDP
(provedor de identidade), um amplo mercado de integrações e extensões de terceiros e uma API independente de fornecedor.Gerenciamento de sistemas Linux com o SUSE Multi-Linux Manager, que permite o gerenciamento automatizado de patches e configurações do sistema operacional Linux subjacente (*SUSE Linux Micro (Capítulo 9, SUSE Linux Micro)) executado nos clusters downstream. Quando esse componente está conteinerizado, observe que ele precisa ser executado em um sistema separado dos outros componentes de gerenciamento, devidamente identificado no diagrama acima como "Linux Management".
Um controlador dedicado de gerenciamento do ciclo de vida (Capítulo 23, Controller de upgrade) encarregado dos upgrades dos componentes do cluster de gerenciamento para uma determinada versão do SUSE Edge.
Integração remota do sistema ao Rancher Prime com Elemental (Capítulo 13, Elemental), que permite a vinculação posterior dos nós de borda conectados aos clusters Kubernetes e a implantação de aplicativos, por exemplo, pelo GitOps.
Suporte opcional completo ao ciclo de vida e gerenciamento bare metal com os provedores de infraestrutura Metal3 (Capítulo 10, Metal3), MetalLB (Capítulo 19, MetalLB) e
CAPI
(Cluster API), que permite o provisionamento total, de ponta a ponta, dos sistemas bare metal com recursos de gerenciamento remoto.Um mecanismo opcional do GitOps chamado Fleet (Capítulo 8, Fleet) que gerencia o provisionamento e o ciclo de vida dos clusters downstream e dos aplicativos que residem neles.
O cluster de gerenciamento conta com o SUSE Linux Micro (Capítulo 9, SUSE Linux Micro) como o alicerce do sistema operacional de base e com o RKE2 (Capítulo 16, RKE2) como a distribuição Kubernetes que oferece suporte aos aplicativos do cluster de gerenciamento.
3.1.2 Clusters downstream #
Downstream: trata-se da parte distribuída do SUSE Edge usada para executar as cargas de trabalho dos usuários no Edge, ou seja, o software que é executado no próprio local de borda, e que normalmente inclui os seguintes componentes:
Uma seleção de distribuições Kubernetes, com distribuições seguras e leves como K3s (Capítulo 15, K3s) e RKE2 (Capítulo 16, RKE2) (
RKE2
é protegido, certificado e otimizado para uso em órgãos governamentais e setores regulamentados).SUSE Security (Capítulo 18, SUSE Security) para habilitar recursos de segurança, como verificação de vulnerabilidade de imagens, inspeção detalhada de pacotes e proteção contra ameaças e vulnerabilidades em tempo real.
Armazenamento de software em blocos com o SUSE Storage (Capítulo 17, SUSE Storage), que possibilita o armazenamento em blocos leve, persistente, resiliente e escalável.
Um sistema operacional Linux leve, otimizado para contêiner e protegido com o SUSE Linux Micro (Capítulo 9, SUSE Linux Micro), que oferece um sistema operacional imutável e altamente resiliente para execução de contêineres e máquinas virtuais na borda. O SUSE Linux Micro está disponível para as arquiteturas AArch64 e AMD64/Intel 64 e também suporta o
kernel Real-Time
para aplicativos sensíveis à latência (por exemplo, os casos de uso de telecomunicações).Para os clusters conectados (ou seja, os que têm conectividade com o cluster de gerenciamento), dois agentes são implantados: Agente do sistema Rancher, para gerenciar a conectividade com o Rancher Prime, e venv-salt-minion, para receber as instruções do SUSE Multi-Linux Manager e aplicar as atualizações de software Linux. Eles não são obrigatórios para o gerenciamento de clusters desconectados.
3.2 Conectividade #
A imagem acima apresenta uma visão geral de alto nível da arquitetura dos clusters downstream conectados e sua relação com o cluster de gerenciamento. É possível implantar o cluster de gerenciamento em uma ampla variedade de plataformas de infraestrutura subjacentes, em instalações tanto no local quanto na nuvem, dependendo da disponibilidade de rede entre os clusters downstream e o cluster de gerenciamento de destino. O único requisito para que isso funcione é que a API e o URL de callback estejam acessíveis pela rede que conecta os nós do cluster downstream à infraestrutura de gerenciamento.
É importante reconhecer que existem mecanismos em que a conectividade é estabelecida e que são diferentes do mecanismo de implantação do cluster downstream. Há uma explicação mais detalhada sobre isso na próxima seção; mas, para um entendimento geral, há três mecanismos principais para estabelecer os clusters downstream conectados como um cluster "gerenciado":
Os clusters downstream são implantados primeiro no modo "desconectado" (por exemplo, pelo Edge Image Builder (Capítulo 11, Edge Image Builder)) e depois são importados para o cluster de gerenciamento se ou quando a conectividade permite.
Os clusters downstream são configurados para usar o mecanismo de integração incorporado (por exemplo, pelo Elemental (Capítulo 13, Elemental)) e são automaticamente registrados no cluster de gerenciamento na primeira inicialização, o que permite a vinculação posterior da configuração do cluster.
Os clusters downstream foram provisionados com os recursos de gerenciamento bare metal (CAPI + Metal3) e são automaticamente importados para o cluster de gerenciamento após a implantação e configuração do cluster (pelo operador Rancher Turtles).
É recomendada a implementação de vários clusters de gerenciamento para acomodar a grande escala de implantações, otimizar os ambientes geograficamente dispersos conforme as expectativas de largura de banda e de latência e minimizar as interrupções em caso de paradas ou upgrades do cluster de gerenciamento. Você encontra os limites de escalabilidade dos clusters de gerenciamento e os requisitos do sistema atuais aqui.
4 Padrões de implantação de borda comuns #
Devido à variedade de ambientes operacionais e requisitos de ciclo de vida, implementamos o suporte a alguns padrões de implantação que se adaptam de maneira flexível aos segmentos de mercado e casos de uso em que o SUSE Edge atua. Documentamos um guia de início rápido para cada um desses padrões de implantação para ajudar você a se familiarizar com a plataforma SUSE Edge de acordo com as suas necessidades. Os três padrões de implantação com suporte atualmente estão descritos a seguir, com um link para a respectiva página do guia de início rápido.
4.1 Provisionamento de rede direcionado #
O provisionamento de rede direcionado é por onde você fica sabendo dos detalhes do hardware em que deseja implantar e tem acesso direto à interface de gerenciamento fora da banda para orquestrar e automatizar todo o processo de provisionamento. Nesse cenário, nossos clientes esperam uma solução capaz de provisionar sites de borda completamente automatizados de um local centralizado, indo muito além da criação de uma imagem de inicialização, minimizando as operações manuais no local de borda: basta montar, ligar e conectar as redes necessárias ao hardware físico, e o processo de automação liga a máquina por meio do gerenciamento fora da banda (por exemplo, pela API Redfish) e cuida do provisionamento, da integração e da implantação da infraestrutura sem intervenção do usuário. A chave para que esse processo funcione é que os administradores conheçam os sistemas e saibam qual hardware está em que local, e que a implantação seja realizada centralmente.
Esta solução é a mais robusta, já que você interage diretamente com a interface de gerenciamento do hardware, trabalha com um hardware conhecido e tem menos restrições de disponibilidade de rede. Quanto às funcionalidades, a solução usa amplamente a Cluster API e o Metal3 para o provisionamento automatizado, de bare metal a sistema operacional, Kubernetes e aplicativos em camadas, e oferece a opção de se vincular aos demais recursos de gerenciamento do ciclo de vida comuns de pós-implantação do SUSE Edge. O início rápido da solução está disponível em Capítulo 1, Implantações automatizadas de BMC com Metal3.
4.2 Provisionamento de rede "phone home" #
Pode acontecer de você trabalhar em um ambiente onde o cluster de gerenciamento central não pode gerenciar o hardware diretamente (por exemplo, a rede remota é protegida por firewall ou não há uma interface de gerenciamento fora da banda; o que é comum em hardware do tipo "PC" mais encontrado na borda). Nesse cenário, oferecemos ferramentas para provisão remota de clusters e suas cargas de trabalho sem a necessidade de saber para onde o hardware é enviado quando é iniciado. É isto que a maioria das pessoas pensa sobre computação de borda: são milhares, ou dezenas de milhares, de sistemas um tanto desconhecidos que são iniciados nos locais de borda e se comunicam de maneira segura com a central ("phone home"), validando suas identidades e recebendo as instruções do que devem fazer. Nesse caso, nossos requisitos são o provisionamento e o gerenciamento do ciclo de vida com muito pouca intervenção do usuário, além de pré-criar a imagem da máquina de fábrica ou simplesmente anexar uma imagem de inicialização, por exemplo, por USB, e ligar o sistema. O principal desafio nesse caso é abordar a escala, a consistência, a segurança e o ciclo de vida desses dispositivos no mundo real.
Esta solução oferece um ótimo nível de flexibilidade e consistência no modo como os sistemas são provisionados e integrados, seja qual for seu local, tipo ou especificação ou quando são ligados pela primeira vez. O SUSE Edge oferece total flexibilidade e personalização do sistema pelo Edge Image Builder, além de aproveitar a oferta de recursos de registro Elemental do Rancher para integração de nós e provisionamento do Kubernetes, junto com o SUSE Multi-Linux Manager para aplicação de patches no sistema operacional. O início rápido da solução está disponível no Capítulo 2, Integração remota de host com o Elemental.
4.3 Provisionamento com base na imagem #
Para os clientes que precisam trabalhar em ambientes independentes, air-gapped ou com limitações de rede, o SUSE Edge oferece uma solução que permite gerar mídias de instalação totalmente personalizadas com todos os artefatos de implantação necessários para habilitar clusters Kubernetes de alta disponibilidade na borda, tanto de um quanto de vários nós, incluindo qualquer carga de trabalho ou componentes adicionais em camadas que sejam necessários. Tudo isso sem precisar de conectividade de rede com ambientes externos e sem a intervenção de uma plataforma de gerenciamento centralizada. A experiência do usuário é muito parecida com a solução "phone home", no que se refere à mídia de instalação fornecida aos sistemas de destino, mas a solução é "iniciada no local". Nesse cenário, é possível conectar os clusters resultantes ao Rancher para gerenciamento contínuo (ou seja, passar do modo de operação "desconectado" para "conectado" sem precisar de reconfiguração ou reimplantação significativa) ou continuar a operação de forma isolada. Observe que, em ambos os casos, é possível usar o mesmo mecanismo consistente para automatizar as operações de ciclo de vida.
Além disso, é possível usar a solução para criar rapidamente clusters de gerenciamento que podem hospedar a infraestrutura centralizada que sustenta os modelos de provisionamento de rede tanto "direcionado" quanto "phone home", já que pode ser a forma mais rápida e simples de provisionar todos os tipos de infraestrutura de borda. Essa solução faz uso intensivo dos recursos do SUSE Edge Image Builder para criar mídias de instalação totalmente personalizadas e autônomas. O início rápido está disponível no Capítulo 3, Clusters independentes com o Edge Image Builder.
5 Validação da pilha do SUSE Edge #
Todas as versões do SUSE Edge têm componentes estreitamente integrados e validados na íntegra que são lançados juntos. Como parte do trabalho constante de integração e validação de pilha que testa a integração entre os componentes e garante que o desempenho do sistema atenda às expectativas em cenários de falha forçada, a equipe do SUSE Edge publica todas as execuções e os resultados dos testes. Os resultados e todos os parâmetros de entrada estão disponíveis em ci.edge.suse.com.
6 Lista completa de componentes #
A lista completa de componentes, com um link para a descrição de alto nível de cada um e como são usados no SUSE Edge, está disponível abaixo:
Rancher (Capítulo 5, Rancher)
Extensões do Rancher Dashboard (Capítulo 6, Extensões do Rancher Dashboard)
Rancher Turtles (Capítulo 7, Rancher Turtles)
SUSE Multi-Linux Manager
Fleet (Capítulo 8, Fleet)
SUSE Linux Micro (Capítulo 9, SUSE Linux Micro)
Metal³ (Capítulo 10, Metal3)
Edge Image Builder (Capítulo 11, Edge Image Builder)
NetworkManager Configurator (Capítulo 12, Rede de borda)
Elemental (Capítulo 13, Elemental)
Akri (Capítulo 14, Akri)
K3s (Capítulo 15, K3s)
RKE2 (Capítulo 16, RKE2)
SUSE Storage (Capítulo 17, SUSE Storage)
SUSE Security (Capítulo 18, SUSE Security)
MetalLB (Capítulo 19, MetalLB)
KubeVirt (Capítulo 21, Edge Virtualization)
System Upgrade Controller (Capítulo 22, System Upgrade Controller)
Controller de upgrade (Capítulo 23, Controller de upgrade)