Implementar una aplicación

Cuando se envía una app (a través de kf push) a Kf, hay tres ciclos de vida que Kf usa para tomar el código fuente y permitirle controlar tráfico:

  1. Carga del código fuente
  2. Compilación
  3. Ejecución

Carga del código fuente

Lo primero que sucede cuando aplicas kf push es que la CLI de Kf (kf) empaqueta tu directorio (ya sea actual o --path/-p) en un contenedor y lo publica en Container Registry, que está configurado para el espacio. Esto se denomina contenedor de origen. Luego, la CLI de Kf crea un tipo App en Kubernetes que contiene la imagen de origen y la configuración del manifiesto de la app y las marcas de push.

Ignora archivos durante el envío

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

Para crear un archivo .kfignore, crea un archivo de texto llamado .kfignore en el directorio base de tu aplicación (similar al lugar en que almacenarías el archivo de manifiesto). Luego, propágalo con una lista de archivos y directorios que no deseas publicar delimitada por saltos de línea. Por ejemplo:

bin
.idea

Esto le indicará a la CLI de Kf que no incluya nada en los directorios bin o .idea.

Kf admite la sintaxis de estilo gitignore.

Compilación

El ciclo de vida de la compilación se controla mediante un TaskRun de Tekton. Según las marcas que proporciones durante el envío, se elegirá una Task específica de Tekton. Kf actualmente tiene las siguientes Tasks de Tekton:

  • buildpackv2
  • buildpackv3
  • kaniko

Kf realiza un seguimiento de cada TaskRun como una compilación. Si una compilación tiene éxito, la imagen del contenedor resultante se implementa mediante el ciclo de vida de la ejecución (que se describe a continuación).

Puedes obtener más información en Entorno de ejecución de compilación.

Ejecución

El ciclo de vida de ejecución es responsable de tomar una imagen de contenedor y de crear un Deployment de Kubernetes.

También crea lo siguiente:

Puedes obtener más información en Entorno de ejecución de compilación.

Tiempos de espera de envío

Kf admite la configuración de una variable de entorno para indicar a la CLI el tiempo de espera mientras se envían apps. Si se configuran, las variables KF_STARTUP_TIMEOUT o CF_STARTUP_TIMEOUT se analizan como una duración de estilo golang (por ejemplo, 15m y 1h). Si no se configura un valor, el tiempo de espera de envío se establecerá en 15 minutos de forma predeterminada.