8 Fleet #
Fleet es un motor de gestión y despliegue 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 escalabilidad, sino que también proporciona a los usuarios un alto grado de control y visibilidad para supervisar exactamente lo que hay instalado en el clúster.
Fleet puede gestionar despliegues desde Git de YAML sin procesar de Kubernetes, charts de Helm, Kustomize o cualquier combinación de los tres sistemas. Independientemente de la fuente, todos los recursos se convierten dinámicamente en charts de Helm, y Helm se utiliza como motor para desplegar todos los recursos en el clúster. Como resultado, los usuarios disfrutan de un alto grado de control, coherencia y auditabilidad de sus clústeres.
Para obtener información sobre cómo funciona Fleet, consulte Fleet Architecture (Arquitectura de Fleet).
8.1 Instalación de Fleet con Helm #
Fleet viene integrado en Rancher, pero también se puede instalar como una aplicación independiente en cualquier clúster de Kubernetes utilizando Helm.
8.2 Uso de Fleet con Rancher #
Rancher usa Fleet para desplegar aplicaciones en clústeres gestionados. La entrega continua con Fleet introduce GitOps a gran escala, un sistema diseñado para gestionar aplicaciones que se ejecutan en un gran número de clústeres.
Fleet funciona de forma óptima como parte integrante de Rancher. En los clústeres gestionados con Rancher se despliega automáticamente el agente de Fleet como parte del proceso de instalación/importación, y el clúster queda inmediatamente disponible para ser gestionado por Fleet.
8.3 Acceso a Fleet en la interfaz de usuario de Rancher #
Fleet viene preinstalado en Rancher y se gestiona con la opción Continuous Delivery (Entrega continua) en la interfaz de usuario de Rancher.
La sección Continuous Delivery (Entrega continua) incluye estos elementos:
8.3.1 Dashboard (Panel de control) #
Se trata de una vista general de todos los repositorios GitOps en todos los espacios de trabajo. Solo se muestran los espacios de trabajo con repositorios.
8.3.2 Git repos (Repositorios Git) #
Muestra una lista de repositorios GitOps del espacio de trabajo seleccionado. Seleccione el espacio de trabajo activo en la lista desplegable de la parte superior de la página.
8.3.3 Clusters (Clústeres) #
Muestra 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 (de gestión). Desde
aquí, es posible usar las acciones Pause
(Pausar) o
Force update
(Forzar la actualización) en los clústeres o
mover el clúster a otro espacio de trabajo. Editar el clúster permite
actualizar las etiquetas y anotaciones utilizadas para agrupar los
clústeres.
8.3.4 Cluster groups (Grupos de clústeres) #
Esta sección permite agrupar de forma personalizada los clústeres dentro del espacio de trabajo mediante selectores.
8.3.5 Advanced (Avanzado) #
Esta sección permite gestionar los espacios de trabajo y otros recursos relacionados con Fleet.
8.4 Ejemplo de instalación de KubeVirt con Rancher y Fleet usando el panel de control de Rancher #
Cree un repositorio Git que contenga el archivo
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
En el panel de control de Rancher, diríjase a ☰ > Continuous Delivery > Git Repos (☰ > Entrega continua > Repositorios Git) y haga clic en
Add Repository
(Añadir repositorio).El asistente para la creación de repositorios le guía a través del proceso de creación del repositorio Git. Proporcione el nombre (Name) y la URL del repositorio (Repository URL) que haga 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 rutas (Paths) para utilizar varios directorios en un solo repositorio.
Haga clic en
Next
(Siguiente).En el paso siguiente, puede definir dónde se desplegarán las cargas de trabajo. Existen varias opciones básicas para seleccionar clústeres: puede no seleccionar ningún clúster, seleccionarlos todos o elegir directamente un clúster gestionado específico o un grupo de clústeres (si se ha definido). La opción Advanced (Avanzado) permite editar directamente los selectores a través del archivo YAML.
Haga clic en
Create
(Crear). Se crea el repositorio. 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.
8.5 Depuración y solución de problemas #
La sección "Advanced" (Avanzado) ofrece una visión general de los recursos de Fleet de nivel inferior. Un bundle es un recurso interno que se utiliza para la coordinación de recursos de Git. Cuando se analiza un repositorio Git, se generan uno o varios Bundles.
Para encontrar 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
.
El bundle se aplica a un recurso BundleDeployment que se crea para cada
clúster. Para ver los detalles de BundleDeployment, haga clic en el botón
Graph
(Gráfico) situado en la parte superior derecha de
la página de detalles del repositorio Git. Se carga un gráfico de Repo > Bundles > BundleDeployments (Repositorio >
Bundles > BundleDeployments). Haga clic en BundleDeployment en el gráfico
para ver sus detalles y haga clic en Id
para ver el YAML
de BundleDeployment.
Para consejos sobre la resolución de problemas de Fleet, consulte este documento.
8.6 Ejemplos de Fleet #
El equipo de Edge mantiene un repositorio con ejemplos de instalación de proyectos de Edge con Fleet.
El proyecto de Fleet incluye un repositorio fleet-examples que cubre todos los posibles casos de uso para la estructura de repositorios de Git.