Implementar uma aplicação

Quando envia uma app (através de kf push) para o Kf, existem três ciclos de vida que o Kf usa para obter o seu código fonte e permitir que processe o tráfego:

  1. Carregamento do código-fonte
  2. Compilação
  3. Execução

Carregamento de código-fonte

A primeira coisa que acontece quando kf push é que a CLI Kf (kf) compacta o seu diretório (atual ou --path/-p) num contentor e publica-o no registo de contentores configurado para o espaço. Este é o contentor de origem. Em seguida, a CLI Kf cria um tipo App no Kubernetes que contém a imagem de origem e a configuração do manifesto da app e as flags de envio.

Ignorar ficheiros durante o envio

Em muitos casos, não vai querer carregar determinados ficheiros durante a kf push (ou seja, "Ignorar"). É aqui que pode usar um ficheiro .kfignore (ou .cfignore). Semelhante a um ficheiro .gitignore, este ficheiro indica à CLI do Kf que ficheiros não incluir no contentor de código-fonte.

Para criar um ficheiro .kfignore, crie um ficheiro de texto com o nome .kfignore no diretório base da sua app (semelhante ao local onde guardaria o ficheiro de manifesto). Em seguida, preencha-o com uma lista de ficheiros e diretórios delimitados por uma nova linha que não quer publicar. Por exemplo:

bin
.idea

Isto indica à CLI Kf que não deve incluir nada nos diretórios bin ou .idea.

O Kf suporta a sintaxe no estilo gitignore.

Compilação

O ciclo de vida de compilação é processado por um TaskRun do Tekton. Com base nas flags que fornecer durante o envio, o sistema escolhe uma tarefa específica do Tekton. Atualmente, o Kf tem as seguintes tarefas do Tekton:

  • buildpackv2
  • buildpackv3
  • kaniko

O Kf acompanha cada TaskRun como uma compilação. Se uma compilação for bem-sucedida, a imagem do contentor resultante é implementada através do ciclo de vida do Run (descrito abaixo).

Pode encontrar mais informações em Build Runtime.

Execução

O ciclo de vida de execução é responsável por usar uma imagem de contentor e criar uma implementação do Kubernetes.

Também cria:

Pode encontrar mais informações em Build Runtime.