애플리케이션 배포

kf push를 통해 앱을 Kf로 푸시하는 경우 Kf가 소스 코드를 가져온 후 이를 이용한 트래픽 처리를 허용하는 데 사용되는 3가지의 수명 주기가 있습니다.

  1. 소스 코드 업로드
  2. 빌드
  3. 실행

소스 코드 업로드

kf push가 발생하면 Kf CLI(kf)는 가장 먼저 디렉터리(현재 또는 --path/-p)를 컨테이너로 패키징하여 Space에 구성된 컨테이너 레지스트리에 게시합니다. 이를 소스 컨테이너라고 합니다. 그런 다음 Kf CLI는 앱 매니페스트와 푸시 플래그의 소스 이미지 및 구성을 둘 다 포함하는 Kubernetes에 App 유형을 만듭니다.

푸시 중 파일 무시

대부분의 경우 kf push 중에 특정 파일을 업로드하지 않는 것이 좋습니다(예 : 이를 '무시'함). 이 경우에 .kfignore 또는 .cfignore 파일을 사용할 수 있습니다. .gitignore 파일과 마찬가지로 이 파일은 소스 코드 컨테이너에 포함하지 않을 파일을 Kf CLI에 지시합니다.

.kfignore 파일을 만들려면 앱의 기본 디렉터리(매니페스트 파일을 저장할 위치와 유사함)에 .kfignore라는 텍스트 파일을 만듭니다. 그런 다음 줄바꿈으로 구분된, 게시하고 싶지 않은 파일 및 디렉토리의 목록으로 채웁니다. 예:

bin
.idea

이렇게 하면 Kf CLI에서는 bin 또는 .idea 디렉터리에 아무것도 포함하지 않습니다.

Kf는 gitignore 스타일의 구문을 지원합니다.

빌드

빌드 수명 주기는 Tekton TaskRun에 의해 처리됩니다. 푸시하는 동안 제공하는 플래그에 따라 특정 Tekton 태스크가 선택됩니다. Kf에는 현재 다음과 같은 Tekton 태스크가 있습니다.

  • buildpackv2
  • buildpackv3
  • kaniko

Kf는 각 TaskRun을 빌드로 추적합니다. 빌드가 성공하면 결과 컨테이너 이미지가 실행 수명 주기(아래 설명 참조)를 통해 배포됩니다.

자세한 내용은 빌드 런타임을 참조하세요.

실행

실행 수명 주기는 컨테이너 이미지를 가져와서 Kubernetes 배포를 만드는 역할을 합니다.

또한 다음 항목도 만듭니다.

자세한 내용은 빌드 런타임을 참조하세요.

푸시 제한 시간

kf는 앱 푸시 중에 CLI가 타임아웃 하도록 지시하는 환경 변수 설정을 지원합니다. 이 변수를 설정하면 KF_STARTUP_TIMEOUT 또는 CF_STARTUP_TIMEOUT 변수가 Golang 스타일 기간(예를 들면 15m, 1h)으로 파싱됩니다. 값이 설정되지 않은 경우 푸시 시간 제한은 기본적으로 15분입니다.