Desplegar una aplicación

Cuando se envía una aplicación (mediante kf push) a Kf, hay tres ciclos de vida que Kf usa para tomar tu código fuente y permitirle gestionar el tráfico:

  1. Subida de código fuente
  2. Compilación
  3. Ejecutar

Subida de código fuente

Lo primero que ocurre cuando ejecutas kf push es que la CLI de Kf (kf) empaqueta tu directorio (el actual o --path/-p) en un contenedor y lo publica en el registro de contenedores configurado para el espacio. Este es el contenedor de origen. A continuación, la CLI de Kf crea un tipo App en Kubernetes que contiene tanto la imagen de origen como la configuración del manifiesto de la aplicación y las marcas de envío.

Ignorar archivos durante el envío

En muchos casos, no querrá subir determinados archivos durante la kf push (por ejemplo, "ignóralos"). Aquí es donde se puede usar un archivo .kfignore (o .cfignore). Al igual que un archivo .gitignore, este archivo indica a la CLI de Kf qué archivos no se deben incluir en el contenedor de código fuente.

Para crear un archivo .kfignore, crea un archivo de texto llamado .kfignore en el directorio base de tu aplicación (de forma similar a donde almacenarías el archivo de manifiesto). A continuación, rellénelo con una lista de archivos y directorios delimitada por saltos de línea que no quiera publicar. Por ejemplo:

bin
.idea

De esta forma, se le indica a la CLI de Kf que no incluya nada en los directorios bin ni .idea.

Kf admite la sintaxis de estilo gitignore.

Compilación

El ciclo de vida de la compilación se gestiona mediante un TaskRun de Tekton. En función de las marcas que proporciones al enviar, elegirá una tarea de Tekton específica. Kf tiene las siguientes tareas de Tekton:

  • buildpackv2
  • buildpackv3
  • kaniko

Kf monitoriza cada TaskRun como una compilación. Si una compilación se realiza correctamente, la imagen de contenedor resultante se despliega mediante el ciclo de vida de Run (descrito más abajo).

Puedes consultar más información en Compilación del tiempo de ejecución.

Ejecutar

El ciclo de vida de Run se encarga de tomar una imagen de contenedor y crear un despliegue de Kubernetes.

También crea lo siguiente:

Puedes consultar más información en Compilación del tiempo de ejecución.