Google Cloud에서 Kf 업그레이드

이 문서에서는 기존 Kf 설치 및 종속 항목을 업그레이드하는 방법을 설명합니다.

업그레이드 절차의 일부로 Kf 설치에서 최신 버전의 Kf 연산자를 사용하는지 확인합니다.

  • 현재 Kf 버전을 Kf v2.7.3으로 업그레이드할 수 있는지 확인합니다.
  • Kf v2.7.3으로 업그레이드합니다.
  • 종속 항목을 업그레이드합니다(필요한 경우).

시작하기 전에

필요한 사항은 다음과 같습니다.

  • Kf가 설치된 기존 클러스터
  • gcloud, kf, kubectl이 설치된 머신에 대한 액세스 권한

업그레이드 준비

대상 클러스터에 연결

gcloud container clusters get-credentials CLUSTER_NAME \
 --zone CLUSTER_ZONE \
 --project CLUSTER_PROJECT_ID

현재 Kf CLI와 서버 버전이 일치하는지 확인

kf debug를 실행하고 Kf CLI와 Kf 서버 버전이 일치하는지 검사합니다.

  • CLI 버전은 Kf Client 아래에 나열됩니다.
  • Kf 서버 버전은 kf["app.kubernetes.io/version"] 아래에 나열됩니다.
$ kf debug
...
Version:
  Kf Client:                        v2.6.1
  Server version:                   v1.21.3-gke.2001
  kf["app.kubernetes.io/version"]:  v2.6.1
...

Kf 클라이언트와 Kf 서버 값이 일치하지 않지만 서버 버전이 v2.6.x이면 Kf v2.7.3 CLI를 설치한 후 계속합니다.

Kf 서버 값이 v2.6.x 이전이면 먼저 Kf v2.6.x로 점진적으로 업그레이드한 후 계속해야 합니다.

업그레이드하기 전에 Kf가 정상인지 확인

kf doctor를 실행하여 클러스터의 상태를 확인합니다. 계속 진행하려면 모든 테스트를 통과해야 합니다.

$ kf doctor
...
=== RUN doctor/user
=== RUN doctor/user/ContainerRegistry
--- PASS: doctor/user
   --- PASS: doctor/user/ContainerRegistry
...

FAIL 또는 Error: environment failed checks 메시지가 표시되면 kf doctor 출력의 안내를 따르거나 문제 해결 가이드를 참조하여 문제를 해결하고 성공할 때까지 명령어를 재시도합니다.

연산자 업그레이드

Kf 연산자는 자동으로 업그레이드를 수행합니다.

  1. 연산자 yaml을 적용합니다.

    kubectl apply -f "https://storage.googleapis.com/kf-releases/v2.7.3/operator.yaml"

Kf 종속 항목 업그레이드

  1. Tekton을 업그레이드합니다.

    kubectl apply -f "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.29.0/release.yaml"

  2. Cloud Service Mesh v1.12로 업그레이드합니다.

    1. Cloud Service Mesh 업그레이드 가이드의 단계를 따릅니다.
  1. Config Connector를 업그레이드합니다.

    1. 필수 Config Connector 연산자 tar 파일을 다운로드합니다.

    2. tar 파일의 압축을 풉니다.

      tar zxvf release-bundle.tar.gz
    3. 클러스터에 Config Connector 연산자를 설치합니다.

      kubectl apply -f operator-system/configconnector-operator.yaml

Kf v2.7.3 CLI로 업그레이드

  1. CLI를 설치합니다.

    Linux

    이 명령어는 시스템의 모든 사용자에 대해 Kf CLI를 설치합니다. Cloud Shell 탭의 안내에 따라 직접 설치합니다.

    gcloud storage cp gs://kf-releases/v2.7.3/kf-linux /tmp/kf
    chmod a+x /tmp/kf
    sudo mv /tmp/kf /usr/local/bin/kf

    Mac

    이 명령어는 시스템의 모든 사용자에 대해 kf를 설치합니다.

    gcloud storage cp gs://kf-releases/v2.7.3/kf-darwin /tmp/kf
    chmod a+x /tmp/kf
    sudo mv /tmp/kf /usr/local/bin/kf

    Cloud Shell

    이 명령어는 bash를 사용하는 경우 Cloud Shell 인스턴스에 kf를 설치합니다. 다른 셸의 경우 지침을 수정해야 할 수 있습니다.

    mkdir -p ~/bin
    gcloud storage cp gs://kf-releases/v2.7.3/kf-linux ~/bin/kf
    chmod a+x ~/bin/kf
    echo "export PATH=$HOME/bin:$PATH" >> ~/.bashrc
    source ~/.bashrc

    Windows

    kf를 현재 디렉터리에 다운로드합니다. 현재 디렉터리 이외의 다른 곳에서 호출하려는 경우 경로에 추가합니다.

    gcloud storage cp gs://kf-releases/v2.7.3/kf-windows.exe kf.exe
  2. Kf CLI 및 Kf 서버 버전이 일치하는지 확인합니다.

    • CLI 버전은 Kf Client 아래에 나열됩니다.
    • Kf 서버 버전은 kf["app.kubernetes.io/version"] 아래에 나열됩니다.
    $ kf debug
    ...
    Version:
      Kf Client:                        v2.7.3
      Server version:                   v1.21.3-gke.2001
      kf["app.kubernetes.io/version"]:  v2.7.3
    ...
    

Kf가 성공적으로 업그레이드되었는지 확인

  1. doctor를 실행하여 새로 설치된 버전이 정상인지 확인합니다.

    kf doctor --retries=20

    이 명령어는 클러스터 확인을 여러 번 실행합니다. 새 컨트롤러가 시작되는 도중에 시도가 여러 번 실패하는 것은 정상입니다.

    명령어가 Error: environment failed checks 메시지와 함께 실패하는 경우 doctor 출력의 안내에 따라 문제를 해결하고 성공할 때까지 명령어를 다시 시도합니다.

확인 단계가 통과되면 클러스터가 성공적으로 업그레이드된 것입니다. 문제가 있으면 지원 페이지에서 안내를 검토하세요.