Despliega 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, se 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 de 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 de tiempo de ejecución.

Tiempos de espera de las notificaciones push

Kf admite la configuración de una variable de entorno para indicar a la CLI que agote el tiempo de espera al enviar aplicaciones. Si se definen, las variables KF_STARTUP_TIMEOUT o CF_STARTUP_TIMEOUT se analizan como una duración de estilo golang (por ejemplo, 15m o 1h). Si no se define ningún valor, el tiempo de espera de la inserción es de 15 minutos de forma predeterminada.