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.
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 #
- 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
- No Rancher Dashboard, navegue até ☰ > Continuous Delivery > Git Repos (Entrega contínua > Repositórios Git) e clique em - Add Repository(Adicionar repositório).
- 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. 
- Clique em - Next(Avançar).
- 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. 
- 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.
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.
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.




