|Index|SUSE Edge Documentación|Componentes|Fleet
Applies to SUSE Edge 3.6

6 Fleet

Fleet es un motor de gestión y ampliación de contenedores diseñado para ofrecer a los usuarios un mayor control sobre el clúster local y una supervisión constante a través de GitOps. Fleet no solo se centra en la capacidad de escalado, sino que también ofrece a los usuarios un alto grado de control y visibilidad para supervisar exactamente lo que está instalado en el clúster.

Fleet puede gestionar ampliaciones desde Git de YAML de Kubernetes sin procesar, gráficos de Helm, Kustomize o cualquier combinación de los tres. Independientemente de la fuente, todos los recursos se convierten dinámicamente en gráficos de Helm, y Helm se utiliza como motor para desplegar todos los recursos en el clúster. Como resultado, los usuarios pueden disfrutar de un alto grado de control, coherencia y auditabilidad de sus clústeres.

Para obtener información sobre cómo funciona Fleet, consulte Arquitectura de Fleet.

6.1 Instalación de Fleet con Helm

Fleet viene integrado en Rancher, pero también puede instalarse como una aplicación independiente en cualquier clúster de Kubernetes mediante Helm.

6.2 Uso de Fleet con Rancher

Rancher utiliza Fleet para desplegar aplicaciones en clústeres gestionados. La entrega continua con Fleet introduce GitOps a escala, diseñado para gestionar aplicaciones que se ejecutan en un gran número de clústeres.

Fleet destaca como parte integrada de Rancher. Los clústeres gestionados con Rancher obtienen automáticamente el agente de Fleet desplegado como parte del proceso de instalación/importación y el clúster está disponible inmediatamente para ser gestionado por Fleet.

6.3 Acceso a Fleet en la interfaz de usuario de Rancher

Fleet viene preinstalado en Rancher y se gestiona mediante la opción Entrega continua en la interfaz de usuario de Rancher.

fleet dashboard

La sección de Entrega continua consta de los siguientes elementos:

6.3.1 Consola

Una página de resumen de todos los repositorios GitOps en todos los espacios de trabajo. Solo se muestran los espacios de trabajo con repositorios.

6.3.2 Repositorios Git

Una lista de repositorios GitOps en el espacio de trabajo seleccionado. Seleccione el espacio de trabajo activo mediante la lista desplegable en la parte superior de la página.

6.3.3 Clústeres

Una lista de clústeres gestionados. De forma predeterminada, todos los clústeres gestionados por Rancher se añaden al espacio de trabajo fleet-default. El espacio de trabajo fleet-local incluye el clúster local. Desde aquí, es posible Pause o Force update los clústeres o mover el clúster a otro espacio de trabajo. La edición del clúster permite actualizar las etiquetas y anotaciones utilizadas para agrupar los clústeres.

6.3.4 Grupos de clústeres

Esta sección permite la agrupación personalizada de los clústeres dentro del espacio de trabajo mediante selectores.

6.3.5 Avanzadas

La sección «Avanzado» permite gestionar espacios de trabajo y otros recursos de Fleet relacionados.

6.4 Ejemplo de instalación de KubeVirt con Rancher y Fleet mediante el panel de control de Rancher

  1. Cree un repositorio Git que contenga el archivo 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. En el panel de control de Rancher, navegue hasta ☰ > Entrega continua > Repositorios Git y haga clic en Add Repository.

  3. El asistente de creación de repositorios le guía a través de la creación del repositorio Git. Proporcione el Nombre, la URL del repositorio (haciendo referencia al repositorio Git creado en el paso anterior) y seleccione la rama o revisión adecuada. En el caso de un repositorio más complejo, especifique las Vías para utilizar varios directorios en un solo repositorio.

    fleet create repo1
  4. Haga clic en Next.

  5. En el siguiente paso, puede definir dónde se desplegarán las cargas de trabajo. La selección de clústeres ofrece varias opciones básicas: puede no seleccionar ningún clúster, seleccionar todos los clústeres o elegir directamente un clúster gestionado o un grupo de clústeres específico (si está definido). La opción «Avanzado» permite editar directamente los selectores mediante YAML.

    fleet create repo2
  6. Haga clic en Create. El repositorio se crea. A partir de ahora, las cargas de trabajo se instalan y se mantienen sincronizadas en los clústeres que coinciden con la definición del repositorio.

6.5 Depuración y solución de problemas

La sección de navegación «Avanzado» proporciona información general sobre los recursos de Fleet de bajo nivel. Un bundle es un recurso interno utilizado para la orquestación de recursos desde Git. Cuando se escanea un repositorio Git, este produce uno o más bundles.

Para encontrar los bundles relevantes para un repositorio específico, vaya a la página de detalles del repositorio Git y haga clic en la pestaña Bundles.

fleet repo bundles

Para cada clúster, el bundle se aplica a un recurso BundleDeployment que se crea. Para ver los detalles de BundleDeployment, haga clic en el botón Graph en la parte superior derecha de la página de detalles del repositorio Git. Se carga un gráfico de Repo > Bundles > BundleDeployments. Haga clic en el BundleDeployment en el gráfico para ver sus detalles y haga clic en Id para ver el YAML de BundleDeployment.

fleet repo graph

Para obtener información adicional sobre consejos de solución de problemas de Fleet, consulte aquí.

6.6 Ejemplos de Fleet

El equipo de Edge mantiene un repositorio con ejemplos de instalación de proyectos Edge con Fleet.

El proyecto Fleet incluye un repositorio fleet-examples que cubre todos los casos de uso para la estructura del repositorio Git.