이 페이지에서는 Google Distributed Cloud (GDC) 오프라인 어플라이언스 기기를 업데이트하고 패치를 적용하는 단계를 설명합니다.
업그레이드 준비
업그레이드하기 전에 이 섹션에 나열된 요구사항을 충족하는지 확인하세요.
시작하기 전에
노트북 기본 요건을 검토하여 업데이트 및 패치 업그레이드에 사용하는 노트북이 물리적 사양 및 기타 요구사항을 충족하는지 확인합니다.
먼저 gdcloud 명령줄 인터페이스 (CLI) 도구와 관련하여 다음 작업을 완료해야 합니다.
gdcloudCLI 도구를 다운로드합니다.gdcloudCLI 도구를 설치합니다.- 필요에 따라
gdcloudCLI 도구를 업그레이드합니다. docker-credential-gdcloud이 있는지 확인합니다.
아티팩트를 업그레이드 머신으로 전송
Cloud Storage 버킷에 액세스할 수 있어야 합니다.
다음 단계에 따라 업데이트 및 패치 업그레이드에 사용하는 노트북으로 아티팩트를 전송하세요.
-
VERSION=<x.x.x-gdch.yyy> RELEASE_SUFFIX="_te" DOWNLOADER=gdch-downloader-prod${RELEASE_SUFFIX}-$VERSION.sh gcloud storage cp "gs://$GCS_BUCKET/$VERSION/$DOWNLOADER" . gcloud storage cp "gs://$GCS_BUCKET/$VERSION/${DOWNLOADER}.sig" . PUBLIC_KEY=$(cat <<-PUBEND -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn46iVSyFXsvuKLZ4dVOr2AqlXDnR 5cKztkpraexHDxn/ozq03EvrdkRmZkSACFfcaEFyitpraidgAx8sPjvzXQ== -----END PUBLIC KEY----- PUBEND ) echo "${PUBLIC_KEY}" > "key.pub" DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh gcloud storage cp "gs://${GCS_BUCKET:-private-cloud-release}/$VERSION/$DOWNLOADER*" . openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-unzip이 명령어는 업데이트 패키지와 다운로더 스크립트를 현재 디렉터리(예:
/home/download)로 가져옵니다. tree -L 3 /home/download를 실행합니다.출력 예시:
/home/download ├── gdch │ └── x.x.x-gdch.x │ ├── bootstrapper │ │ ├── bootstrapper.iso │ │ └── bootstrapper.iso.sig │ ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz │ ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz.sig │ ├── prod_te_gdch.tar.gz │ └── prod_te_gdch.tar.gz.sig ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.1.sig ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.sig └── key.pubUSB 드라이브를 사용하여 업데이트를 오프라인 환경에 복사합니다.
다운로더 스크립트와 1단계에서 USB 드라이브에 다운로드한
gdch디렉터리를 모두 에어 갭 환경의 업그레이드 머신에 복사합니다.업그레이드 머신에서 콘텐츠를 확인하고 패키지를 다운로드하는 데 사용한 동일한 정보를 사용하여 파일을 추출합니다. 예를 들어 다음 코드는 패키지를
/root디렉터리에 복사합니다.패키지를 압축 해제합니다.
VERSION=x.x.x-gdch.x PRODUCT=prod_te DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-download패키지는
/root/gdch/full-release-x.x.x-gdch.x경로에서 압축이 해제됩니다.버전이 VERSION에 설정한 버전과 일치하는지 확인합니다.
/root/gdch/full-release-x.x.x-gdch.x/gdcloud version샘플 출력:
gdcloud version: 1.14.4-gdch.0
인증
구성된 ID 공급업체로 인증하고 사용자 ID 및 클러스터의 kubeconfig 파일을 요청하려면 인증을 참고하세요.
로그인하여 kubeconfig 파일을 생성합니다.
kubeconfig 파일을 환경 변수로 설정합니다.
export KUBECONFIG=ROOT_ADMIN_KUBECONFIG export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG다음 역할을 요청합니다.
어플라이언스 관리자 업그레이드:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com시스템 아티팩트 관리 관리자:
kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system시스템 아티팩트 관리 보안 비밀 관리자:
kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-secrets-admin-initial-user --role=system-artifact-management-secrets-admin --user=keycloak-oidc-initial-user@example.com -n anthos-credsDNS 서픽스 뷰어:
kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system시스템 아티팩트 레지스트리 모니터:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com디버거 업그레이드:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com시스템 Artifact Registry 디버거:
kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-debugger-initial-user --clusterrole=sar-debugger --user=keycloak-oidc-initial-user@example.com
Docker를 구성합니다.
gdcloud auth configure-docker --config-cert=true
업그레이드 시작
다음 단계에 따라 어플라이언스 업그레이드를 시작합니다.
gdcloud appliance upgrade
자세한 내용은 gdcloud appliance upgrade를 참조하세요.
이 명령어는 다음 단계를 실행합니다.
- 업그레이드 머신에서 실행 전 검사를 실행합니다.
- OTS 저장소의 프리플라이트 검사를 실행합니다.
- 아티팩트를 아티팩트 레지스트리로 푸시합니다.
- 다음을 포함하여 어플라이언스 소프트웨어 및 펌웨어를 업그레이드합니다.
- GDC 루트 관리자 클러스터입니다.
- GDC 서비스
- 물리적 노드와 가상 노드의 운영체제 (OS)입니다.
- 스위치
- 스토리지
이 명령어는 순서대로 업데이트를 실행하고 각 단계가 완료될 때까지 기다립니다. 단계를 완료한 후 업그레이드가 성공하면 다음과 비슷한 메시지가 표시됩니다.
The GDC appliance upgrade completed successfully