Ciclo de Vida del Paquete
Un paquete es un recurso interno utilizado para la orquestación de recursos desde git. Cuando se escanea un GitRepo, producirá uno o más paquetes.
Para demostrar el ciclo de vida de un SUSE® Rancher Prime Continuous Delivery paquete, utilizaremos multi-cluster/helm como estudio de caso.
-
El usuario creará un GitRepo que apunte al repositorio multi-cluster/helm.
-
El
gitjob-controllersincronizará los cambios del GitRepo y detectará cambios del sondeo o del evento webhook. Con cada cambio de commit, elgitjob-controllercreará un trabajo que clonará el repositorio git, leerá contenido del repositorio comofleet.yamly otros manifiestos, y creará el SUSE® Rancher Prime Continuous Delivery paquete.El pod del trabajo con el nombre de imagen
rancher/tekton-utilsestará bajo el mismo espacio de nombres que el GitRepo. -
El
fleet-controllerluego sincroniza los cambios del paquete. De acuerdo con los objetivos, elfleet-controllercreará recursosBundleDeployment, que son una combinación de un paquete y un clúster objetivo. -
El
fleet-agentluego extraerá elBundleDeploymentdel SUSE® Rancher Prime Continuous Delivery controlplane. El agente despliega manifiestos de paquetes como un gráfico de Helm desde elBundleDeploymenten los clústeres en sentido descendente. -
El
fleet-agentcontinuará monitoreando el paquete de aplicación e informará de los estados en el siguiente orden: bundledeployment > paquete > GitRepo > clúster.
Este diagrama muestra las diferentes etapas de renderizado que atraviesa un paquete hasta su despliegue.
Examinando el Ciclo de Vida del Paquete con la CLI
Varios comandos de la CLI de fleet ayudan con la depuración de paquetes.
fleet apply
Aplicar renderiza una carpeta con recursos de Kubernetes, como un gráfico de Helm, manifiestos o carpetas de kustomize, en un recurso de SUSE® Rancher Prime Continuous Delivery paquete.
git clone https://github.com/rancher/fleet-test-data cd fleet-test-data fleet apply -n fleet-local -o bundle.yaml testbundle simple-chart/
Más información sobre cómo crear paquetes con fleet apply se puede encontrar en la sección sobre paquetes.
fleet target
Objetivo lee un paquete de un archivo y trabaja con un clúster en vivo para imprimir el recurso bundledeployment y content, que crearía el fleetcontroller. Toma un espacio de nombres como argumento, por lo que puede buscar en ese espacio de nombres recursos de clúster, por ejemplo. También puede volcar la estructura de datos que se utiliza durante "la fijación de objetivos", para que se puedan verificar las decisiones tomadas respecto a las etiquetas y nombres de clúster.
fleet deploy
Desplegar toma la salida de fleet target, o un recurso de bundledeployment/contenido volcado y lo despliega en un clúster, tal como lo haría el fleet-agent. Soporta un modo de prueba en seco, para imprimir los recursos que se crearían, en lugar de instalarlos con Helm. Dado que el comando no crea los recursos de entrada, un Fleet agent en funcionamiento probablemente eliminaría la ampliación.
El comando deploy se puede utilizar para llevar paquetes a clústeres en entorno aislado.
CLI de ciclo de vida
Los comandos de la CLI de Fleet te ayudan a depurar y entender el ciclo de vida del paquete. El siguiente ejemplo utiliza el ciclo de vida completo del paquete usando CLI:
git clone https://github.com/rancher/fleet-test-data
cd fleet-test-data
fleet apply -n fleet-local -o bundle.yaml testbundle simple-chart/
fleet target --bundle-file bundle.yaml --list-inputs > bd.yaml
fleet deploy --input-file bd.yaml --dry-run
Para información sobre aplicar, consulta Crear un recurso de paquete.