documentation.suse.com / Documentação do SUSE Edge / Componentes / Fleet

8 Fleet

Fleet é um mecanismo de gerenciamento e implantação de contêineres desenvolvido para oferecer aos usuários mais controle sobre o cluster local e monitoramento constante por GitOps. O foco do Fleet não está apenas na capacidade de ajustar a escala, mas também em proporcionar aos usuários um alto grau de controle e visibilidade para monitorar exatamente o que está instalado no cluster.

O Fleet gerencia implantações do Git de arquivos YAML brutos no Kubernetes, gráficos Helm, Kustomize ou qualquer combinação dos três. Seja qual for a fonte, todos os recursos são dinamicamente convertidos em gráficos Helm, e o Helm é usado como mecanismo para implantar todos os recursos no cluster. Como resultado, os usuários aproveitam um alto grau de controle, consistência e auditabilidade dos clusters.

Para obter informações sobre o funcionamento do Fleet, consulte a arquitetura do Fleet.

8.1 Instalando o Fleet com o Helm

O Fleet está incorporado ao Rancher, mas também é possível instalá-lo como aplicativo independente em qualquer cluster Kubernetes que usa o Helm.

8.2 Usando o Fleet com o Rancher

O Rancher usa o Fleet para implantar aplicativos em clusters gerenciados. A entrega contínua com o Fleet introduz o GitOps em escala, o que foi projetado para gerenciar aplicativos executados em uma grande quantidade de clusters.

O Fleet se destaca como parte integrante do Rancher. O agente Fleet é automaticamente implantado em clusters gerenciados com o Rancher, como parte do processo de instalação/importação, e o cluster fica imediatamente disponível para gerenciamento pelo Fleet.

8.3 Acessando o Fleet na IU do Rancher

O Fleet vem pré-instalado no Rancher e é gerenciado pela opção Continuous Delivery (Entrega contínua) na IU do Rancher.

dashboard fleet

A seção Continuous Delivery (Entrega contínua) consiste nos seguintes itens:

8.3.1 Dashboard

Uma página de visão geral de todos os repositórios do GitOps em todos os espaços de trabalho. São mostrados apenas os espaços de trabalho com repositórios.

8.3.2 Repositórios Git

Uma lista de repositórios do GitOps no espaço de trabalho selecionado. Escolha o espaço de trabalho ativo na lista suspensa na parte superior da página.

8.3.3 Clusters

Uma lista de clusters gerenciados. Por padrão, todos os clusters gerenciados pelo Rancher são adicionados ao espaço de trabalho fleet-default. O espaço de trabalho fleet-local inclui o cluster (de gerenciamento) local. Nele, é possível Pause (Pausar) ou Force update (Forçar a atualização) dos clusters ou mover o cluster para outro espaço de trabalho. A edição do cluster permite atualizar rótulos e anotações usados para agrupamento de clusters.

8.3.4 Grupos de clusters

A seção "Cluster Groups" (Grupos de clusters) permite o agrupamento personalizado de clusters no espaço de trabalho usando os seletores.

8.3.5 Avançado

A seção "Advanced" (Avançado) permite gerenciar espaços de trabalho e outros recursos do Fleet relacionados.

8.4 Exemplo de instalação do KubeVirt com o Rancher e o Fleet usando o Rancher Dashboard

  1. Crie um repositório Git com o arquivo fleet.yaml:

    defaultNamespace: kubevirt
    helm:
      chart: "oci://registry.suse.com/edge/charts/kubevirt"
      version: "303.0.0+up0.5.0"
      # kubevirt namespace is created by kubevirt as well, we need to take ownership of it
      takeOwnership: true
  2. No Rancher Dashboard, navegue até ☰ > Continuous Delivery > Git Repos (Entrega contínua > Repositórios Git) e clique em Add Repository (Adicionar repositório).

  3. O assistente de criação de repositório orienta na criação do repositório Git. Insira o Name (Nome), Repository URL (URL do repositório), mencionando o repositório Git criado na etapa anterior, e selecione a ramificação ou revisão apropriada. No caso de um repositório mais complexo, especifique os Paths (Caminhos) para usar vários diretórios em um único repositório.

    criar repo1 fleet
  4. Clique em Next (Avançar).

  5. Na próxima etapa, você poderá definir o local de implantação das cargas de trabalho. A seleção de cluster inclui várias opções básicas: nenhum cluster, todos os clusters ou escolher diretamente um cluster gerenciado ou grupo de clusters específico (se definido). A opção "Advanced" (Avançado) permite editar os seletores direto pelo YAML.

    criar repo2 fleet
  6. Clique em Create (Criar). O repositório é criado. A partir de agora, as cargas de trabalho são instaladas e sincronizadas nos clusters correspondentes à definição do repositório.

8.5 Depurando e solucionando problemas

A seção de navegação "Advanced" (Avançado) apresenta visões gerais dos recursos do Fleet de nível mais baixo. Bundle é um recurso interno usado para orquestração dos recursos do Git. Quando um repositório Git é verificado, ele gera um ou mais bundles.

Para localizar os bundles relevantes a um repositório específico, vá até a página de detalhes do repositório Git e clique na guia Bundles.

bundles repositório fleet

Para cada cluster, o bundle é aplicado a um recurso BundleDeployment que foi criado. Para ver os detalhes do BundleDeployment, clique no botão Graph (Gráfico) na parte superior direita da página de detalhes do repositório Git. É carregado um gráfico de Repo > Bundles > BundleDeployments (Repositório > Bundles > BundleDeployments). Clique no BundleDeployment no gráfico para ver seus detalhes e clique no Id para conferir o YAML do BundleDeployment.

gráfico repositório fleet

Para obter informações adicionais com dicas de solução de problemas no Fleet, acesse aqui.

8.6 Exemplos do Fleet

A equipe do Edge mantém um repositório com exemplos de instalação de projetos do Edge com o Fleet.

O projeto do Fleet inclui o repositório fleet-examples que abrange todos os casos de uso da estrutura de repositório Git.

Documentation survey