|Index|SUSE Telco Cloud Documentação|Componentes|Fleet
Applies to SUSE Telco Cloud 3.6

9 Fleet

Fleet é um mecanismo de gerenciamento e implantação de contêineres projetado para oferecer aos usuários mais controle sobre o cluster local e monitoramento constante por meio de GitOps. O Fleet foca não apenas na capacidade de escalar, mas também oferece aos usuários um alto grau de controle e visibilidade para monitorar exatamente o que está instalado no cluster.

O Fleet pode gerenciar implantações a partir do Git de YAML bruto do Kubernetes, charts Helm, Kustomize ou qualquer combinação dos três. Independentemente da origem, todos os recursos são transformados dinamicamente em charts Helm, e o Helm é usado como o mecanismo para implantar todos os recursos no cluster. Como resultado, os usuários podem desfrutar de um alto grau de controle, consistência e auditabilidade de seus clusters.

Para obter informações sobre como o Fleet funciona, consulte Fleet Architecture.

9.1 Instalando o Fleet com Helm

O Fleet vem incorporado ao Rancher, mas também pode ser instalado como um aplicativo independente em qualquer cluster Kubernetes usando Helm.

9.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, projetado para gerenciar aplicativos em execução em um grande número de clusters.

O Fleet se destaca como uma parte integrada do Rancher. Os clusters gerenciados com o Rancher recebem automaticamente o Fleet agent implantado como parte do processo de instalação/importação e o cluster fica imediatamente disponível para ser gerenciado pelo Fleet.

9.3 Acessando o Fleet na interface do usuário do Rancher

O Fleet vem incorporado no Rancher e é gerenciado pela opção Entrega contínua na interface do usuário do Rancher.

fleet dashboard

A seção Entrega contínua consiste nos seguintes itens:

9.3.1 Painel

Uma página de visão geral de todos os repositórios GitOps em todos os espaços de trabalho. Apenas os espaços de trabalho com repositórios são exibidos.

9.3.2 Repositórios Git

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

9.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 local (de gerenciamento). A partir daqui, é possível Pause ou Force update os clusters ou mover o cluster para outro espaço de trabalho. Editar o cluster permite atualizar rótulos e anotações usados para agrupar os clusters.

9.3.4 Grupos de clusters

Esta seção permite o agrupamento personalizado dos clusters dentro do espaço de trabalho usando seletores.

9.3.5 Avançado

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

9.4 Exemplo de instalação do KubeVirt com Rancher e Fleet usando o painel do Rancher

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

    defaultNamespace: kubevirt
    helm:
      chart: "oci://registry.suse.com/edge/charts/kubevirt"
      version: "306.0.2+up0.7.0"
      # kubevirt namespace is created by kubevirt as well, we need to take ownership of it
      takeOwnership: true
  2. No painel do Rancher, navegue até ☰ > Entrega contínua > Repositórios Git e clique em Add Repository.

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

    fleet create repo1
  4. Clique em Next.

  5. Na próxima etapa, você pode definir onde as cargas de trabalho serão implantadas. A seleção de clusters oferece várias opções básicas: você pode não selecionar nenhum cluster, selecionar todos os clusters ou escolher diretamente um cluster gerenciado específico ou um grupo de clusters (se definido). A opção "Avançado" permite editar diretamente os seletores via YAML.

    fleet create repo2
  6. Clique em Create. O repositório é criado. A partir de agora, as cargas de trabalho são instaladas e mantidas sincronizadas nos clusters que correspondem à definição do repositório.

9.5 Depuração e solução de problemas

A seção de navegação "Avançado" fornece visões gerais de recursos de nível inferior do Fleet. Um bundle é um recurso interno usado para a orquestração de recursos a partir do Git. Quando um repositório Git é verificado, ele produz um ou mais bundles.

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

fleet repo bundles

Para cada cluster, o bundle é aplicado a um recurso BundleDeployment que é criado. Para visualizar os detalhes do BundleDeployment, clique no botão Graph no canto superior direito da página de detalhes do repositório Git. Um gráfico de Repositório > Bundles > BundleDeployments é carregado. Clique no BundleDeployment no gráfico para ver seus detalhes e clique em Id para visualizar o YAML do BundleDeployment.

fleet repo graph

Para obter informações adicionais sobre dicas de solução de problemas do Fleet, consulte aqui.

9.6 Exemplos do Fleet

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

O projeto Fleet inclui um repositório fleet-examples que cobre todos os casos de uso para estrutura de repositório Git.