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.