시작하기 전에
필요한 사항은 다음과 같습니다.
- Kf가 설치된 기존 클러스터
gcloud
,kf
,kubectl
이 설치된 머신에 대한 액세스 권한
기존 Kf 설치 검사
클러스터와 상호작용하기 위해 사용자 인증 정보를 가져옵니다.
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_ID
kf 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-defaults
configmap의 백업을 만듭니다.kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yaml
kubectl diff -f kf-release.yaml
을 실행하고 업그레이드가 클러스터에 적용할 변경사항을 검사합니다.원하는 변경사항을 유지하도록
kf-release.yaml
을 수정합니다.예를 들어 Kf의
v2.0.0
에서config-defaults
configmap 속성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.yaml
doctor
를 실행하여 새로 설치된 버전이 정상인지 확인합니다.kf-next doctor --retries=12 --delay=5s
이 명령어는 클러스터 확인을 여러 번 실행합니다. 새 컨트롤러가 시작되는 도중에 시도가 여러 번 실패하는 것은 정상입니다.
명령어가
Error: environment failed checks
메시지와 함께 실패하는 경우doctor
출력의 안내에 따라 문제를 해결하고 성공할 때까지 명령어를 다시 시도합니다.시스템의 기존
kf
CLI를kf-next
CLI로 바꿉니다.chmod +x kf-next
mv 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