์ด ๋ฌธ์์์๋ VMware์ฉ Google Distributed Cloud(์ํํธ์จ์ด ์ ์ฉ)์์ ํด๋ฌ์คํฐ์ ๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ด ๋ฌธ์์์๋ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ , ์ฌ์ฉ์ ํด๋ฌ์คํฐ, ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๋จ๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค. ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ๊ฒฝ์ฐ ์ด ๋ฌธ์์์๋ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ๋ ธ๋ ํ์ ๋์์ ๋๋ ๋ณ๋๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๋จ๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค.
์ด ํ์ด์ง๋ ๊ธฐ๋ณธ ๊ธฐ์ ์ธํ๋ผ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ IT ๊ด๋ฆฌ์ ๋ฐ ์ด์์๋ฅผ ์ํด ์์ฑ๋์์ต๋๋ค. Google Cloud ์ฝํ ์ธ ์์ ์ฐธ์กฐํ๋ ์ผ๋ฐ ์ญํ ๊ณผ ์์ ํ์คํฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ผ๋ฐ GKE Enterprise ์ฌ์ฉ์ ์ญํ ๋ฐ ํ์คํฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์งํํ๊ธฐ ์ ์ ๋ค์ ๋ฌธ์๋ฅผ ๊ฒํ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ ๊ฐ์
์ด ๋ฌธ์์์๋ ์ง์๋๋ ๋ฒ์ ์ฐจ์ด์ ํนํ ๋ฒ์ 1.28 ์ด์์์ ๋ณ๊ฒฝ๋ ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ๊ท์น์ ๋ํด ์ค๋ช ํฉ๋๋ค.์ ๊ทธ๋ ์ด๋ ๊ถ์ฅ์ฌํญ
์ด ๋ฌธ์์์๋ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํ ์ฒดํฌ๋ฆฌ์คํธ์ ๊ถ์ฅ์ฌํญ์ ์ ๊ณตํฉ๋๋ค.
๋ฐฉํ๋ฒฝ ๊ท์น ๊ฒํ
๋ฒ์ 1.29 ์ด์์์๋ ์๋ฒ ์ธก ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ์ค์ ๋ฉ๋๋ค. ์๋ฒ ์ธก ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ์๋ ์ถ๊ฐ ๋ฐฉํ๋ฒฝ ๊ท์น์ด ํ์ํฉ๋๋ค. ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ฐฉํ๋ฒฝ ๊ท์น์์ 'ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ'๋ฅผ ๊ฒ์ํ๊ณ ํ์ํ ๋ชจ๋ ๋ฐฉํ๋ฒฝ ๊ท์น์ด ๊ตฌ์ฑ๋์๋์ง ํ์ธํฉ๋๋ค.
์๋ฒ ์ธก ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๋ฅผ ์ฌ์ฉํ๋ฉด gkectl
์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ ๋ ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์์ ๋ก์ปฌ๋ก ์คํ๋๋ ๋์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์์ ์คํ๋ฉ๋๋ค. Google Cloud ์ฝ์, Google Cloud CLI, Terraform์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ ๋ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์์ ์๋ฒ ์ธก ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ์คํ๋ฉ๋๋ค.
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ฉด Google Distributed Cloud๋ Docker์ Kubernetes(์ข ๋ฅ) ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ์ฌ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐ ํ์ํ Kubernetes ์ปจํธ๋กค๋ฌ๋ฅผ ์ผ์์ ์ผ๋ก ํธ์คํ ํฉ๋๋ค. ์ด๋ฌํ ์์ ํด๋ฌ์คํฐ๋ฅผ ๋ถํธ์คํธ๋ฉ ํด๋ฌ์คํฐ๋ผ๊ณ ํฉ๋๋ค. ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ๋ ์๋ฒ ์ธก ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ๋ถํธ์คํธ๋ฉ ํด๋ฌ์คํฐ์์ ์คํ๋ฉ๋๋ค.
Google API ๋ฐ IAM ์๊ตฌ์ฌํญ
ํด๋ฌ์คํฐ๋ฅผ ๋ฒ์ 1.28 ์ด์์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ค๋ฉด kubernetesmetadata.googleapis.com
์ ์ฌ์ฉ ์ค์ ํ๊ณ ๋ก๊น
-๋ชจ๋ํฐ๋ง ์๋น์ค ๊ณ์ ์ kubernetesmetadata.publisher
IAM ์ญํ ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค. Cloud Monitoring์ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ด ํ์ํฉ๋๋ค.
kubernetesmetadata.googleapis.com
์ฌ์ฉ ์ค์ :gcloud services enable --project PROJECT_ID \ kubernetesmetadata.googleapis.com
PROJECT_ID
๋ฅผ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๊ฐ ๊ตฌ์ฑ์์ธ Fleet ํธ์คํธ ํ๋ก์ ํธ์ ID๋ก ๋ฐ๊ฟ๋๋ค. ์ด ํ๋ก์ ํธ๋ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ ์ง์ ๋ ํ๋ก์ ํธ์ ๋๋ค.gkectl
์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค์์ผ๋ฉด ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์์gkeConnect.projectID
ํ๋์ ํ๋ก์ ํธ ID์ ๋๋ค.์กฐ์ง์์ Google API ๋ฐ ๊ธฐํ ์ฃผ์์ ํธ๋ํฝ์ด ํ๋ก์ ์๋ฒ๋ฅผ ํต๊ณผํ๋๋ก ํ์ฉํ๋ ํ์ฉ ๋ชฉ๋ก์ด ์ค์ ๋ ๊ฒฝ์ฐ ํ์ฉ ๋ชฉ๋ก์
kubernetesmetadata.googleapis.com
์ ์ถ๊ฐํฉ๋๋ค.๋ก๊น -๋ชจ๋ํฐ๋ง ์๋น์ค ๊ณ์ ์
kubernetesmetadata.publisher
์ญํ ์ ๋ถ์ฌํฉ๋๋ค.gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/kubernetesmetadata.publisher"
SERVICE_ACCOUNT_EMAIL์ ๋ก๊น -๋ชจ๋ํฐ๋ง ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์๋ก ๋ฐ๊ฟ๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํ IAM ์๊ตฌ์ฌํญ
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์
๊ทธ๋ ์ด๋์ gkectl
์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์ด ์น์
์ ๊ฑด๋๋๋๋ค.
Google Cloud ์ฝ์, Google Cloud CLI ๋๋ Terraform์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ค๋ ๊ฒฝ์ฐ ํ๋ก์ ํธ ์์ ์๊ฐ ์๋๋ผ๋ฉด ํด๋ฌ์คํฐ๊ฐ ์์ฑ๋ Google Cloud ํ๋ก์ ํธ์ ๋ํ Identity and Access Management ์ญํ roles/gkeonprem.admin
์ ๋ถ์ฌ๋ฐ์์ผ ํฉ๋๋ค. ์ด ์ญํ ์ ํฌํจ๋ ๊ถํ์ ๋ํ ์์ธํ ๋ด์ฉ์ IAM ๋ฌธ์์ GKE On-Prem ์ญํ ์ ์ฐธ์กฐํ์ธ์.
์ฝ์์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ต์ํ ๋ค์ ์ญํ ๋ ์์ด์ผ ํฉ๋๋ค.
roles/container.viewer
. ์ด ์ญํ ์ ํตํด ์ฌ์ฉ์๋ ์ฝ์์์ GKE ํด๋ฌ์คํฐ ํ์ด์ง์ ๊ธฐํ ์ปจํ ์ด๋ ๋ฆฌ์์ค๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ด ์ญํ ์ ํฌํจ๋ ๊ถํ์ ๋ํ ์์ธํ ๋ด์ฉ์ด๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ญํ ์ ๋ถ์ฌํ๋ ค๋ฉด IAM ๋ฌธ์์ Kubernetes Engine ์ญํ ์ ์ฐธ์กฐํ์ธ์.roles/gkehub.viewer
. ์ด ์ญํ ์ ์ฌ์ฉ์๊ฐ ์ฝ์์์ ํด๋ฌ์คํฐ๋ฅผ ๋ณผ ์ ์๊ฒ ํด์ค๋๋ค. ์ด ์ญํ ์ ํฌํจ๋ ๊ถํ์ ๋ํ ์์ธํ ๋ด์ฉ์ด๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ญํ ์ ๋ถ์ฌํ๋ ค๋ฉด IAM ๋ฌธ์์ GKE ํ๋ธ ์ญํ ์ ์ฐธ์กฐํ์ธ์.
์ ๊ทธ๋ ์ด๋ ์ ๋๋ ํ์ ๊ตฌ์ฑ ๋ณ๊ฒฝํ๊ธฐ
ํด๋ฌ์คํฐ์ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ๊ทธ๋ ์ด๋ ์ ์ด๋ ํ์ ํด๋ฌ์คํฐ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ์ธ์. ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ ์ ์ผํ ๋ณ๊ฒฝ์ฌํญ์ ๋ฒ์ ์ด์ด์ผ ํฉ๋๋ค. ํด๋ฌ์คํฐ ๋ฒ์ ๋ฐ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ตฌ์ฑ ๋ณ๊ฒฝ์ฌํญ์ ์๋์ผ๋ก ๋ฌด์๋๊ฑฐ๋ ์ ๊ทธ๋ ์ด๋๊ฐ ์คํจํ๊ฒ ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ๊ทธ๋ ์ด๋๊ฐ ์ฐจ๋จ ํด์ ๋๋๋ก ์ง์๋์ง ์๋ ๋ณ๊ฒฝ์ฌํญ ์ญ์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ๊ทธ๋ ์ด๋
gkectl
์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ์
๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค.
์ฝ์, gcloud CLI ๋๋ Terraform์ ์ฌ์ฉํด ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ค๋ ๊ฒฝ์ฐ ์ง๊ธ์ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์
๊ทธ๋ ์ด๋๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค. ํ์ง๋ง gkectl
๋ง ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์
๊ทธ๋ ์ด๋๋ฅผ ์ง์ํ๋ฏ๋ก ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ ์ค๋น๊ฐ ๋๋ฉด ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ์
๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค.
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐฉ๋ฒ์ ๋ง๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค(gkeadm ๋๋ user-managed).
gkeadm
ํ์ ํ์ผ ์ฐพ๊ธฐ
๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ๋ง๋ค๊ธฐ ์ ์ gkeadm create config
์์ ์์ฑํ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
๊ตฌ์ฑ ํ์ผ์ ์ฑ์ ์ต๋๋ค. ์ด ํ์ผ์ ๊ธฐ๋ณธ ์ด๋ฆ์ admin-ws-config.yaml
์
๋๋ค.
๋ํ ์ํฌ์คํ ์ด์ ์๋ ์ ๋ณด ํ์ผ์ด ์์ต๋๋ค. ์ด ํ์ผ์ ๊ธฐ๋ณธ ์ด๋ฆ์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ด๋ฆ๊ณผ ๋์ผํฉ๋๋ค.
๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
๊ตฌ์ฑ ํ์ผ๊ณผ ์ ๋ณด ํ์ผ์ ์ฐพ์ต๋๋ค. ์
๊ทธ๋ ์ด๋ ๋จ๊ณ๋ฅผ ์ํํ๋ ๋ฐ ํ์ํฉ๋๋ค. ์ด๋ฌํ ํ์ผ์ด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์๊ณ ์ด๋ฆ์ด ๋ชจ๋ ๊ธฐ๋ณธ๊ฐ์ด๋ฉด ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ด๋ฅผ ์คํํ ๋ ์ด๋ฅผ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ํ์ผ์ด ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ์ ์๊ฑฐ๋ ํ์ผ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋ --config
๋ฐ --info-file
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค.
์ถ๋ ฅ ์ ๋ณด ํ์ผ์ด ์์ผ๋ฉด ๋ค์ ๋ง๋ค ์ ์์ต๋๋ค. ๋๋ฝ๋ ๊ฒฝ์ฐ ์ ๋ณด ํ์ผ ๋ค์ ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ๊ทธ๋ ์ด๋
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
gkeadm
๋ค์ด๋ก๋:gkeadm upgrade gkeadm --target-version TARGET_VERSION
TARGET_VERSION์ ์ ๊ทธ๋ ์ด๋ ๋์ ๋ฒ์ ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
X.Y.Z-gke.N.
ํ์์ผ๋ก ์์ ํ ๋ฒ์ ๋ฒํธ๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค. Google Distributed Cloud ๋ฒ์ ๋ชฉ๋ก์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ๊ทธ๋ ์ด๋:
gkeadm upgrade admin-workstation --config AW_CONFIG_FILE \ --info-file INFO_FILE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
AW_CONFIG_FILE
๋ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ๊ตฌ์ฑ ํ์ผ์ ๊ฒฝ๋ก์ ๋๋ค. ํ์ผ์ด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์๊ณ ์ด๋ฆ์ดadmin-ws-config.yaml
์ด๋ฉด ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ ์ ์์ต๋๋ค.INFO_FILE
์ ์ ๋ณด ํ์ผ์ ๊ฒฝ๋ก์ ๋๋ค. ํ์ผ์ด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์์ผ๋ฉด ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ ์ ์์ต๋๋ค. ์ด ํ์ผ์ ๊ธฐ๋ณธ ์ด๋ฆ์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ด๋ฆ๊ณผ ๋์ผํฉ๋๋ค.
์ฌ์ฉ์ ๊ด๋ฆฌ
๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์์ gkectl
์ ์ ๋ฒ์ ์ ์ค์นํ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
gkectl
๋ค์ด๋ก๋:
gcloud storage cp gs://gke-on-prem-release/gkectl/VERSION/gkectl ./ chmod +x gkectl
VERSION์ ์
๊ทธ๋ ์ด๋ ๋์ ๋ฒ์ ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์๋ฅผ ๋ค๋ฉด 1.30.100-gke.96
์
๋๋ค.
Google Distributed Cloud ๋ฒ๋ค์ ๋ค์ด๋ก๋ํฉ๋๋ค. ๋ฒ์ ์ด gkectl
์ ๋ค์ด๋ก๋ํ๋ ๋ฐ ์ฌ์ฉํ ๋ฒ์ ๊ณผ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค.
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/VERSION/gke-onprem-vsphere-VERSION.tgz ./
ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฒ์ ํ์ธ
๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๋ฒ์ ์ ํ์ธํฉ๋๋ค.
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG
์ถ๋ ฅ์ ํ์ฌ ๋ฒ์ ๊ณผ ์ ๊ทธ๋ ์ด๋์ ์ฌ์ฉํ ์ ์๋ ๋ฒ์ ์ด ํ์๋ฉ๋๋ค.
์
๊ทธ๋ ์ด๋์ ์ฝ์, gcloud CLI ๋๋ Terraform์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ชจ๋ Google Cloud ๋ฆฌ์ ์ GKE On-Prem API์์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๊ธฐ๊น์ง ๋ฒ์ ์ถ์ ํ ์ฝ 7~10์ผ์ด ๊ฑธ๋ฆฝ๋๋ค.
์ฝ์์๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ์
๊ทธ๋ ์ด๋์ ์ฌ์ฉํ ์ ์๋ ๋ฒ์ ๋ง ๋์ด๋ฉ๋๋ค. gcloud CLI ๋๋ Terraform์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ๋จ๊ณ์๋ ์
๊ทธ๋ ์ด๋์ ์ฌ์ฉํ ์ ์๋ ๋ฒ์ ์ ๊ฐ์ ธ์ค๊ธฐ ์ํด gcloud container vmware clusters query-version-config
๋ฅผ ์คํํ๋ ๋จ๊ณ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋
gkectl
, ์ฝ์, gcloud CLI ๋๋ Terraform์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค. ์ฌ์ฉํ ๋๊ตฌ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ ๋๊ตฌ ์ ํ์ ์ฐธ์กฐํ์ธ์.
gkectl
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋ ์ค๋น
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์์ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
gkectl prepare
๋ฅผ ์คํํ์ฌ OS ์ด๋ฏธ์ง๋ฅผ vSphere๋ก ๊ฐ์ ธ์ต๋๋ค.gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
ํด๋ฌ์คํฐ์ Windows ๋ ธ๋ ํ์ด ์์ผ๋ฉด
gkectl prepare windows
๋ฅผ ์คํํ๊ณ ๋ ธ๋ ํ์osImage
ํ๋๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. ์์ธํ ์๋ด๋ Windows ๋ ธ๋ ํ์ด ์๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.์ฌ์ฉ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์์
gkeOnPremVersion
์ ์ ๊ทธ๋ ์ด๋ ๋์ ๋ฒ์ ์ผ๋ก ์ค์ ํฉ๋๋ค.Ubuntu ๋ฐ COS ๋ ธ๋ ํ๋ง ํด๋น: ์ ๊ทธ๋ ์ด๋ํ ๋ ธ๋ ํ์ ์ง์ ํฉ๋๋ค. Ubuntu ๋ฐ COS ๋ ธ๋ ํ์ ๊ฒฝ์ฐ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ๋ณ๋๋ก ๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํ ์ ์์ง๋ง Windows ๋ ธ๋ ํ์์๋ ์ด๋ฌํ ์ ๊ทธ๋ ์ด๋๊ฐ ์ง์๋์ง ์์ต๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ทธ๋ ์ด๋ํ ๋ ธ๋ ํ์ ํ์ํฉ๋๋ค.
์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๊ฐ ๋ ธ๋ ํ์ ๋ํด
nodePools.nodePool[i].gkeOnPremVersion
ํ๋๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋น ๋ฌธ์์ด๋ก ์ค์ ํฉ๋๋ค.์ ๊ทธ๋ ์ด๋ํ์ง ์์ ๊ฐ ๋ ธ๋ ํ์ ๋ํด
nodePools.nodePool[i].gkeOnPremVersion
์ ํ์ฌ ๋ฒ์ ์ผ๋ก ์ค์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๋ฒ์ ์ด 1.15.5-gke.41์ด๊ณ ๋ ธ๋ ํ์ด ๋ ๊ฐ(
pool-1
๋ฐpool-2
) ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ํ ์ปจํธ๋กค ํ๋ ์ธ๊ณผpool-1
์ 1.16.3-gke.45๋ก ์ ๊ทธ๋ ์ด๋ํ๋pool-2
๋ฅผ ๋ฒ์ 1.15.5-gke.41๋ก ์ ์งํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์ ๋ค์ ๋ถ๋ถ์์ ์ด ์์๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.gkeOnPremVersion: 1.16.3-gke.45 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: 1.15.5-gke.41 cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ ์คํ
๋ฒ์ 1.29 ์ด์์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG \ --dry-run
--dry-run
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด gkectl upgrade cluster
๊ฐ ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๋ฅผ ์คํํ์ง๋ง ์
๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ์ง๋ ์์ต๋๋ค. ์ด์ ๋ฒ์ ์ Google Distributed Cloud๋ ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๋ฅผ ์คํํ์ง๋ง ์
๊ทธ๋ ์ด๋์ ๋ณ๋๋ก ์คํํ ์๋ ์์ต๋๋ค. --dry-run
ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ฉด ์
๊ทธ๋ ์ด๋ ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์์ ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ๋ฐ๊ฒฌํ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ์ฐพ๊ณ ํด๊ฒฐํ ์ ์์ต๋๋ค.
gkectl upgrade cluster
์คํ
gkectl upgrade cluster
๋ช
๋ น์ด์๋ ๋ ๊ฐ์ง ๋ณํ์ด ์์ต๋๋ค.
๋น๋๊ธฐ: (๊ถ์ฅ)
๋น๋๊ธฐ ๋ณํ์ ์ฌ์ฉํ๋ฉด ๋ช ๋ น์ด๊ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์์ํ ํ ์๋ฃํฉ๋๋ค. ์ ๊ทธ๋ ์ด๋ ์ ์ฒด ๊ธฐ๊ฐ ๋์ ๋ช ๋ น์ด์ ์ถ๋ ฅ์ ํ์ธํ ํ์๊ฐ ์์ต๋๋ค. ๋์gkectl list clusters
๋ฐgkectl describe clusters
๋ฅผ ์คํํ์ฌ ์ ๊ทธ๋ ์ด๋ ์งํ ์ํฉ์ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค. ๋น๋๊ธฐ ๋ณํ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ช ๋ น์ด์--async
ํ๋๊ทธ๋ฅผ ํฌํจํฉ๋๋ค.๋๊ธฐ:
๋๊ธฐ ๋ณํ์ ์ฌ์ฉํ๋ฉดgkectl upgrade cluster
๋ช ๋ น์ด์์ ์ ๊ทธ๋ ์ด๋๊ฐ ์งํ๋๋ ๋์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ํ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋
1.16 ์ด์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ค๋น๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ฐ ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๊ฐ ์ค๋น๋์๋์ง ํ์ธํฉ๋๋ค. ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค๋นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ๋ํด ์ค๋น๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์์ ๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์์ํฉ๋๋ค.
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG \ --async
์์ ๋ช ๋ น์ด๊ฐ ์๋ฃ๋๊ณ ์ ๊ทธ๋ ์ด๋๊ฐ ์งํ๋๋ ๋์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
gkectl list clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG
์ถ๋ ฅ์ ํด๋ฌ์คํฐ
STATE
๊ฐ์ด ํ์๋ฉ๋๋ค. ํด๋ฌ์คํฐ๊ฐ ์ ๊ทธ๋ ์ด๋ ์ค์ธ ๊ฒฝ์ฐSTATE
๊ฐ์UPGRADING
์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.NAMESPACE NAME READY STATE AGE VERSION my-uc-gkeonprem-mgmt my-uc False UPGRADING 9h 1.30.0-gke.1
STATE
์ ๋ํด ๊ฐ๋ฅํ ๊ฐ์PROVISIONING
,UPGRADING
,DELETING
,UPDATING
,RUNNING
,RECONCILING
,ERROR
,UNKNOWN
์ ๋๋ค.์ ๊ทธ๋ ์ด๋ ์งํ ์ํ ๋ฐ ํด๋ฌ์คํฐ ์ด๋ฒคํธ์ ๋ํ ์ธ๋ถ์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
gkectl describe clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster USER_CLUSTER_NAME -v 5
์ถ๋ ฅ์๋ ํด๋ฌ์คํฐ ์ํ, ์กฐ๊ฑด, ์ด๋ฒคํธ๊ฐ ํฌํจ๋ ์ง์ ๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ OnPremUserCluster ์ปค์คํ ๋ฆฌ์์ค๊ฐ ํ์๋ฉ๋๋ค.
Google์์๋ ๋ค์์ ํฌํจํ์ฌ ๊ฐ ์ฃผ์ ์ ๊ทธ๋ ์ด๋ ๋จ๊ณ์ ์์๊ณผ ์ข ๋ฃ์ ๋ํ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
- ControlPlaneUpgrade
- MasterNodeUpgrade
- AddonsUpgrade
- NodePoolsUpgrade
์ถ๋ ฅ ์์:
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal NodePoolsUpgradeStarted 22m onprem-user-cluster-controller Creating or updating node pools: pool-2: Creating or updating node pool Normal AddonsUpgradeStarted 22m onprem-user-cluster-controller Creating or updating addon workloads Normal ControlPlaneUpgradeStarted 25m onprem-user-cluster-controller Creating or updating cluster control plane workloads: deploying user-kube-apiserver-base, ...: 14/15 pods are ready Normal ControlPlaneUpgradeFinished 23m onprem-user-cluster-controller Control plane is running
์ ๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋๋ฉด
gkectl list clusters
์RUNNING
์ธSTATUS
๊ฐ ํ์๋ฉ๋๋ค.NAMESPACE NAME READY STATE AGE VERSION my-uc-gkeonprem-mgmt my-uc True RUNNING 9h 1.30.0-gke.1
๋ํ ์ ๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋๋ฉด
gkectl describe clusters
์Status
๋กLast GKE On Prem Version
ํ๋๊ฐ ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.Status: Cluster State: RUNNING Last GKE On Prem Version: 1.30.0-gke.1
๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋ ๋ฌธ์ ํด๊ฒฐ
๋น๋๊ธฐ ์
๊ทธ๋ ์ด๋์ ๊ฒฝ์ฐ ์ ํ ์๊ฐ์ ํด๋ฌ์คํฐ์ ๋
ธ๋ ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์
๊ทธ๋ ์ด๋๊ฐ ์ ํ ์๊ฐ๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ๋ฉด ํด๋ฌ์คํฐ ์ํ๊ฐ UPGRADING
์์ ERROR
๋ก ๋ณ๊ฒฝ๋๊ณ ์
๊ทธ๋ ์ด๋ ์์
์ด ์๊ฐ ์ด๊ณผ๋์๋ค๋ ์ด๋ฒคํธ๊ฐ ํ์๋ฉ๋๋ค. ์ฌ๊ธฐ์ ERROR
์ํ๋ ์
๊ทธ๋ ์ด๋๊ฐ ์์๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ์ข
๋ฃ๋์ง ์์์์ ์๋ฏธํฉ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์กฐ์ ์ ๊ณ์ํ๊ณ ์์
์ ๊ณ์ ์ฌ์๋ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ์ด๊ณผ๋ PodDisruptionBudget(PDB)์ผ๋ก ์ธํ ๊ต์ฐฉ ์ํ์ ๊ฒฐ๊ณผ์
๋๋ค. ์ด ๊ฒฝ์ฐ ํฌ๋๋ฅผ ์ด์ ๋
ธ๋์์ ์ ๊ฑฐํ ์ ์๊ณ ์ด์ ๋
ธ๋๋ ๋๋ ์ด๋ํ ์ ์์ต๋๋ค. ํฌ๋ ์ ๊ฑฐ๊ฐ 10๋ถ ์ด์ ๊ฑธ๋ฆด ๊ฒฝ์ฐ OnPremUserCluster ๊ฐ์ฒด์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. gkectl describe clusters
๋ฅผ ์คํํ์ฌ ์ด๋ฒคํธ๋ฅผ ์บก์ฒํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ PDB๋ฅผ ์กฐ์ ํ์ฌ ๋
ธ๋๊ฐ ๋๋ ์ด๋๋๋๋ก ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์
๊ทธ๋ ์ด๋๊ฐ ์งํ๋๊ณ ์๋ฃ๋ฉ๋๋ค.
์์ ์ด๋ฒคํธ:
Warning PodEvictionTooLong 96s (x2 over 4m7s) onprem-user-cluster-controller Waiting too long(>10m0.00000003s) for (kube-system/coredns-856d6dbfdf-dl6nz) eviction.
๋ํ ์
๊ทธ๋ ์ด๋๊ฐ ์ฐจ๋จ๋๊ฑฐ๋ ์
๊ทธ๋ ์ด๋์ ์คํจํ์ ๋ gkectl diagnose
๋ฅผ ์คํํ์ฌ ์ผ๋ฐ์ ์ธ ํด๋ฌ์คํฐ ๋ฌธ์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋์ผ๋ก ํด๊ฒฐํ ์ง ์๋๋ฉด Anthos ์ง์ํ์ ๋ฌธ์ํ์ฌ ์ถ๊ฐ ์ง์์ ๋ฐ์์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
๋๊ธฐ์ ์ ๊ทธ๋ ์ด๋
gkectl upgrade
๋ช
๋ น์ด๋ ์คํ ์ ๊ฒ์ฌ๋ฅผ ์คํํฉ๋๋ค. ์คํ ์ ๊ฒ์ฌ๊ฐ ์คํจํ๋ฉด ๋ช
๋ น์ด๊ฐ ์ฐจ๋จ๋ฉ๋๋ค. ์คํจ๋ฅผ ๋ฐ๋ก์ก๊ฑฐ๋ --skip-preflight-check-blocking
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ฌ๊ฐํ ์คํจ๊ฐ ์๋ค๊ณ ํ์ ํ๋ ๊ฒฝ์ฐ์๋ง ์คํ ์ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋ฐ์ด์ผ ํฉ๋๋ค.
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์์ ๋ค์ ๋จ๊ณ๋ฅผ ์งํํฉ๋๋ค.
1.16 ์ด์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ค๋น๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ฐ ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๊ฐ ์ค๋น๋์๋์ง ํ์ธํฉ๋๋ค. ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค๋นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ๋ํด ์ค๋น๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE
๋ฒ์ 1.14.0 ์ด์์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ๊ธฐ์กด ํ์ผ์ ๋ฎ์ด์ฐ๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ๋ํด ์ kubeconfig ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. ํ์ผ์์ ํด๋ฌ์คํฐ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
kubectl config view --kubeconfig USER_CLUSTER_KUBECONFIG
์ถ๊ฐ ๋ ธ๋ ํ ์ ๊ทธ๋ ์ด๋
์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๋ง ์ ๊ทธ๋ ์ด๋ํ๊ฑฐ๋ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ์ผ๋ถ ๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ์ฌ ๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์ ์์ ํฉ๋๋ค. ๋ค์ ์์์ ํ์๋ ๊ฒ์ฒ๋ผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๊ฐ ๋ ธ๋ ํ์ ๋ํด
nodePools.nodePool[i].gkeOnPremVersion
ํ๋๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋น ๋ฌธ์์ด๋ก ์ค์ ํฉ๋๋ค.gkeOnPremVersion: 1.16.3-gke.45 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
gkectl update cluster
๋ฅผ ์คํํ์ฌ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํฉ๋๋ค.gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ADMIN_CLUSTER_KUBECONFIG
: ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ kubeconfig ํ์ผ์ ๊ฒฝ๋กUSER_CLUSTER_CONFIG
: ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์ ๊ฒฝ๋ก.
๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ๊ทธ๋ ์ด๋ ํ ๋ ธ๋ ํ ๋กค๋ฐฑ์ ์ฐธ์กฐํ์ธ์.
์ ๊ทธ๋ ์ด๋ ์ฌ๊ฐ
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์
๊ทธ๋ ์ด๋๊ฐ ์ค๋จ๋๋ฉด --skip-validation-all
ํ๋๊ทธ๋ก ๋์ผํ ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ์
๊ทธ๋ ์ด๋๋ฅผ ์ฌ๊ฐํ ์ ์์ต๋๋ค.
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE \ --skip-validation-all
์ฝ์
์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ช ๊ฐ์ง ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํด์ผ ํฉ๋๋ค. ์ฝ์์์ ์๋์ผ๋ก ๋ค์์ ์ํํฉ๋๋ค.
์์ง ๋ฑ๋ก๋์ง ์์์ผ๋ฉด GKE On-Prem API์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํฉ๋๋ค.
๊ตฌ์ฑ์์ ๋ฒ๋ค์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ค์ด๋ก๋ํ๊ณ ๋ฐฐํฌํฉ๋๋ค. ๊ตฌ์ฑ์์์ ๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋์์ ์ง์ ํ ๋ฒ์ ๊ณผ ์ผ์นํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ์์๋ฅผ ํตํด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ ํด๋น ๋ฒ์ ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์์์ Google Kubernetes Engine ํด๋ฌ์คํฐ ๊ฐ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Google Cloud ํ๋ก์ ํธ๋ฅผ ์ ํํ ํ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ํด๋ฌ์คํฐ๋ฅผ ์ ํํฉ๋๋ค.
์ธ๋ถ์ ๋ณด ํจ๋์์ ์ถ๊ฐ ์ธ๋ถ์ ๋ณด๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํด๋ฌ์คํฐ ๊ธฐ๋ณธ์ฌํญ ์น์ ์์
์ ๊ทธ๋ ์ด๋๋ฅผ ํด๋ฆญํฉ๋๋ค.๋์ ๋ฒ์ ์ ํ ๋ชฉ๋ก์์ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๋ฒ์ ์ ์ ํํฉ๋๋ค. ์ ๋ณ๋ ๋ชฉ๋ก์๋ ์ต์ ํจ์น ๋ฆด๋ฆฌ์ค๋ง ํฌํจ๋ฉ๋๋ค.
์ ๊ทธ๋ ์ด๋๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํด๋ฌ์คํฐ๊ฐ ์ ๊ทธ๋ ์ด๋๋๊ธฐ ์ ํด๋ฌ์คํฐ ์ํ ๋ฐ ๋ ธ๋ ์ํ๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํด ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ์คํ๋ฉ๋๋ค. ํ๋ฆฌํ๋ผ์ดํธ ๊ฒ์ฌ๊ฐ ํต๊ณผํ๋ฉด ์ฌ์ฉ์ ํด๋ฌ์คํฐ๊ฐ ์ ๊ทธ๋ ์ด๋๋ฉ๋๋ค. ์ ๊ทธ๋ ์ด๋๋ฅผ ์๋ฃํ๋ ๋ฐ ์ฝ 30๋ถ ์ ๋ ๊ฑธ๋ฆฝ๋๋ค.
์ ๊ทธ๋ ์ด๋ ์ํ๋ฅผ ๋ณด๋ ค๋ฉด ํด๋ฌ์คํฐ ์ธ๋ถ์ ๋ณด ํญ์์ ์ธ๋ถ์ ๋ณด ํ์๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud CLI
์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ช ๊ฐ์ง ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํด์ผ ํฉ๋๋ค. gcloud container vmware clusters upgrade
๋ช
๋ น์ด๋ ์๋์ผ๋ก ๋ค์์ ์ํํฉ๋๋ค.
์์ง ๋ฑ๋ก๋์ง ์์์ผ๋ฉด GKE On-Prem API์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํฉ๋๋ค.
๊ตฌ์ฑ์์ ๋ฒ๋ค์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ค์ด๋ก๋ํ๊ณ ๋ฐฐํฌํฉ๋๋ค. ๊ตฌ์ฑ์์์ ๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋์์ ์ง์ ํ ๋ฒ์ ๊ณผ ์ผ์นํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ์์๋ฅผ ํตํด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ ํด๋น ๋ฒ์ ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud CLI ๊ตฌ์ฑ์์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
gcloud components update
Ubuntu ๋ฐ COS ๋ ธ๋ ํ๋ง ํด๋น: ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๋ง ์ ๊ทธ๋ ์ด๋ํ๊ณ ๋ชจ๋ ๋ ธ๋ ํ์ ํ์ฌ ๋ฒ์ ์ผ๋ก ๋๋ ค๋ฉด ํด๋ฌ์คํฐ์์ ์ ๊ทธ๋ ์ด๋ ์ ์ฑ ์ ๋ณ๊ฒฝํฉ๋๋ค.
gcloud container vmware clusters update USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --upgrade-policy control-plane-only=True
๋ค์์ ๋ฐ๊ฟ๋๋ค.
USER_CLUSTER_NAME
: ์ ๊ทธ๋ ์ด๋ํ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ด๋ฆPROJECT_ID
: ์ฌ์ฉ์ ํด๋ฌ์คํฐ๊ฐ ๊ตฌ์ฑ์์ธ Fleet ํธ์คํธ ํ๋ก์ ํธ์ ID. ์ด ํ๋ก์ ํธ๋ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ ์ง์ ๋ ํ๋ก์ ํธ์ ๋๋ค.gkectl
์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค์์ผ๋ฉด ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์์gkeConnect.projectID
ํ๋์ ํ๋ก์ ํธ ID์ ๋๋ค.REGION
: GKE On-Prem API๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์คํํ๊ณ ์ ์ฅํ๋ Google Cloud ๋ฆฌ์ . GKE On-Prem API ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ ์ด ๋ฆฌ์ ์ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ ์ ํํ ๋ฆฌ์ ์ ๋๋ค.gkectl
์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ ์ด ๋ฆฌ์ ์ GKE On-Prem API์ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํ ๋ ์ง์ ํ ๋ฆฌ์ ์ ๋๋ค.
์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๋ฒ์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ต๋๋ค.
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
์ด ๋ช ๋ น์ด ์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํฉ๋๋ค.
versions: - version: 1.16.3-gke.45 - version: 1.16.2-gke.28 - version: 1.16.1-gke.45 - version: 1.16.0-gke.669 - version: 1.15.6-gke.25 - version: 1.15.5-gke.41 An Anthos version must be made available on the admin cluster ahead of the user cluster creation or upgrade. Versions annotated with isInstalled=true are installed on the admin cluster for the purpose of user cluster creation or upgrade whereas other version are released and will be available for upgrade once dependencies are resolved. To install the version in the admin cluster, run: $ gcloud container vmware admin-clusters update my-admin-cluster --required-platform-version=VERSION
๋ฒ์ ๋ชฉ๋ก ๋ค์์ ํ์๋๋ ๋ฉ์์ง๋ ๋ฌด์ํด๋ ๋ฉ๋๋ค. ์ ๊ทธ๋ ์ด๋ํ ๋ฒ์ ์ด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ์ค์น๋์ด ์๋์ง ์ฌ๋ถ๋ ์ค์ํ์ง ์์ต๋๋ค.
upgrade
๋ช ๋ น์ด๋upgrade
๋ช ๋ น์ด์ ์ง์ ํ ๋ฒ์ ๊ณผ ์ผ์นํ๋ ๊ตฌ์ฑ์์ ๋ฒ๋ค์ ๋ค์ด๋ก๋ํ๊ณ ๋ฐฐํฌํฉ๋๋ค.ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
update
๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์ ๊ทธ๋ ์ด๋ ์ ์ฑ ์control-plane-only=True
๋ก ๋ณ๊ฒฝํ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๋ง ์ ๊ทธ๋ ์ด๋๋ฉ๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ๋ชจ๋ ๋ ธ๋ ํ์ด ์ ๊ทธ๋ ์ด๋๋ฉ๋๋ค.gcloud container vmware clusters upgrade USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
์ ๊ทธ๋ ์ด๋ํ๋ ค๋ Google Distributed Cloud ๋ฒ์ ์ผ๋ก VERSION์ ๋ฐ๊ฟ๋๋ค. ์ด์ ๋ช ๋ น์ด์ ์ถ๋ ฅ์์ ๋ฒ์ ์ ์ง์ ํฉ๋๋ค. ์ต์ ํจ์น ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ช ๋ น์ด ์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํฉ๋๋ค.
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
์์ ์ถ๋ ฅ์์
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
๋ฌธ์์ด์ ์ฅ๊ธฐ ์คํ ์์ ์ OPERATION_ID์ ๋๋ค. ๋ค๋ฅธ ํฐ๋ฏธ๋ ์ฐฝ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ์์ ์ํ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.gcloud container vmware operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
๋ ธ๋ ํ ์ ๊ทธ๋ ์ด๋
์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๋ง ์ ๊ทธ๋ ์ด๋ํ๋๋ก ์ ํํ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ์ด ์ ๊ทธ๋ ์ด๋๋ ํ ๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ๋ ธ๋ ํ ๋ชฉ๋ก์ ๊ฐ์ ธ์ต๋๋ค.
gcloud container vmware node-pools list --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๊ฐ ๋ ธ๋ ํ์ ๋ํด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container vmware node-pools update NODE_POOL_NAME \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Terraform
Google Cloud CLI ๊ตฌ์ฑ์์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
gcloud components update
์์ง ์ํํ์ง ์์์ผ๋ฉด GKE On-Prem API์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํฉ๋๋ค.. GKE On-Prem API์ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํ ๋ค์์๋ ์ด ๋จ๊ณ๋ฅผ ๋ค์ ์ํํ ํ์๊ฐ ์์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ํ ์ ์๋ ๋ฒ์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ต๋๋ค.
gcloud container vmware clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
๋ค์์ ๋ฐ๊ฟ๋๋ค.
USER_CLUSTER_NAME
: ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ด๋ฆPROJECT_ID
: ์ฌ์ฉ์ ํด๋ฌ์คํฐ๊ฐ ๋ฉค๋ฒ์ธ Fleet ํ๋ก์ ํธ์ ID. ์ด ํ๋ก์ ํธ๋ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค ๋ ์ง์ ๋ ํ๋ก์ ํธ์ ๋๋ค.gkectl
์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค์์ผ๋ฉด ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์์gkeConnect.projectID
ํ๋์ ํ๋ก์ ํธ ID์ ๋๋ค.REGION
: GKE On-Prem API๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์คํํ๊ณ ์ ์ฅํ๋ Google Cloud ๋ฆฌ์ . ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํmain.tf
ํ์ผ์์ ๋ฆฌ์ ์ ํด๋ฌ์คํฐ ๋ฆฌ์์ค์location
ํ๋์ ์์ต๋๋ค.
์ด ๋ช ๋ น์ด ์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํฉ๋๋ค.
versions: - version: 1.16.3-gke.45 - version: 1.16.2-gke.28 - version: 1.16.1-gke.45 - version: 1.16.0-gke.669 - version: 1.15.6-gke.25 - version: 1.15.5-gke.41 An Anthos version must be made available on the admin cluster ahead of the user cluster creation or upgrade. Versions annotated with isInstalled=true are installed on the admin cluster for the purpose of user cluster creation or upgrade whereas other version are released and will be available for upgrade once dependencies are resolved. To install the version in the admin cluster, run: $ gcloud container vmware admin-clusters update my-admin-cluster --required-platform-version=VERSION
์ ๋ฒ์ ์ ๊ตฌ์ฑ์์๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ฐฐํฌํฉ๋๋ค.
gcloud container vmware admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --required-platform-version=VERSION
์ด ๋ช ๋ น์ด๋
--required-platform-version
์ ์ง์ ํ๋ ๊ตฌ์ฑ์์ ๋ฒ์ ์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ค์ด๋ก๋ํ ํ ๊ตฌ์ฑ์์๋ฅผ ๋ฐฐํฌํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ์์๋ฅผ ํตํด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ ํด๋น ๋ฒ์ ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ
main.tf
ํ์ผ์์ ํด๋ฌ์คํฐ ๋ฆฌ์์ค์on_prem_version
์ ์ ๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.Ubuntu ๋ฐ COS ๋ ธ๋ ํ๋ง ํด๋น: ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๋ง ์ ๊ทธ๋ ์ด๋ํ๊ณ ๋ชจ๋ ๋ ธ๋ ํ์ ํ์ฌ ๋ฒ์ ์ผ๋ก ๋๋ ค๋ฉด ํด๋ฌ์คํฐ์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.
upgrade_policy { control_plane_only = true }
Terraform ๊ณํ์ ์ด๊ธฐํํ๊ณ ๋ง๋ญ๋๋ค.
terraform init
Terraform์ Google Cloud ์ ๊ณต์ ์ฒด์ ๊ฐ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค.
๊ตฌ์ฑ์ ๊ฒํ ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ๋ณ๊ฒฝํฉ๋๋ค.
terraform plan
Terraform ๊ณํ์ ์ ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ญ๋๋ค.
terraform apply
๋ ธ๋ ํ ์ ๊ทธ๋ ์ด๋
์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๋ง ์ ๊ทธ๋ ์ด๋ํ๋๋ก ์ ํํ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ์ด ์ ๊ทธ๋ ์ด๋๋ ํ ์ถ๊ฐ ๋ ธ๋ ํ์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๊ฐ ๋ ธ๋ ํ์์ ๋ฆฌ์์ค์
main.tf
์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.on_prem_version = "VERSION"
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
resource "google_gkeonprem_vmware_node_pool" "nodepool-basic" { name = "my-nodepool" location = "us-west1" vmware_cluster = google_gkeonprem_vmware_cluster.default-basic.name config { replicas = 3 image_type = "ubuntu_containerd" enable_load_balancer = true } on_prem_version = "1.16.0-gke.0" }
Terraform ๊ณํ์ ์ด๊ธฐํํ๊ณ ๋ง๋ญ๋๋ค.
terraform init
๊ตฌ์ฑ์ ๊ฒํ ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ๋ณ๊ฒฝํฉ๋๋ค.
terraform plan
Terraform ๊ณํ์ ์ ์ฉํ์ฌ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ญ๋๋ค.
terraform apply
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋
์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ํ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
์์ํ๊ธฐ ์ ์ ๋ค์ ์ฌํญ์ ํ์ธํ์ธ์.
๋ฒ์ 1.13 ์ด์์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ๋จผ์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์
gkeConnect
์น์ ์ ์์ฑํ์ฌ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํด์ผ ํฉ๋๋ค. ๊ตฌ์ฑ ํ์ผ ๋ณ๊ฒฝ์ฌํญ์ ์ฌ์ฉํ์ฌgkectl
ํด๋ฌ์คํฐ ์ ๋ฐ์ดํธ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.gkectl
๋ฐ ํด๋ฌ์คํฐ๊ฐ ์ ๊ทธ๋ ์ด๋์ ์ ํฉํ ๋ฒ์ ์์ค์ธ์ง ํ์ธํ๊ณ ์ ํฉํ ๋ฒ๋ค์ ๋ค์ด๋ก๋ํ๋์ง ํ์ธํฉ๋๋ค. ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ฌ์ด์ ๋ฒ์ ํธํฅ์ Google Distributed Cloud ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ์ ์๋์ง ํ์ธํ๋ ค๋ฉด ๊ด๋ฆฌ์ ๋ฐ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๋ฒ์ ์ฐจ์ด๋ฅผ ์ฐธ์กฐํ์ธ์.๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์
bundlepath
ํ๋๊ฐ ์ ๊ทธ๋ ์ด๋ํ ๋ฒ๋ค์ ๊ฒฝ๋ก์ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค.๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ์ ํ๋์ ๋ค๋ฅธ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ ์ ๊ทธ๋ ์ด๋ ์ค์ ๋ฌด์๋ฉ๋๋ค. ์ด๋ฌํ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๋ ค๋ฉด ๋จผ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ๋ค์ ๊ตฌ์ฑ ํ์ผ ๋ณ๊ฒฝ์ฌํญ๊ณผ ํจ๊ป ํด๋ฌ์คํฐ ์ ๋ฐ์ดํธ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ํด๋ฌ์คํฐ์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํด์ผ ํฉ๋๋ค.
gkectl upgrade admin
์คํ
๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์์ ์ด ์น์
์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค. gkectl upgrade admin
๋ช
๋ น์ด์๋ ๋ ๊ฐ์ง ๋ณํ์ด ์์ต๋๋ค.
๋น๋๊ธฐ:
๋น๋๊ธฐ ๋ณํ์ ์ฌ์ฉํ๋ฉด ๋ช ๋ น์ด๊ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์์ํ ํ ์๋ฃํฉ๋๋ค. ์ ๊ทธ๋ ์ด๋ ์ ์ฒด ๊ธฐ๊ฐ ๋์ ๋ช ๋ น์ด์ ์ถ๋ ฅ์ ํ์ธํ ํ์๊ฐ ์์ต๋๋ค. ๋์gkectl list admin
๋ฐgkectl describe admin
์ ์คํํ์ฌ ์ ๊ทธ๋ ์ด๋ ์งํ ์ํฉ์ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค. ๋น๋๊ธฐ ๋ณํ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ช ๋ น์ด์--async
ํ๋๊ทธ๋ฅผ ํฌํจํฉ๋๋ค.๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋ ์๊ตฌ์ฌํญ:
- ๋ฒ์ 1.29 ์ด์์ HA ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์์๋ง ์ง์๋ฉ๋๋ค.
- ๋ชจ๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์๋ Controlplane V2๊ฐ ์ฌ์ฉ ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
๋๊ธฐ:
๋๊ธฐ ๋ณํ์ ์ฌ์ฉํ๋ฉดgkectl upgrade admin
๋ช ๋ น์ด์์ ์ ๊ทธ๋ ์ด๋๊ฐ ์งํ๋๋ ๋์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ํ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์์ ๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์์ํฉ๋๋ค.
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG_FILE \ --async
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ADMIN_CLUSTER_KUBECONFIG
: ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ kubeconfig ํ์ผ ๊ฒฝ๋กADMIN_CLUSTER_CONFIG_FILE
: ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก.
์์ ๋ช ๋ น์ด๊ฐ ์๋ฃ๋๊ณ ์ ๊ทธ๋ ์ด๋๊ฐ ์งํ๋๋ ๋์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
gkectl upgrade admin
์ ์ฌ์ฉํ์ฌ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.gkectl upgrade admin -h
์ ๊ทธ๋ ์ด๋ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
gkectl list admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG
์ถ๋ ฅ์ ํด๋ฌ์คํฐ
STATE
๊ฐ์ด ํ์๋ฉ๋๋ค. ํด๋ฌ์คํฐ๊ฐ ์ ๊ทธ๋ ์ด๋ ์ค์ธ ๊ฒฝ์ฐSTATE
๊ฐ์UPGRADING
์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.NAME STATE AGE VERSION gke-admin-test UPGRADING 9h 1.30.100-gke.96
STATE
์ ๋ํด ๊ฐ๋ฅํ ๊ฐ์RUNNING
,UPGRADING
,RECONCILING
,ERROR
,UNKNOWN
์ ๋๋ค.์ ๊ทธ๋ ์ด๋ ์งํ ์ํ ๋ฐ ํด๋ฌ์คํฐ ์ด๋ฒคํธ์ ๋ํ ์ธ๋ถ์ ๋ณด๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
gkectl describe admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG
์ถ๋ ฅ์๋ ํด๋ฌ์คํฐ ์ํ, ์กฐ๊ฑด, ์ด๋ฒคํธ๊ฐ ํฌํจ๋ ์ง์ ๋ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ OnPremAdminCluster ์ปค์คํ ๋ฆฌ์์ค๊ฐ ํ์๋ฉ๋๋ค.
Google์์๋ ๊ฐ ์ฃผ์ ์ ๊ทธ๋ ์ด๋ ๋จ๊ณ์ ์์๊ณผ ์ข ๋ฃ์ ๋ํ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
์ถ๋ ฅ ์์:
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ControlPlaneUpgradeStarted 40m onprem-admin-cluster-controller Creating or updating admin cluster API Controller Normal ControlPlaneMachineUpgradeStarted 40m onprem-admin-cluster-controller Creating or updating control plane machine Normal StatusChanged 40m onprem-admin-cluster-controller OnPremAdminCluster status changed: - New ClusterState condition: UPGRADING - New Ready condition: False, CreateOrUpdateControlPlaneMachine, Creating or updating control plane machine Normal StatusChanged 2m onprem-admin-cluster-controller OnPremAdminCluster status changed: - New ClusterState condition: RUNNING - New Ready condition: True, ClusterRunning, Cluster is running
์ ๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋๋ฉด
gkectl list admin
์RUNNING
์ธSTATUS
๊ฐ ํ์๋ฉ๋๋ค.NAME STATE AGE VERSION gke-admin-test RUNNING 9h 1.30.100-gke.96
๋ํ ์ ๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋๋ฉด
gkectl describe admin
์Status
๋กLast GKE On Prem Version
ํ๋๊ฐ ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.Status: Cluster State: RUNNING Last GKE On Prem Version: 1.30.0-gke.1
๋น๋๊ธฐ ์ ๊ทธ๋ ์ด๋ ๋ฌธ์ ํด๊ฒฐ
๋น๋๊ธฐ ์
๊ทธ๋ ์ด๋์ ๊ฒฝ์ฐ ์ ํ ์๊ฐ์ ํด๋ฌ์คํฐ์ ๋
ธ๋ ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์
๊ทธ๋ ์ด๋๊ฐ ์ ํ ์๊ฐ๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ๋ฉด ํด๋ฌ์คํฐ ์ํ๊ฐ UPGRADING
์์ ERROR
๋ก ๋ณ๊ฒฝ๋๊ณ ์
๊ทธ๋ ์ด๋ ์์
์ด ์๊ฐ ์ด๊ณผ๋์๋ค๋ ์ด๋ฒคํธ๊ฐ ํ์๋ฉ๋๋ค. ์ฌ๊ธฐ์ ERROR
์ํ๋ ์
๊ทธ๋ ์ด๋๊ฐ ์์๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ์ข
๋ฃ๋์ง ์์์์ ์๋ฏธํฉ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์กฐ์ ์ ๊ณ์ํ๊ณ ์์
์ ๊ณ์ ์ฌ์๋ํฉ๋๋ค.
์
๊ทธ๋ ์ด๋๊ฐ ์ฐจ๋จ๋๊ฑฐ๋ ์
๊ทธ๋ ์ด๋์ ์คํจํ์ ๋ gkectl diagnose
๋ฅผ ์คํํ์ฌ ์ผ๋ฐ์ ์ธ ํด๋ฌ์คํฐ ๋ฌธ์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋์ผ๋ก ํด๊ฒฐํ ์ง ์๋๋ฉด Google Cloud ์ง์ํ์ ๋ฌธ์ํ์ฌ ์ถ๊ฐ ์ง์์ ๋ฐ์์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
๋๊ธฐ์ ์ ๊ทธ๋ ์ด๋
๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG_FILE \
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ADMIN_CLUSTER_KUBECONFIG
: ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ kubeconfig ํ์ผ์ ๊ฒฝ๋กADMIN_CLUSTER_CONFIG_FILE
: ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก.
gkectl upgrade
๋ช ๋ น์ด๋ ์คํ ์ ๊ฒ์ฌ๋ฅผ ์คํํฉ๋๋ค. ์คํ ์ ๊ฒ์ฌ๊ฐ ์คํจํ๋ฉด ๋ช ๋ น์ด๊ฐ ์ฐจ๋จ๋ฉ๋๋ค. ์คํจ๋ฅผ ์์ ํ๊ฑฐ๋ ๋ช ๋ น์ด์ ํจ๊ป--skip-preflight-check-blocking
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ๋จ์ ํด์ ํด์ผ ํฉ๋๋ค.๋ฒ์ 1.14.0 ์ด์์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ๋ํด ๊ธฐ์กด ํ์ผ์ ๋ฎ์ด์ฐ๋ ์ kubeconfig ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. ํ์ผ์์ ํด๋ฌ์คํฐ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
kubectl config view --kubeconfig ADMIN_CLUSTER_KUBECONFIG
์ ์ฒด ๋ฒ๋ค ์ญ์
์ ์ฒด ๋ฒ๋ค์ ๋ค์ด๋ก๋ํ๊ณ gkectl prepare
๋ฐ gkectl upgrade admin
๋ช
๋ น์ด๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํ ๊ฒฝ์ฐ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ๋์คํฌ ๊ณต๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด ์ ์ฒด ๋ฒ๋ค์ ์ญ์ ํด์ผ ํฉ๋๋ค. ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ์ ์ฒด ๋ฒ๋ค์ ์ญ์ ํฉ๋๋ค.
rm /var/lib/gke/bundles/gke-onprem-vsphere-${TARGET_VERSION}-full.tgz
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋ ์ฌ๊ฐ
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋๊ฐ ์ค๋จ๋๊ฑฐ๋ ์คํจํ๋ ๊ฒฝ์ฐ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ฒดํฌํฌ์ธํธ์ ์ค๋จ ์ ์ํ๋ฅผ ๋ณต์ํ๋ ๋ฐ ํ์ํ ์ํ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฌ๊ฐํ ์ ์์ต๋๋ค.
๊ฒฝ๊ณ : ์
๊ทธ๋ ์ด๋ ์๋ ์คํจ ํ gkectl repair admin-master
๋ก ๊ด๋ฆฌ ๋ง์คํฐ๋ฅผ ๋ณต๊ตฌํ์ง ๋ง์ธ์. ์ด๋ก ์ธํด ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๊ฐ ์ข์ง ์์ ์ํ๊ฐ ๋ฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
์ด๊ธฐ ์ ๊ทธ๋ ์ด๋ ์๋๋ฅผ ์์ํ๊ธฐ ์ ์ ๊ด๋ฆฌ์ ์ปจํธ๋กค ํ๋ ์ธ์ด ์ ์์ธ์ง ํ์ธํฉ๋๋ค. ํด๋ฌ์คํฐ ๋ฌธ์ ์ง๋จ์ ์ฐธ์กฐํ์ธ์. ์ด ์ฃผ์ ์ ์ค๋ช ๋๋ก ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์
gkectl diagnose cluster
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.์ด๊ธฐ ์ ๊ทธ๋ ์ด๋ ์๋ ์ ์ ๊ด๋ฆฌ์ ์ปจํธ๋กค ํ๋ ์ธ์ด ๋น์ ์์ธ ๊ฒฝ์ฐ
gkectl repair admin-master
๋ช ๋ น์ด๋ก ๊ด๋ฆฌ์ ์ปจํธ๋กค ํ๋ ์ธ์ ๋ณต๊ตฌํฉ๋๋ค.์ ๊ทธ๋ ์ด๋๊ฐ ์ค๋จ๋๊ฑฐ๋ ์คํจํ ํ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ด๋ฅผ ๋ค์ ์คํํ๋ ๊ฒฝ์ฐ ์ด์ ์ ๊ทธ๋ ์ด๋ ์๋์ ๋์ผํ ๋ฒ๋ค ๋ฐ ๋์ ๋ฒ์ ์ ์ฌ์ฉํ์ธ์.
์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ด๋ฅผ ๋ค์ ์คํํ๋ฉด ์ฌ๊ฐ๋ ์ ๊ทธ๋ ์ด๋๊ฐ ์ฒดํฌํฌ์ธํธ์์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ํ๋ฅผ ๋ค์ ๋ง๋ค๊ณ ์ ์ฒด ์ ๊ทธ๋ ์ด๋๋ฅผ ๋ค์ ์คํํฉ๋๋ค. 1.12.0๋ถํฐ ๊ด๋ฆฌ์ ์ปจํธ๋กค ํ๋ ์ธ์ด ๋น์ ์์ด๋ฉด ์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ ๊ทธ๋ ์ด๋ ์งํ ์ ์์ค ๋ฒ์ ์์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ๋ณต์ํ๋ ค๊ณ ์๋ํ์ง ์๊ณ ๋์ ๋ฒ์ ์ผ๋ก ์ง์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ฒดํฌํฌ์ธํธ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ๊ทธ๋ ์ด๋๊ฐ ์คํจํ๊ฑฐ๋ ์ข ๋ฃ๋ ์์ ๋ถํฐ ์ ๊ทธ๋ ์ด๋๊ฐ ๋ค์ ์์๋ฉ๋๋ค. ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ ๊ทธ๋ ์ด๋๋ ๊ด๋ฆฌ์ ์ปจํธ๋กค ํ๋ ์ธ์ ์์กดํฉ๋๋ค. ๋ฐ๋ผ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ์งํํ๋ ค๋ฉด ๊ด๋ฆฌ์ ์ปจํธ๋กค ํ๋ ์ธ์ด ์ ์ ์ํ์ฌ์ผ ํฉ๋๋ค. ์ ๊ทธ๋ ์ด๋๊ฐ ์ฑ๊ณตํ๋ฉด ์ฒดํฌํฌ์ธํธ๊ฐ ๋ค์ ์์ฑ๋ฉ๋๋ค.
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์
๊ทธ๋ ์ด๋ ์ค์ gkectl
๊ฐ ์๊ธฐ์น ์๊ฒ ์ข
๋ฃ๋๋ฉด ์ข
๋ฅ ํด๋ฌ์คํฐ๊ฐ ์ญ์ ๋์ง ์์ต๋๋ค. ์
๊ทธ๋ ์ด๋๋ฅผ ์ฌ๊ฐํ๊ธฐ ์ํด ์
๊ทธ๋ ์ด๋ ๋ช
๋ น์ด๋ฅผ ๋ค์ ์คํํ๊ธฐ ์ ์ ์ข
๋ฅ ํด๋ฌ์คํฐ๋ฅผ ์ญ์ ํฉ๋๋ค.
docker stop gkectl-control-plane && docker rm gkectl-control-plane
์ข ๋ฅ ํด๋ฌ์คํฐ๋ฅผ ์ญ์ ํ ํ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น์ด๋ฅผ ๋ค์ ์คํํฉ๋๋ค.
์ ๊ทธ๋ ์ด๋ ํ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ๋กค๋ฐฑ
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ ๊ทธ๋ ์ด๋ ์ ์ ์ฌ์ฉ๋ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
์
๊ทธ๋ ์ด๋ํ๋ ๋์ gkeadm
์ ์ถ๋ ฅ ์ ๋ณด ํ์ผ์ ์
๊ทธ๋ ์ด๋๋๊ธฐ ์ ๋ฒ์ ์ ๊ธฐ๋กํฉ๋๋ค. ๋กค๋ฐฑํ๋ ๋์ gkeadm
์ ๋์ด๋ ๋ฒ์ ์ ์ฌ์ฉํ์ฌ ์ด์ ํ์ผ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
gkeadm rollback admin-workstation --config=AW_CONFIG_FILE
๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
๊ตฌ์ฑ ํ์ผ์ด ๊ธฐ๋ณธ admin-ws-config.yaml
์ธ ๊ฒฝ์ฐ --config=AW_CONFIG_FILE
์ ์๋ตํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด AW_CONFIG_FILE์ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
๊ตฌ์ฑ ํ์ผ์ ๊ฒฝ๋ก๋ก ๋ฐ๊ฟ๋๋ค.
๋กค๋ฐฑ ๋ช ๋ น์ด๋ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
gkeadm
์ ๋กค๋ฐฑ ๋ฒ์ ์ ๋ค์ด๋ก๋ํฉ๋๋ค.- ํ์ฌ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ฐฑ์ ํฉ๋๋ค.
gkeadm
์ ๋กค๋ฐฑ ๋ฒ์ ์ ์ฌ์ฉํ์ฌ ์ ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ๋ง๋ญ๋๋ค.- ๊ธฐ์กด ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ญ์ ํฉ๋๋ค.
์ ๊ทธ๋ ์ด๋๋ฅผ ์ํด ๋ฒ๋ค์ ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก ์ค์น
์ํฌ์คํ ์ด์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ฉด ํด๋น ๋ฒ์ ์ ๋ฒ๋ค์ด ์ค์น๋์ด ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ๋ฒ์ ์ ์ํ๋ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ์ฌ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ ๋ฒ์ ์ธ TARGET_VERSION ๋ฒ๋ค์ ์ค์นํฉ๋๋ค.
ํ์ฌ
gkectl
๋ฐ ํด๋ฌ์คํฐ ๋ฒ์ ์ ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ณด๋ ค๋ฉด--details/-d
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG --details
์ถ๋ ฅ์์ ํด๋ฌ์คํฐ ๋ฒ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ถ๋ ฅ์ ๋ฐ๋ผ ๋ค์ ๋ฌธ์ ๋ฅผ ํ์ธํ๊ณ ํ์์ ๋ฐ๋ผ ์ด๋ฅผ ์์ ํฉ๋๋ค.
ํ์ฌ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๋ฒ์ ์ด TARGET_VERSION๋ณด๋ค ๋ฎ์ ๋ถ ๋ฒ์ ๋ ๊ฐ ์ด์์ด๋ฉด ๋ชจ๋ ํด๋ฌ์คํฐ๋ฅผ TARGET_VERSION๋ณด๋ค ๋ฎ์ ๋ถ ๋ฒ์ ํ๋๋ก ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
gkectl
๋ฒ์ ์ด 1.11๋ณด๋ค ๋ฎ๊ณ 1.12.x๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฌ๋ฌ ๋ฒ ์ํํด์ผ ํฉ๋๋ค. 1.11.x์ ๋๋ฌํ ๋๊น์ง ํ ๋ฒ์ ๋ถ ๋ฒ์ ํ๋๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ํ ์ด ์ฃผ์ ์ ์๋ด๋ฅผ ๋ฐ๋ผ ์งํํฉ๋๋ค.gkectl
๋ฒ์ ์ด TARGET_VERSION๋ณด๋ค ๋ฎ์ ๊ฒฝ์ฐ TARGET_VERSION์ผ๋ก ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
gkectl
๋ฐ ํด๋ฌ์คํฐ ๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋์ ์ ํฉํ ๊ฒ์ผ๋ก ํ์ธ๋์์ผ๋ฉด ๋ฒ๋ค์ ๋ค์ด๋ก๋ํฉ๋๋ค.๋ฒ๋ค tarball์ด ๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ด๋ฏธ ์๋์ง ํ์ธํฉ๋๋ค.
stat /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ๋ฒ๋ค์ด ์์ผ๋ฉด ์ด๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/TARGET_VERSION/gke-onprem-vsphere-TARGET_VERSION.tgz /var/lib/gke/bundles/
๋ฒ๋ค์ ์ค์นํฉ๋๋ค.
gkectl prepare --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz --kubeconfig ADMIN_CLUSTER_KUBECONFIG
ADMIN_CLUSTER_KUBECONFIG๋ฅผ kubeconfig ํ์ผ์ ๊ฒฝ๋ก๋ก ๋ฐ๊ฟ๋๋ค. ํ์ผ์ด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์๊ณ ์ด๋ฆ์ด
kubeconfig
์ด๋ฉด ์ด ํ๋๊ทธ๋ฅผ ์๋ตํ ์ ์์ต๋๋ค.์ฌ์ฉ ๊ฐ๋ฅํ ํด๋ฌ์คํฐ ๋ฒ์ ์ ๋์ดํ๊ณ ๋์ ๋ฒ์ ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๋ฒ์ ์ ํฌํจ๋์๋์ง ํ์ธํฉ๋๋ค.
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG --details
์ด์ ๋์ ๋ฒ์ ์ผ๋ก ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ๋์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค ๋ฌธ์ ํด๊ฒฐ
๊ถ์ฅ ์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅผ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด๋ฌํ ๊ถ์ฅ์ฌํญ์ ๋ฐ๋ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ด๋ฌํ ์ ์์ฌํญ์์๋ ๋ฒ์ 1.11.x ์ค์ ์ผ๋ก ์์ํ๊ณ ๊ถ์ฅ ์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์งํํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ฐธ์กฐ: ํด๋ฌ์คํฐ ์์ฑ ๋ฐ ์ ๊ทธ๋ ์ด๋ ๋ฌธ์ ํด๊ฒฐ
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋ ๋ฌธ์ ํด๊ฒฐ
์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ๋ ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. Google ์ง์์ ํตํด ์์ ๋ ํจ์น ์ถ์ ๋ฒ์ ์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒ์ ํ์ธํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์์ ์ํํ๋ฉด ๋ฉ๋๋ค.
- ํ๋ก๋์ ์ ํ์ฌ ๋ฒ์ ์ ๊ณ์ ์ฌ์ฉํฉ๋๋ค.
- ํจ์น ๋ฒ์ ์ด ์ถ์๋ ๋ ๋นํ๋ก๋์ ํด๋ฌ์คํฐ์์ ํจ์น ์ถ์ ๋ฒ์ ์ ํ ์คํธํฉ๋๋ค.
- ํ์ ์ด ๋ค๋ฉด ๋ชจ๋ ํ๋ก๋์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ ํจ์น ์ถ์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
- ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ํจ์น ์ถ์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋ ๋ฌธ์ ํด๊ฒฐ
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด Google ์ง์์ ์ฐ๋ฝํ์ฌ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋์ ์ ์ ๊ทธ๋ ์ด๋ ํ๋ฆ์์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ ์ ๊ทธ๋ ์ด๋๋ก ๋ฐฉํด๋์ง ์๊ณ ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๊ธฐ๋ฅ์ ๊ณ์ ํ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ํ๋ ๊ฒฝ์ฐ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ์ ์ ๊ทธ๋ ์ด๋ ๋น๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. ์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๋ ๋ค์๊ณผ ๊ฐ์ด ์งํ๋ ์ ์์ต๋๋ค.
- ํ๋ก๋์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ 1.12.x๋ก ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
- ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ด์ ๋ฒ์ ์ผ๋ก ์ ์งํ๊ณ ๋ณด์ ํจ์น๋ฅผ ๊ณ์ ์์ ํฉ๋๋ค.
- ํ ์คํธ ํ๊ฒฝ์์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ 1.11.x์์ 1.12.x๋ก ์ ๊ทธ๋ ์ด๋๋ฅผ ํ ์คํธํ๊ณ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
- 1.12.x ํจ์น ์ถ์ ๋ฒ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ์ํ๋ ๊ฒฝ์ฐ ํ๋ก๋์ ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๋ฅผ ์ด ํจ์น ์ถ์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
์ต์ ๋ฒ์ ์ ์๋ ค์ง ๋ฌธ์
๋ฒ์ 1.7 ์ด์์์ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์๋ ค์ง ๋ฌธ์ ๊ฐ ์ ๊ทธ๋ ์ด๋์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
์ฐธ์กฐ: ์๋ ค์ง ๋ฌธ์
๋ฐ์ดํฐ ๋์คํฌ๊ฐ ๊ฑฐ์ ๊ฐ๋ ์ฐฌ ๊ฒฝ์ฐ ๊ด๋ฆฌ ์ํฌ์คํ ์ด์ ์ ๊ทธ๋ ์ด๋๊ฐ ์คํจํ ์ ์์
gkectl upgrade admin-workstation
๋ช
๋ น์ด๋ก ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒฝ์ฐ, ์์คํ
์ด ์ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๋ ๋์ ํ์ฌ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ๋ก์ปฌ๋ก ๋ฐฑ์
ํ๋ ค๊ณ ์๋ํ๋ฏ๋ก ๋ฐ์ดํฐ ๋์คํฌ๊ฐ ๊ฑฐ์ ๊ฐ๋ ์ฐจ๋ฉด ์
๊ทธ๋ ์ด๋๊ฐ ์คํจํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ๋์คํฌ์ ์ถฉ๋ถํ ๊ณต๊ฐ์ ํ๋ณดํ ์ ์๋ ๊ฒฝ์ฐ ์ถ๊ฐ ํ๋๊ทธ --backup-to-local=false
์ ํจ๊ป gkectl upgrade admin-workstation
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ๊ด๋ฆฌ์ ์ํฌ์คํ
์ด์
์ ๋ก์ปฌ ๋ฐฑ์
์ ๋ง๋ค์ง ์๋๋ก ํฉ๋๋ค.
PodDisruptionBudget์ผ๋ก ์ํฌ๋ก๋ ์ค๋จ
ํ์ฌ๋ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ฉด PodDisruptionBudgets(PDB)์ ์ฌ์ฉํ๋ ์ํฌ๋ก๋์ ์ค๋จ ๋๋ ๋ค์ดํ์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ ธ๋๊ฐ ์ ๊ทธ๋ ์ด๋ ์ ์ฐจ๋ฅผ ์๋ฃํ์ง ๋ชปํจ
์ถ๊ฐ ์ค๋จ์ ํ์ฉํ ์ ์๋๋ก ๊ตฌ์ฑ๋ PodDisruptionBudget
๊ฐ์ฒด๊ฐ ์์ผ๋ฉด ๋ฐ๋ณต๋ ์๋ ํ ๋
ธ๋ ์
๊ทธ๋ ์ด๋๊ฐ ์ปจํธ๋กค ํ๋ ์ธ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋๋์ง ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ์คํจ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด PodDisruptionBudget
๊ตฌ์ฑ์ ์งํค๋ฉด์ ๋
ธ๋ ๋๋ ์ด๋์ ํ์ฉํ๋๋ก Deployment
๋๋ HorizontalPodAutoscaler
๋ฅผ ์์ง ํ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ค๋จ์ ํ์ฉํ์ง ์๋ ๋ชจ๋ PodDisruptionBudget
๊ฐ์ฒด๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
kubectl get poddisruptionbudget --all-namespaces -o jsonpath='{range .items[?(@.status.disruptionsAllowed==0)]}{.metadata.name}/{.metadata.namespace}{"\n"}{end}'
๋ถ๋ก
๋ฒ์ 1.1.0-gke.6์์ ์ฌ์ฉ ์ค์ ๋ VMware DRS ๊ท์น ์ ๋ณด
๋ฒ์ 1.1.0-gke.6๋ถํฐ Google Distributed Cloud๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๋ ธ๋์ ๋ํด VMware Distributed Resource Scheduler(DRS) ์ํฐ-์ดํผ๋ํฐ ๊ท์น์ ์๋์ผ๋ก ๋ง๋ค์ด ๋ฐ์ดํฐ ์ผํฐ์ ์๋ ์ต์ 3๊ฐ ์ด์์ ๋ฌผ๋ฆฌ์ ํธ์คํธ์ ๋ถ์ฐ๋๋๋ก ํฉ๋๋ค. ๋ฒ์ 1.1.0-gke.6๋ถํฐ ์ด ๊ธฐ๋ฅ์ ์ ํด๋ฌ์คํฐ์ ๊ธฐ์กด ํด๋ฌ์คํฐ์์ ์๋์ผ๋ก ์ฌ์ฉ ์ค์ ๋ฉ๋๋ค.
์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ vSphere ํ๊ฒฝ์ ๋ค์ ์กฐ๊ฑด์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค.
VMware DRS๊ฐ ์ฌ์ฉ ์ค์ ๋์ด ์์ต๋๋ค. VMware DRS์๋ vSphere Enterprise Plus ๋ผ์ด์ ์ค ๋ฒ์ ์ด ํ์ํฉ๋๋ค. DRS๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ํด๋ฌ์คํฐ์์ VMware DRS ์ฌ์ฉ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ ํ์ผ์ ์ ๊ณต๋ vSphere ์ฌ์ฉ์ ์ด๋ฆ์๋
Host.Inventory.EditCluster
๊ถํ์ด ์์ต๋๋ค.์ฌ์ฉ ๊ฐ๋ฅํ ๋ฌผ๋ฆฌ์ ํธ์คํธ๊ฐ 3๊ฐ ์ด์์ ๋๋ค.
vSphere ํ๊ฒฝ์ด ์์ ์กฐ๊ฑด์ ์ถฉ์กฑํ์ง ์๋ ๊ฒฝ์ฐ์๋ ์ ๊ทธ๋ ์ด๋ํ ์ ์์ง๋ง ์ฌ์ฉ์ ํด๋ฌ์คํฐ๋ฅผ 1.3.x์์ 1.4.x๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ํฐ์ดํผ๋ํฐ ๊ทธ๋ฃน์ ์ฌ์ฉ ์ค์งํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Google Distributed Cloud ์ถ์ ๋ ธํธ์ ์๋ ค์ง ๋ฌธ์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ๊ทธ๋ ์ด๋ ์ค ๋ค์ดํ์ ์ ๋ณด
๋ฆฌ์์ค | ์ค๋ช |
---|---|
๊ด๋ฆฌ์ ํด๋ฌ์คํฐ | ๊ด๋ฆฌ์ ํด๋ฌ์คํฐ๊ฐ ๋ค์ด๋๋ฉด ๋ค์ดํ์ ์์ธ์ด ๋๋ ์ค๋ฅ์ ์ํฅ์ ๋ฐ์ง ์๋ ํ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ์ํฌ๋ก๋๋ ์ฌ์ฉ์ ํด๋ฌ์คํฐ์์ ๊ณ์ ์คํ๋ฉ๋๋ค. |
์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ปจํธ๋กค ํ๋ ์ธ | ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ํด๋ฌ์คํฐ ์ปจํธ๋กค ํ๋ ์ธ์๋ ๋๋ ทํ ๋ค์ดํ์์ด ์์ด์ผ ํฉ๋๋ค. ํ์ง๋ง Kubernetes API ์๋ฒ๋ก์ ์ฅ๊ธฐ ์คํ ์ฐ๊ฒฐ์ด ๋์ด์ ธ ๋ค์ ์ค์ ํด์ผ ํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ API ํธ์ถ์๋ ์ฐ๊ฒฐ์ ์ค์ ํ ๋๊น์ง ๋ค์ ์๋ํด์ผ ํฉ๋๋ค. ์ต์ ์ ๊ฒฝ์ฐ์๋ ์ ๊ทธ๋ ์ด๋ ์ค์ ๋ค์ดํ์์ด ์ต๋ 1๋ถ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. |
์ฌ์ฉ์ ํด๋ฌ์คํฐ ๋ ธ๋ | ์ ๊ทธ๋ ์ด๋ ์ ์ฌ์ฉ์ ํด๋ฌ์คํฐ ๋ ธ๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ Google Distributed Cloud๋ ๋ ธ๋๋ฅผ ๋กค๋ง ๋ฐฉ์์ผ๋ก ๋ค์ ๋ง๋ค๊ณ ์ด ๋ ธ๋์์ ์คํ ์ค์ธ ์์ฐจ์ ์ผ๋ก ๋ค์ ์์ฝํฉ๋๋ค. ์ ์ ํ PodDisruptionBudgets๊ณผ ์ํฐ์ดํผ๋ํฐ ๊ท์น์ ์ค์ ํ์ฌ ์ํฌ๋ก๋์ ๋ํ ์ํฅ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. |
๋๋ฝ๋ ๊ฒฝ์ฐ ์ ๋ณด ํ์ผ ๋ค์ ๋ง๋ค๊ธฐ
๊ด๋ฆฌ์ ์ํฌ์คํ ์ด์ ์ ์ถ๋ ฅ ์ ๋ณด ํ์ผ์ด ๋๋ฝ๋ ๊ฒฝ์ฐ ์ด ํ์ผ์ ๋ค์ ๋ง๋ค์ด์ผ ์ ๊ทธ๋ ์ด๋๋ฅผ ์งํํ ์ ์์ต๋๋ค. ์ด ํ์ผ์ ์ํฌ์คํ ์ด์ ์ ์ฒ์ ๋ง๋ค ๋ ์์ฑ๋์๊ณ ์ ๊ทธ๋ ์ด๋๋ฅผ ์๋ฃํ ํ์ ์ ์ ๋ณด๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
์ถ๋ ฅ ์ ๋ณด ํ์ผ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Admin workstation version: GKEADM_VERSION Created using gkeadm version: GKEADM_VERSION VM name: ADMIN_WS_NAME IP: ADMIN_WS_IP SSH key used: FULL_PATH_TO_ADMIN_WS_SSH_KEY To access your admin workstation: ssh -i FULL-PATH-TO-ADMIN-WS-SSH-KEY ubuntu@ADMIN-WS-IP
๋ค์์ ์ํ ์ถ๋ ฅ ์ ๋ณด ํ์ผ์ ๋๋ค.
Admin workstation version: v1.10.3-gke.49 Created using gkeadm version: v1.10.3-gke.49 VM name: admin-ws-janedoe IP: 172.16.91.21 SSH key used: /usr/local/google/home/janedoe/.ssh/gke-admin-workstation Upgraded from (rollback version): v1.10.0-gke.194 To access your admin workstation: ssh -i /usr/local/google/home/janedoe/.ssh/gke-admin-workstation ubuntu@172.16.91.21
ํธ์ง๊ธฐ์์ ํ์ผ์ ๋ง๋ค๊ณ ์ ์ ํ ๋งค๊ฐ๋ณ์๋ฅผ ๋์ฒดํฉ๋๋ค. gkeadm์ด ์คํ๋๋ ๋๋ ํฐ๋ฆฌ์์ VM ์ด๋ฆ๊ณผ ๋์ผํ ํ์ผ ์ด๋ฆ์ผ๋ก ํ์ผ์ ์ ์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด VM ์ด๋ฆ์ด admin-ws-janedoe
์ธ ๊ฒฝ์ฐ ํ์ผ์ admin-ws-janedoe
๋ก ์ ์ฅํฉ๋๋ค.
๋ค์ ๋จ๊ณ
gcloud CLI ์ฐธ๊ณ ๋ฌธ์
Terraform ์ฐธ๊ณ ๋ฌธ์