시작하기 전에
필요한 사항은 다음과 같습니다.
- Kf가 설치된 기존 클러스터
gcloud,kf,kubectl이 설치된 머신에 대한 액세스 권한
기존 Kf 설치 검사
클러스터와 상호작용하기 위해 사용자 인증 정보를 가져옵니다.
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_IDkf debug를 실행하고 Kf CLI와 Kf 서버 버전이 일치하는지 검사합니다.- CLI 버전은
Kf Client아래에 나열됩니다. - Kf 서버 버전은
kf["app.kubernetes.io/version"]아래에 나열됩니다.
$ kf debug ... Version: Kf Client: v2.0.0 Server version: v1.17.13-gke.1401 kf["app.kubernetes.io/version"]: v2.0.0 ...Kf 클라이언트 및 Kf 서버 값이 일치하지 않는 경우 서버 버전과 일치하는 Kf CLI 버전을 다운로드하고 설치한 후 새 CLI를 사용하여 다시 확인합니다. 계속하려면 CLI 버전이 서버 버전과 일치해야 합니다.
- CLI 버전은
kf doctor를 실행하여 클러스터의 상태를 확인합니다. 계속 진행하려면 모든 테스트를 통과해야 합니다.$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...Error: environment failed checks메시지가 표시되면doctor출력의 안내에 따라 문제를 해결하고 성공할 때까지 명령어를 다시 시도합니다.
업그레이드
Kf를 업그레이드하려면 다음 단계를 수행합니다.
- 로컬 환경 및 업그레이드를 준비합니다.
- Kf의 종속 항목을 업그레이드합니다.
- Kf를 업그레이드하고 업그레이드가 성공했는지 확인합니다.
업그레이드 준비
kf version을 실행하여 Kf의 현재 버전을 가져옵니다.$ kf version kf version v2.0.0 linux다운로드 페이지에서 Kf의 최신 버전을 찾아봅니다.
Kf 출시 YAML 파일을 다운로드하고
kf-release.yaml로 저장합니다.OS의 Kf 버전을 다운로드하고 이름을
kf-next로 지정합니다.chmod를 실행하여kf-next를 실행 가능하게 만듭니다.chmod +x kf-next다운로드한 버전이 설치할 Kf 버전과 일치하도록
kf-next version을 실행합니다.$ kf-next version kf version v2.1.0 linux
다음 명령어를 실행하여
config-defaultsconfigmap의 백업을 만듭니다.kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yamlkubectl diff -f kf-release.yaml을 실행하고 업그레이드가 클러스터에 적용할 변경사항을 검사합니다.원하는 변경사항을 유지하도록
kf-release.yaml을 수정합니다.예를 들어 Kf의
v2.0.0에서config-defaultsconfigmap 속성spaceDefaultToV3Stack을 false로 설정하면v2.1.0출시의 기본값은true입니다.kubectl diff -f kf-release.yaml을 다시 실행하여 변경사항이 올바른 출력을 생성하는지 확인합니다.
Kf 종속 항목 업그레이드
다운로드 페이지를 열고 업그레이드할 Kf 버전의 종속 항목 매트릭스를 찾습니다.
Tekton을 업그레이드합니다.
Tekton 출시 페이지를 엽니다.
Kf 종속 항목 매트릭스에 나열된 Tekton의 버전을 찾습니다.
'설치 한 줄 명령어' 제목 아래의 명령어를 실행하여 Tekton을 업그레이드합니다.
Cloud Service Mesh를 업그레이드합니다.
버전 드롭다운에서 Kf 종속 항목 매트릭스에 나열된 Cloud Service Mesh 버전을 선택합니다.
가이드에 따라 ASM을 업그레이드합니다.
Kf 업그레이드 및 확인
수정된 출시 구성을 사용하여 업그레이드된 Kf 구성요소를 설치합니다.
kubectl apply -f kf-release.yamldoctor를 실행하여 새로 설치된 버전이 정상인지 확인합니다.kf-next doctor --retries=12 --delay=5s이 명령어는 클러스터 확인을 여러 번 실행합니다. 새 컨트롤러가 시작되는 도중에 시도가 여러 번 실패하는 것은 정상입니다.
명령어가
Error: environment failed checks메시지와 함께 실패하는 경우doctor출력의 안내에 따라 문제를 해결하고 성공할 때까지 명령어를 다시 시도합니다.시스템의 기존
kfCLI를kf-nextCLI로 바꿉니다.chmod +x kf-nextmv kf-next $(which kf)config-defaults-backup.yaml파일을kubectl diff -f config-defaults-backup.yaml과 비교하여 클러스터가 여전히 올바르게 구성되었는지 확인합니다.예를 들어 이전 Kf 버전의 모든 변경사항을 유지하면서 다음 Kf 버전의 번들에 포함된 새 빌드팩의 사용을 승인한 경우:
$ kubectl diff -f config-defaults-backup.yaml diff -u -N /tmp/LIVE/v1.ConfigMap.kf.config-defaults /tmp/MERGED/v1.ConfigMap.kf.config-defaults --- /tmp/LIVE/v1.ConfigMap.kf.config-defaults +++ /tmp/MERGED/v1.ConfigMap.kf.config-defaults @@ -131,6 +131,8 @@ enable_route_services: false spaceBuildpacksV2: | - - name: new_buildpack - url: https://github.com/cloudfoundry/new-buildpack - name: staticfile_buildpack url: https://github.com/cloudfoundry/staticfile-buildpack - name: java_buildpack exit status 1