์ด ํ์ด์ง๋ ํ์ ์ํด Fleet ์ฌ์ฉ์ ์ค์ ํ๊ณ ๊ด๋ฆฌํ๋ ค๋ ํ๋ซํผ ๊ด๋ฆฌ์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. Fleetํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ GKE Enterprise๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ฌ์ฉ์์๊ฒ๋ง ์ ๊ณต๋ฉ๋๋ค.
์ด ํ์ด์ง๋ฅผ ์ฝ์ผ๋ ค๋ฉด ๋จผ์ Fleet ํ ๊ด๋ฆฌ๋ฅผ ์์งํด์ผ ํฉ๋๋ค.
ํ ์ค์ ๊ฐ์
Google Cloud CLI, Google Cloud ์ฝ์ ๋๋ Terraform์ ์ฌ์ฉํ์ฌ ํ์ ์ค์ ํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ํ ์ค์ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ ์ก์ธ์ค๋ฅผ ์ค์ ํ Fleet์ ์ ํํ๊ฑฐ๋ ๋ง๋ค๊ณ ์ค์ ์ ์๋ฃํ๊ธฐ ์ํ ์ฌ๋ฐ๋ฅธ ๊ถํ๊ณผ API๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
- (์ ํ์ฌํญ์ด์ง๋ง ๊ถ์ฅ๋จ) Fleet ํด๋ฌ์คํฐ์์ Google ๊ทธ๋ฃน์ค์ ๋ํ ์ก์ธ์ค ์ ์ด๋ฅผ ์ค์ ํฉ๋๋ค.
- ํ์ ๊ตฌ์ฑํ ์ฌ์ฉ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ํ์๋ Google ๊ทธ๋ฃน์ค(๊ถ์ฅ) ๋๋ ๊ฐ๋ณ ๊ณ์ ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ๊ฐ ํ ๊ตฌ์ฑ์์๊ฒ Fleet ๋ฐ ํ ๋ฆฌ์์ค์ ๋ํ ์ํ๋ ์์ค์ ์ก์ธ์ค ๊ถํ์ ์ ํํฉ๋๋ค.
- ํ์ ํ ๋ฒ์๋ฅผ ๋ง๋ญ๋๋ค.
- Fleet ๊ตฌ์ฑ์ ํด๋ฌ์คํฐ ํ๋ ์ด์(๋๋ ๋ชจ๋)์ ํ ๋ฒ์์ ์ถ๊ฐํฉ๋๋ค.
- Fleet ์์ค ๋ค์์คํ์ด์ค๋ฅผ ์ ์ํ๊ณ ์ด๋ฅผ ํ ๋ฒ์์ ์ฐ๊ฒฐํฉ๋๋ค.
- (์ ํ์ฌํญ) ๊ตฌ์ฑ ๋๊ธฐํ๋ฅผ ์ฌ์ฉํ์ฌ Kubernetes ๋ฆฌ์์ค๋ฅผ ํ ๋ฒ์ ๋ฐ ๋ค์์คํ์ด์ค์ ๋๊ธฐํํฉ๋๋ค.
๊ทธ๋ฌ๋ฉด ํ์์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ Connect Gateway๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
Google Cloud CLI ์ค์
Google Cloud ์ฝ์์ ์ฌ์ฉํด์ ํ ๋ฒ์๋ฅผ ๋ง๋ค๋๋ผ๋ ํ์ํ API๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ๋ฑ Fleet์ ์ค์ ํ๋ ๋์ ์ผ๋ถ ๊ธฐ๋ณธ ์๊ฑด์ ์๋ฃํ๊ธฐ ์ํด gcloud CLI๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
Google Cloud CLI ์ํ ๊ตฌ์ฑ์์๋ฅผ ํฌํจํ์ฌ ์ต์ ๋ฒ์ ์ Google Cloud CLI๊ฐ ์๋์ง ํ์ธํฉ๋๋ค. Fleetํ ๊ด๋ฆฌ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ฒ์ 419.0.0 ์ด์์ด ํ์ํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ Google Cloud์ ๋ก๊ทธ์ธํฉ๋๋ค.
gcloud auth login
์ ํํ Fleet์ ํธ์คํธ ํ๋ก์ ํธ์์ ์ฌ์ฉํ gcloud CLI๋ฅผ ์ด๊ธฐํํ๊ฑฐ๋ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ Fleet ํธ์คํธ ํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.
gcloud config set project PROJECT_ID
ํ์ํ ๊ฒฝ์ฐ ๋ค์ ๋ช ๋ น์ด์
--project
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด์ ๋ค๋ฅธ Fleet ํธ์คํธ ํ๋ก์ ํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
Fleet ์ค์
์ ํ์ ์ค์ ํ Fleet์ ์ ํํ๊ฑฐ๋ ๋ง๋ญ๋๋ค. Fleet์ ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ด ๋๋ ๊ฐ์ด๋๋ผ์ธ ๋ฐ ์์๋ Fleet ์์ ๋ฐ Fleet ๊ณํ์ ๊ธฐํ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ง Fleet์ด ์๋ ํ๋ก์ ํธ์ ๋ช ๋ช ๋ Fleet์ ์๋ก ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ๋จผ์ Google Cloud CLI๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
gcloud container fleet create \
--display-name=NAME \
--project=FLEET_HOST_PROJECT_ID
display-name
์ ์ง์ ํ์ง ์์ผ๋ฉด Fleet ํธ์คํธ ํ๋ก์ ํธ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ๋ณธ ํ์ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ Fleet์ด ์์ฑ๋ฉ๋๋ค.
ํ์ํ IAM ์ญํ
Fleet ํธ์คํธ ํ๋ก์ ํธ์ roles/owner
๊ฐ ์์ผ๋ฉด ํ ๋ฒ์์ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๊ณ ๊ตฌ์ฑํ๊ธฐ ์ํด roles/gkehub.admin
์ด ํ์ํฉ๋๋ค. ํ๋ก์ ํธ ์์ ์๋ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์ญํ ์ ๋ถ์ฌํ ์ ์์ต๋๋ค.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member user:USER_EMAIL_ADDRESS \
--role='roles/gkehub.admin'
API ์ฌ์ฉ ์ค์
Fleet ํธ์คํธ ํ๋ก์ ํธ์ GKE Enterprise API๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ํ์ API๊ฐ ์ฌ์ฉ ์ค์ ๋์๋์ง ํ์ธํฉ๋๋ค.
gcloud services enable --project=PROJECT_ID \
gkehub.googleapis.com \
container.googleapis.com \
connectgateway.googleapis.com \
cloudresourcemanager.googleapis.com \
iam.googleapis.com \
anthos.googleapis.com
Fleet ํ ๊ด๋ฆฌ๋ฅผ ๊ตฌ์ฑํ ํ GKE Enterprise API๋ฅผ ์ค์งํ๋ฉด ์ผ๋ถ ๊ธฐ๋ฅ์ด ๊ณ์ ์๋ํ์ง๋ง ํ ๋ฒ์ ๋๋ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๋ง๋ค ์ ์์ต๋๋ค.
Google ๊ทธ๋ฃน์ค๋ก ์ก์ธ์ค ์ ์ด๋ฅผ ์ํด ํด๋ฌ์คํฐ ๊ตฌ์ฑ
์ถ๊ฐ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์ด RBAC๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ์ก์ธ์ค ๊ถํ์ ์ฌ์ฉ์๋ณ๋ก Fleet ๊ตฌ์ฑ์ ํด๋ฌ์คํฐ์ ๊ตฌ์ฑํ ์ ์์ง๋ง ํ ๊ตฌ์ฑ์์๊ฒ ํ Google ๊ทธ๋ฃน์ ๋ฉค๋ฒ์ญ ๊ธฐ๋ฐ์ผ๋ก ํด๋ฌ์คํฐ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ์ ๊ธฐ์ค์ผ๋ก ์น์ธํ๋ฉด ๊ณ์ ๋ง๋ค ๋ณ๋์ ์น์ธ์ ์ค์ ํ ํ์๊ฐ ์์ผ๋ฏ๋ก ์ ์ฑ ์ ๋ณด๋ค ๊ฐํธํ๊ฒ ๊ด๋ฆฌํ๊ณ ๊ฐ์ฌํ ์ ์์ผ๋ฉฐ ํ์ ๊ฐ์ ํ๊ฑฐ๋ ํํดํ ๋ ํด๋ฌ์คํฐ์์ ์ง์ ๊ฐ๋ณ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐ/์ญ์ ํ ํ์๊ฐ ์์ต๋๋ค. ๋ค์ ๊ฐ์ด๋์ ๋ฐ๋ผ ํ ๋ฒ์์ ํ ๋นํ๋ ค๋ ํด๋ฌ์คํฐ๊ฐ ์ก์ธ์ค ์ ์ด๋ฅผ ์ํด Google ๊ทธ๋ฃน์ค ๋ฐ Connect Gateway๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
- Google Cloud์ GKE ํด๋ฌ์คํฐ์ ๊ฒฝ์ฐ RBAC์ฉ Google ๊ทธ๋ฃน์ค ๊ตฌ์ฑ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
- Google Cloud ์ธ๋ถ์ Fleet ๊ตฌ์ฑ์ ํด๋ฌ์คํฐ์ ๊ฒฝ์ฐ Google ๊ทธ๋ฃน์ค๋ฅผ ์ฌ์ฉํ์ฌ Connect ๊ฒ์ดํธ์จ์ด ์ค์ ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์ ํ ์ค์
๋ค์ ์๋ด์์๋ ํ์ ์ ํ ๋ฒ์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
ํ ์ก์ธ์ค ๊ถํ ์ ํ
๋จผ์ ํ์ ๊ตฌ์ฑํ ์ฌ์ฉ์๋ฅผ ๊ฒฐ์ ํ๊ฑฐ๋ ์ฐพ์ต๋๋ค. ํ ์ค์ ์์ ์ค์ํ ๋ถ๋ถ์ Google Cloud ์ฝ์์์ ํด๋ฌ์คํฐ๋ฅผ ๋ณด๊ณ ํ ๋ฒ์ ์ ์ฒด์์ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์๋ ๊ธฐ๋ฅ์ ํฌํจํ์ฌ ์ด๋ฌํ ํ ๊ตฌ์ฑ์์๊ฒ Fleet์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์
๋๋ค. ํ ๊ตฌ์ฑ์์ ์ญํ ์ ๋ฐ๋ผ ํ ๋ฒ์ ๋ด์์ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋๋ ๊ถํ(gkehub.ScopeAdmin
๋๋ gkehub.ScopeEditor
์์ ์ฌ์ฉ ๊ฐ๋ฅ)์ ์์ํ๊ฑฐ๋ RBAC ์ญํ ๋ฐ์ธ๋ฉ์ ์
๋ฐ์ดํธํ๋๋ก ํ์ฉํ ์ ์์ต๋๋ค(gkehub.ScopeAdmin
๋ง ํด๋น). ์ด ์ค์ ์ ๊ฐ์ํํ๊ธฐ ์ํด Fleetํ ๊ด๋ฆฌ๋ ํ ๋ฒ์ ๊ด๋ฆฌ์, ํธ์ง์ ๋๋ ๋ทฐ์ด๊ฐ ํด๋น ๋ฒ์์์ ์์
ํ ๋ ํ์ํ ์ ์๋ ์ ์ฒด IAM ๋ฐ Kubernetes RBAC ๊ถํ ์งํฉ์ ํฌํจํ์ฌ ์ธ ๊ฐ์ง ์ปค์คํ
๊ถํ ์บ๋ฆญํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฐ ํ ๋ค์ ์น์
์ ์ค๋ช
๋๋ก ํ์ ์ค์ ํ ๋ ์ด๋ฌํ ์บ๋ฆญํฐ๋ฅผ ํ ๊ตฌ์ฑ์์๊ฒ ํ ๋นํ ์ ์์ต๋๋ค.
๋ค์ ํ์์๋ ๊ฐ ์บ๋ฆญํฐ์ ๋ถ์ฌ๋๋ ๊ฐ ์ ํ์ ๊ถํ์ ๋ณด์ฌ์ค๋๋ค.
์ค๋ช | ์ ํ | ๋ฒ์ ๊ด๋ฆฌ์ ์บ๋ฆญํฐ | ๋ฒ์ ํธ์ง์ ์บ๋ฆญํฐ | ๋ฒ์ ๋ทฐ์ด ์บ๋ฆญํฐ |
---|---|---|---|---|
ํ ๋ฒ์ ๋ฐ ํด๋น ๋ค์์คํ์ด์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋๋ค. |
ํ ๋ฒ์์ IAM ๋ฐ์ธ๋ฉ | roles/gkehub.ScopeAdmin | roles/gkehub.ScopeEditor | roles/gkehub.ScopeViewer |
์ธก์ ํญ๋ชฉ, ์ฅ๊ธฐ ์คํ ์์ , Connect ๊ฒ์ดํธ์จ์ด๋ฅผ ํฌํจํ Fleet ํธ์คํธ ํ๋ก์ ํธ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋๋ค. |
Fleet ํธ์คํธ ํ๋ก์ ํธ์ IAM ๋ฐ์ธ๋ฉ | roles/gkehub.ScopeEditorProjectLevel | roles/gkehub.ScopeEditorProjectLevel | roles/gkehub.ScopeViewerProjectLevel |
ํ ๋ฒ์์ ๋ก๊ทธ ๋ฒํท์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋๋ค. |
Fleet ํธ์คํธ ํ๋ก์ ํธ์ IAM ๋ฐ์ธ๋ฉ(์ก์ธ์ค๋๋ ๋ฆฌ์์ค๊ฐ ๋ฒํท ์ด๋ฆ์ธ ์กฐ๊ฑด ํฌํจ)์ ๋๋ค. | roles/logging.viewAccessor | roles/logging.viewAccessor | roles/logging.viewAccessor |
๋ฒ์์ ํด๋ฌ์คํฐ ๋ด Kubernetes ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋๋ค. |
ํ ๋ฒ์์ ๋ค์์คํ์ด์ค์ ์ ์ฉ๋๋ ๋ฒ์์ RBAC ๋ฐ์ธ๋ฉ์ ๋๋ค. | Kubernetes ๊ธฐ๋ณธ ์ญํ : ๊ด๋ฆฌ์ | Kubernetes ๊ธฐ๋ณธ ์ญํ : ์์ | Kubernetes ๊ธฐ๋ณธ ์ญํ : ๋ทฐ |
ํ ๊ด๋ฆฌ์๊ฐ ๊ฐ๋ณ ์ฌ์ฉ์์๊ฒ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์๋ ์์ง๋ง, ์ด์ ์น์ ์ ์ค๋ช ๊ณผ ๊ฐ์ด Google ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ์ ๊ธฐ์ค์ผ๋ก ํ ๊ตฌ์ฑ์์๊ฒ ๋ฆฌ์์ค ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด๋ฌํ ์บ๋ฆญํฐ๊ฐ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์์ ํ ์ถฉ์กฑํ์ง ์๋ ๊ฒฝ์ฐ IAM(gcloud container fleet scopes add-iam-policy-binding
์ฌ์ฉ) ๋ฐ RBAC(gcloud container fleet scopes rbacrolebindings create
์ฌ์ฉ) ์ญํ ์ ๊ฐ๋ณ์ ์ผ๋ก ๋ฐ์ธ๋ฉํ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐ์ธ๋ฉ์ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ถ๊ฐ ๋ช
๋ น์ด๋ Google Cloud CLI ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
ํ ๋ฒ์ ์ค์
gcloud
ํ ๋ฒ์ ๋ง๋ค๊ธฐ
Fleet์์ ์ ํ ๋ฒ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ์ฌ๊ธฐ์ SCOPE_NAME์ ์ ๋ฒ์์ ๋ํด ์ ํํ ๊ณ ์ ์๋ณ ์ด๋ฆ์ ๋๋ค.
gcloud container fleet scopes create SCOPE_NAME
ํ ๋ฒ์์ ํด๋ฌ์คํฐ ์ถ๊ฐ
๊ธฐ์กด Fleet ๊ตฌ์ฑ์๋ง ํ ๋ฒ์์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค. ์ด ์๋ด์์๋ ๋ฒ์์ ์ถ๊ฐํ๋ ค๋ ํด๋ฌ์คํฐ๊ฐ ์ด๋ฏธ Fleet ๋ฉค๋ฒ๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค. Fleet์ ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ Fleet ๋ง๋ค๊ธฐ์์ ํด๋ฌ์คํฐ ์ ํ์ ํด๋นํ๋ ์๋ด์ ๋ฐ๋ผ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํฉ๋๋ค. ์์์ ์ค๋ช ํ ๋๋ก ์๋ก ๋ฑ๋ก๋ ํด๋ฌ์คํฐ๊ฐ ์ก์ธ์ค ์ ์ด์ฉ Google ๊ทธ๋ฃน์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋์๋์ง ํ์ธํฉ๋๋ค.
Fleet ๊ตฌ์ฑ์ ํด๋ฌ์คํฐ๋ Fleet ํธ์คํธ ํ๋ก์ ํธ์ ์ฌ๋ฌ ํ ๋ฒ์์ ์ ํ ์์ด ์ถ๊ฐ๋ ์ ์์ต๋๋ค.
ํด๋ฌ์คํฐ๋ฅผ ํ ๋ฒ์์ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet memberships bindings create BINDING_NAME \
--membership MEMBERSHIP_NAME \
--scope SCOPE_NAME \
--location MEMBERSHIP_LOCATION
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- BINDING_NAME: ํด๋ฌ์คํฐ์ ํ ๋ฒ์ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ด๋ฆ์ ๋๋ค. MEMBERSHIP_NAME-SCOPE_NAME์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- MEMBERSHIP_NAME: Fleet ๋ด์ ํด๋ฌ์คํฐ ๊ณ ์ ์๋ณ์(์ผ๋ฐ์ ์ผ๋ก ํด๋ฌ์คํฐ ์ด๋ฆ)์ ๋๋ค.
- (์ ํ์ฌํญ) MEMBERSHIP_LOCATION: ํด๋ฌ์คํฐ์ ๋ฉค๋ฒ์ญ ์์น์
๋๋ค. ์๋ตํ ๊ฒฝ์ฐ ๊ฐ์ ํด๋ฌ์คํฐ ๋ฑ๋ก ์ ๊ธฐ๋ณธ๊ฐ์ธ
global
์ ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๋ง๋ค๊ธฐ
ํ ๋ฒ์์ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces create NAMESPACE_NAME --scope=SCOPE_NAME
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- NAMESPACE_NAME: Fleet ๋ด์์ ๋ค์์คํ์ด์ค์ ๋ํด ์ ํํ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. NAMESPACE_NAME์ด Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ ์ง์ ์ ํ์ฌํญ๊ณผ ์ถฉ๋ํ์ง ์๋๋ก ํด์ผ ํฉ๋๋ค.
- SCOPE_NAME: ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ํ ๋ฒ์์ ๋๋ค.
์ด ๋ช ๋ น์ด๋ ํ ๋ฒ์์ ๊ฐ ํด๋ฌ์คํฐ์ NAMESPACE_NAME์ด๋ผ๋ Kubernetes ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค. ๊ฐ๋ฐ์๊ฐ ํ ๊ตฌ์ฑ์์๊ฒ ๋ฒ์์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ํ์ ํ ๊ตฌ์ฑ์์ ๋ค๋ฅธ Kubernetes ๋ค์์คํ์ด์ค์ ๊ฐ์ด NAMESPACE_NAME์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฏธ ํ ๋ฒ์์ NAMESPACE_NAME์ด๋ผ๋ ๊ธฐ์กด Kubernetes ๋ค์์คํ์ด์ค๊ฐ ์์ผ๋ฉด ์ Fleet ๋ค์์คํ์ด์ค์ ์ผ๋ถ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ด๋ฅผ ๋ค์์คํ์ด์ค ์จ๋ณด๋ฉ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
ํ ๊ตฌ์ฑ์์๊ฒ ํ ๋ฒ์์ ๋ํ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ
๊ทธ๋ฐ ํ ๊ด๋ จ Google ๊ทธ๋ฃน์ค์ ์ ๋ฒ์์์ ์๋ํ๋๋ก ์ ์ ํ IAM ๋ฐ RBAC ๊ถํ์ด ์๋์ง ํ์ธํฉ๋๋ค.
gcloud alpha container fleet scopes add-app-operator-binding SCOPE_ID
--role=ROLE --group=TEAM_EMAIL --project PROJECT_ID
- PROJECT_ID๋ Fleet ํธ์คํธ ํ๋ก์ ํธ์ ID์ ๋๋ค.
- TEAM_EMAIL์ ํ์ Google ๊ทธ๋ฃน ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
- SCOPE_ID๋ ์์ฑ๋ ๋ฒ์์ ID์ ๋๋ค.
- ROLE์ ๊ทธ๋ฃน์ด ํ ๋ฒ์์ ์ํ๋ ๊ถํ ์บ๋ฆญํฐ์
๋๋ค. ์ด ๋งค๊ฐ๋ณ์์ ๊ฐ์
admin
(๋ฒ์ ๊ด๋ฆฌ์),edit
(๋ฒ์ ํธ์ง์) ๋๋view
(๋ฒ์ ๋ทฐ์ด)์ผ ์ ์์ต๋๋ค.
๋ฒ์์ ๊ฐ๋ณ ์ฌ์ฉ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ค์ ๋ช ๋ น์ด๋ฅผ ๋์ ์คํํฉ๋๋ค. ์ฌ๊ธฐ์ USER_EMAIL์ ์ฌ์ฉ์์ Google ID ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
gcloud alpha container fleet scopes add-app-operator-binding SCOPE_ID
--role=ROLE --user=USER_EMAIL --project PROJECT_ID
์ฝ์
ํ ๋ฒ์ ๋ง๋ค๊ธฐ
Fleet ํธ์คํธ ํ๋ก์ ํธ๊ฐ ์ ํ๋ ์ํ์์ Google Cloud ์ฝ์์ ํ ์น์ ์ผ๋ก ์ด๋ํฉ๋๋ค.
ํ์ด์ง ์๋จ์์ ํ ๋ฒ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ ๊ธฐ๋ณธ์ฌํญ ํ์ด์ง์์ ์ด๋ฆ์ ํ ๋ฒ์์ ๋ํ ๊ณ ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ํ ๋ฒ์๋ฅผ ๋ง๋ ํ์๋ ์ด ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ฒ์์ ํ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ํ ๋ฉค๋ฒ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ ํ์ผ๋ก ์ฌ์ฉ์๋ฅผ ์ ํํด์ ๊ฐ๋ณ ํ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ๊ทธ๋ฃน์ ์ ํํด์ Google ๊ทธ๋ฃน์ ์ถ๊ฐํฉ๋๋ค(๊ถ์ฅ๋จ).
- ์ฌ์ฉ์ ๋๋ ๊ทธ๋ฃน์ ๋ํด ํ ๋ฉค๋ฒ ๋๋ ๊ทธ๋ฃน์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ์ญํ ์์ ๋ฒ์ ๊ด๋ฆฌ์, ๋ฒ์ ํธ์ง์, ๋ฒ์ ๋ทฐ์ด๋ฅผ ์ ํํฉ๋๋ค. ์ด๋ ํ ์ก์ธ์ค ๊ถํ ์ ํ์ ์ค๋ช ๋ ๋๋ก ๋ฒ์์ Fleet์์ ์ฌ๋ฌ IAM ๋ฐ RBAC ๋ฐ์ธ๋ฉ์ ๊ตฌ์ฑํฉ๋๋ค.
์ด ๋จ๊ณ์์ ํด๋ฌ์คํฐ ๋ฐ ๋ค์์คํ์ด์ค๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ํ ๋ฒ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ํ ๋ฒ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค์ ์น์ ์ ๊ณ์ํด์ ๋ฒ์์ ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ํ ๋ฒ์์ ํด๋ฌ์คํฐ ์ถ๊ฐ
ํ ๋ฒ์์ ํด๋ฌ์คํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ค๋ฉด ํด๋ฌ์คํฐ๊ฐ ๊ธฐ์กด Fleet ๋ฉค๋ฒ์ฌ์ผ ํฉ๋๋ค. Fleet์ ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ Fleet ๋ง๋ค๊ธฐ์์ ํด๋ฌ์คํฐ ์ ํ์ ํด๋นํ๋ ์๋ด์ ๋ฐ๋ผ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํฉ๋๋ค. ์์์ ์ค๋ช ํ ๋๋ก ์๋ก ๋ฑ๋ก๋ ํด๋ฌ์คํฐ๊ฐ ์ก์ธ์ค ์ ์ด์ฉ Google ๊ทธ๋ฃน์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋์๋์ง ํ์ธํฉ๋๋ค.
Fleet ๊ตฌ์ฑ์ ํด๋ฌ์คํฐ๋ฅผ Fleet ํธ์คํธ ํ๋ก์ ํธ์ ์ฌ๋ฌ ํ ๋ฒ์์ ์ถ๊ฐํ ์ ์์ผ๋ฏ๋ก ์ฌ๋ฌ ํ์ด ๊ฐ์ ํด๋ฌ์คํฐ์์ ์ํฌ๋ก๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ํ ๊ธฐ๋ณธ์ฌํญ ํ์ด์ง์์ ๋ฒ์์ ํ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ ํ ๊ณ์์ ํด๋ฆญํฉ๋๋ค.
- ํด๋ฌ์คํฐ ํ์ด์ง์์ ์ด ํ ๋ฒ์์ ์ฐ๊ฒฐํ Fleet ํด๋ฌ์คํฐ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ ๋๋กญ๋ค์ด์์ ์ถ๊ฐํ๋ ค๋ ํด๋ฌ์คํฐ๋ฅผ ์ ํํ๊ณ ํ์ธ์ ํด๋ฆญํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๋ง๋ค๊ธฐ
ํ ๋ฉค๋ฒ๊ฐ ๋ค๋ฅธ Kubernetes ๋ค์์คํ์ด์ค์ ๊ฐ์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๋ฉด ์์ง Kubernetes ๋ค์์คํ์ด์ค๊ฐ ์๋ ๊ฒฝ์ฐ ํ ๋ฒ์์ ์์ฑ๋ฉ๋๋ค.
- ํด๋ฌ์คํฐ ํ์ด์ง์์ ํด๋ฌ์คํฐ๋ฅผ ํ ๋ฒ์์ ์ถ๊ฐํ ํ ๊ณ์์ ํด๋ฆญํฉ๋๋ค.
- ๋ค์์คํ์ด์ค ํ์ด์ง์์ ๋ค์์คํ์ด์ค ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด๋ฆ์ Fleet ๋ด์ ๋ค์์คํ์ด์ค์ ๋ํ ๊ณ ์ ์ด๋ฆ ๋๋ ์จ๋ณด๋ฉํ๋ ค๋ ๊ธฐ์กด ๋ค์์คํ์ด์ค์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์ด๋ฆ์ด Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ ์ง์ ์ ํ์ฌํญ๊ณผ ์ถฉ๋ํ์ง ์๋๋ก ํด์ผ ํฉ๋๋ค.
- ๋ฒ์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ ์ถ๊ฐํ๋ ค๋ฉด ์ด์ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
- ํ ๋ฒ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ํ ๋ฒ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ํ ๋ฒ์๊ฐ ์์ฑ๋๋ฉด ํ์ํ ๊ฒฝ์ฐ ํ ์น์ ์์ ํ ๋ฒ์ ์ด๋ฆ์ ํด๋ฆญํ์ฌ ํ ๋ฒ์๋ฅผ ๋ณด๊ณ ์์ ํ ์ ์์ต๋๋ค.
Terraform
์ด ์น์ ์์๋ Terraform์ ์ฌ์ฉํด์ ์ ํ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์์ธํ ๋ด์ฉ๊ณผ ๊ธฐํ ์์๋ ๋ค์ ๋ฆฌ์์ค์ ๋ํ ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
google_gke_hub_scope
google_gke_hub_membership_binding
google_gke_hub_namespace
google_gke_hub_scope_rbac_role_binding
ํ ๋ฒ์ ๋ง๋ค๊ธฐ
ํ ๋ฒ์๋ฅผ ๋ง๋ค๋ ค๋ฉด Terraform ๊ตฌ์ฑ์์ ๋ค์ ๋ธ๋ก์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
resource "google_gke_hub_scope" "TF_SCOPE_RESOURCE_NAME" {
scope_id = "SCOPE_NAME"
}
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- TF_SCOPE_RESOURCE_NAME: ์ด ๋ธ๋ก์์ ์์ฑ๋ Terraform
google_gke_hub_scope
๋ฆฌ์์ค๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๊ธฐ ์ํด ์ ํํ๋ ์ด๋ฆ์ ๋๋ค. - SCOPE_NAME: ํ ๋ฒ์์ ๊ณ ์ ํ ์๋ณ ์ด๋ฆ์ ๋๋ค.
๋ฒ์์ ํด๋ฌ์คํฐ ์ถ๊ฐ
๊ธฐ์กด Fleet ๊ตฌ์ฑ์๋ง ํ ๋ฒ์์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค. Fleet์ ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ Fleet ๋ง๋ค๊ธฐ์์ ํด๋ฌ์คํฐ ์ ํ์ ํด๋นํ๋ ์๋ด์ ๋ฐ๋ผ ํด๋ฌ์คํฐ๋ฅผ ๋ฑ๋กํฉ๋๋ค. ์์์ ์ค๋ช ํ ๋๋ก ์๋ก ๋ฑ๋ก๋ ํด๋ฌ์คํฐ๊ฐ ์ก์ธ์ค ์ ์ด์ฉ Google ๊ทธ๋ฃน์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋์๋์ง ํ์ธํฉ๋๋ค.
ํด๋ฌ์คํฐ๋ฅผ ํ ๋ฒ์์ ์ถ๊ฐํ๋ ค๋ฉด ๊ตฌ์ฑ์์ ๋ค์ ๋ธ๋ก์ ์ฌ์ฉํฉ๋๋ค.
resource "google_gke_hub_membership_binding" "TF_MEMBERSHIP_BINDING_RESOURCE_NAME" {
membership_binding_id = "BINDING_NAME"
scope = SCOPE_NAME
membership_id = MEMBERSHIP_NAME
location = "MEMBERSHIP_LOCATION"
}
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- TF_MEMBERSHIP_BINDING_RESOURCE_NAME: ์ด ๋ธ๋ก์ผ๋ก ์์ฑ๋
google_gke_hub_membership_binding
๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ์ด๋ฆ์ ๋๋ค. - BINDING_NAME: ํด๋ฌ์คํฐ์ ๋ฒ์ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ด๋ฆ์ ๋๋ค. MEMBERSHIP_NAME-SCOPE_NAME์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- SCOPE_NAME: ํ ๋ฒ์์ ์ด๋ฆ์ ๋๋ค.
- MEMBERSHIP_NAME: Fleet ๋ด์ ํด๋ฌ์คํฐ ๊ณ ์ ์๋ณ์(์ผ๋ฐ์ ์ผ๋ก ํด๋ฌ์คํฐ ์ด๋ฆ)์ ๋๋ค.
- MEMBERSHIP_LOCATION: ํด๋ฌ์คํฐ์ ๋ฉค๋ฒ์ญ ์์น์ ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๋ง๋ค๊ธฐ
ํ ๋ฉค๋ฒ๊ฐ ๋ค๋ฅธ Kubernetes ๋ค์์คํ์ด์ค์ ๊ฐ์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ๊ธฐ์กด ๋ค์์คํ์ด์ค๋ฅผ ์จ๋ณด๋ฉํ ์ ์์ต๋๋ค. Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๋ฉด ์์ง Kubernetes ๋ค์์คํ์ด์ค๊ฐ ์๋ ๊ฒฝ์ฐ ํ ๋ฒ์์ ์์ฑ๋ฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด ๊ตฌ์ฑ์์ ๋ค์ ๋ธ๋ก์ ์ฌ์ฉํฉ๋๋ค.
resource "google_gke_hub_namespace" "TF_NAMESPACE_RESOURCE_NAME" {
scope_namespace_id = "NAMESPACE_NAME"
scope_id = SCOPE_NAME
scope = SCOPE_NAME
}
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- TF_NAMESPACE_RESOURCE_NAME: ์ด ๋ธ๋ก์ผ๋ก ์์ฑ๋
google_gke_hub_namespace
๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ์ด๋ฆ์ ๋๋ค. - NAMESPACE_NAME: Fleet ๋ค์์คํ์ด์ค์ ์ ํํ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ด Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ ์ง์ ์ ํ์ฌํญ๊ณผ ์ถฉ๋ํ์ง ์๋๋ก ํด์ผ ํฉ๋๋ค.
- SCOPE_NAME: Fleet ๋ค์์คํ์ด์ค๊ฐ ์์ฑ๋๋ ํ ๋ฒ์์ ์ด๋ฆ์ ๋๋ค.
๋ฒ์ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ
์ด์ ์น์ ์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ IAM ๋ฐ RBAC ๊ถํ์ ๋ชจ๋ ํฌํจํ๋ ๊ถํ ์บ๋ฆญํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ ๊ตฌ์ฑ์์๊ฒ ๋ฒ์์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ๋ณ ์ฌ์ฉ์์๊ฒ ํ ๋ฒ์์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
module "TF_SCOPE_RESOURCE_NAME_USER_EMAIL" {
source = "terraform-google-modules/kubernetes-engine/google//modules/fleet-app-operator-binding"
scope_id = "SCOPE_NAME"
user = "USER_EMAIL"
role = "ROLE"
}
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- TF_SCOPE_RESOURCE_NAME: ๋ฒ์์ ์ด๋ฆ์ ๋๋ค.
- BINDING_NAME: ์ด ๋ฐ์ธ๋ฉ์ ๋ํ๋ด๋ ์ด๋ฆ์ ๋๋ค.
- SCOPE_NAME: ํ ๋ฒ์์ ์ด๋ฆ์ ๋๋ค.
- USER_EMAIL: ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
- ROLE: ์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ ์บ๋ฆญํฐ์
๋๋ค.
ADMIN
,EDIT
,VIEW
์ค์์ ์ ํํ ์ ์์ต๋๋ค.
Google ๊ทธ๋ฃน์ ํ ๋ฒ์์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ค๋ฉด ์์ ๊ตฌ์ฑ์์ user
๋์ group
์ ์ฌ์ฉํ๊ณ ํ์ Google ๊ทธ๋ฃน์ ๋ํ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ์ก์ธ์ค
์ค์ ์ด ์๋ฃ๋๋ฉด ํ ๊ตฌ์ฑ์์ด ๊ด๋ จ ํด๋ฌ์คํฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ๋ฒ์ ๋ด์ ๋ค์์คํ์ด์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค. Connect Gateway๋ฅผ ์ฌ์ฉํ์ฌ Fleet ๊ตฌ์ฑ์ ํด๋ฌ์คํฐ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ์ฌ๊ธฐ์ MEMBERSHIP_NAME์ ํด๋ฌ์คํฐ์ Fleet ๋ฉค๋ฒ์ญ ์ด๋ฆ์ ๋๋ค.
gcloud container fleet memberships get-credentials MEMBERSHIP_NAME
์์ธํ ๋ด์ฉ์ Connect ๊ฒ์ดํธ์จ์ด ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์.
ํ ๋ฒ์ ๊ด๋ฆฌ
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋ฒ์๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
gcloud
ํ ๋ฒ์ ๋์ด
Fleet์ ๋ชจ๋ ๋ฒ์๋ฅผ ๋์ดํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes list
ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋ฒ์๋ฅผ ๋์ดํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet memberships bindings list --membership MEMBERSHIP_NAME
ํ ๋ฒ์์์ ํด๋ฌ์คํฐ ์ญ์
๋ฒ์์์ ํด๋ฌ์คํฐ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet memberships bindings delete BINDING_NAME --membership MEMBERSHIP_NAME
ํ ๋ฒ์ ์ญ์
Fleet์์ ๋ฒ์๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes delete SCOPE_NAME
Console
ํ ๋ฒ์ ๋์ด
Fleet์ ๋ชจ๋ ๋ฒ์๋ฅผ ๋ณด๋ ค๋ฉด Fleet ํธ์คํธ ํ๋ก์ ํธ๊ฐ ์ ํ๋ ์ํ๋ก Google Cloud ์ฝ์์์ ํ ์น์ ์ผ๋ก ์ด๋ํฉ๋๋ค.
ํ ํ์ด์ง์ Fleet์ ๋ํด ์์ฑ๋ ๋ชจ๋ ํ ๋ฒ์ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค. ๊ฐ ๋ฒ์์ ๋ํด ์ง์ ๋ ๊ธฐ๊ฐ ๋์์ ๋ฆฌ์์ค ์ฌ์ฉ๋ฅ ์์ฝ ์ ๋ณด๋ฅผ ๋ณด๊ณ , ์์ ์๊ฐ ๋น์ฉ, ์ค๋ฅ ์, ์ปจํ ์ด๋ ๋ค์ ์์ ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๋น์ฉ ์ต์ ํ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด๋ค ์์ธํ ๋น์ฉ ๊ด๋ จ ์ฌ์ฉ๋ฅ ์ธก์ ํญ๋ชฉ์ ํ์ธํ ์ ์์ต๋๋ค.
ํ ๋ฒ์ ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ
๊ฐ ํ ๋ฒ์์ ๋ํด ํด๋น ๋ฒ์, ํ ๋ฉค๋ฒ, ํ ๋ฒ์ ๋ก๊ทธ์ ๊ด๋ จ๋ ๋ผ๋ฒจ์ ํฌํจํ์ฌ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ํ ํ์ด์ง์์ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ ํ ๋ฒ์๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ํ ํญ์์ ๋ฒ์ ๋ผ๋ฒจ์ ๋ณด๊ณ ํ ๋ฉค๋ฒ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ๋ชจ๋ํฐ๋ง ํญ์ ํด๋ฆญํ์ฌ ํ์ ๋ฆฌ์์ค ์ฌ์ฉ๋ฅ ์ธก์ ํญ๋ชฉ์ ํ์ธํฉ๋๋ค.
- ํด๋ฌ์คํฐ ํญ์ ํด๋ฆญํ์ฌ ํ ๋ฒ์์ ํด๋ฌ์คํฐ๋ฅผ ํ์ธํฉ๋๋ค.
- ๋ค์์คํ์ด์ค ํญ์ ํด๋ฆญํ์ฌ ์ด ํ ๋ฒ์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ํ์ธํฉ๋๋ค.
- ๋ก๊ทธ ํญ์ ํด๋ฆญํ์ฌ ํ ๋ฒ์ ๋ก๊ทธ๋ฅผ ํ์ธํฉ๋๋ค.
ํ ๋ฒ์์์ ํด๋ฌ์คํฐ ์ถ๊ฐ ๋๋ ์ญ์
๊ธฐ์กด ํ ๋ฒ์์์ ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ ํ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ค๋ ํ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค. ํด๋ฌ์คํฐ ํญ์ ํ์ฌ ํด๋น ๋ฒ์์ ๋ฐ์ธ๋ฉ๋ ํด๋ฌ์คํฐ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
ํด๋ฌ์คํฐ๋ฅผ ํ ๋ฒ์์ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
- ํ์ด์ง ์์์ ์ ํ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ํด๋ฌ์คํฐ ๋๋กญ๋ค์ด์์ ๋ฒ์์ ์ถ๊ฐํ๋ ค๋ ํด๋ฌ์คํฐ๋ฅผ ์ ํํ๊ณ ํ์ธ์ ํด๋ฆญํฉ๋๋ค.
- ํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ ๋ฒ์์์ ํด๋ฌ์คํฐ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
- ๋ฒ์์ ํ์ฌ ๋ฐ์ธ๋ฉ๋ ํด๋ฌ์คํฐ ๋ชฉ๋ก์ ํ์ํ๋ ํด๋ฌ์คํฐ ํญ์ ์ ํํฉ๋๋ค.
- ์ญ์ ํ๋ ค๋ ํด๋ฌ์คํฐ ์์ ํด์งํต ์์ด์ฝ์ ํด๋ฆญํ๊ณ ์ญ์ ๋ฅผ ํด๋ฆญํ์ฌ ์ญ์ ๋ฅผ ํ์ธํฉ๋๋ค.
๋ฒ์ ์ญ์
Google Cloud ์ฝ์์์ ํ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ญ์ ํ ํ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค.
๋ฒ์๋ฅผ ์ญ์ ํ๋ ค๋ฉด ํ์ด์ง ์๋จ์์ ์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฒ์ ์ด๋ฆ์ ์ ๋ ฅํ์ฌ ์ญ์ ๋ฅผ ํ์ธํ๊ณ ์ญ์ ๋ฅผ ๋ค์ ํด๋ฆญํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๊ด๋ฆฌ
gcloud
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ ํ ๋ฒ์ ๋ด์์ ๋ค์์คํ์ด์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๋์ด
๋ฒ์์์ fleet scopes namespaces create
๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ ๋ค์์คํ์ด์ค๋ฅผ ๋ชจ๋ ๋์ดํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces list --scope=SCOPE_NAME
Fleet ๋ค์์คํ์ด์ค ์ญ์
Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces delete NAMESPACE_NAME --scope=SCOPE_NAME
Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํ ๋ ๋ฐ์ํ๋ ๊ฒฐ๊ณผ๋ ๋ค์์คํ์ด์ค๋ฅผ ์ถ๊ฐํ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ ๊ฒฝ์ฐ: ์ด ๋ช ๋ น์ด๊ฐ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค. ๋ํ ํด๋น ์ํฌ๋ก๋์ ํจ๊ป Fleet ๋ค์์คํ์ด์ค ๋ง๋ค๊ธฐ์ ๊ฒฐ๊ณผ๋ก ์์ฑ๋ ๋ชจ๋ Kubernetes ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
- ๊ธฐ์กด Kubernetes ๋ค์์คํ์ด์ค๋ฅผ ์จ๋ณด๋ฉํ ๊ฒฝ์ฐ: ์ด ๋ช ๋ น์ด์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค. ์จ๋ณด๋ฉํ ์๋ ๋ค์์คํ์ด์ค๋ ์ญ์ ๋์ง ์์ต๋๋ค.
Console
ํ ๋ฒ์์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ ํ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ค๋ ํ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๋์ด
ํ ๋ฒ์์์ ์ด ๋ฒ์์ ์์ฑ๋ ๋ค์์คํ์ด์ค ๋ชฉ๋ก์ ํ์ํ๋ ๋ค์์คํ์ด์ค ํญ์ ์ ํํฉ๋๋ค.
๋ค์์คํ์ด์ค ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ
๊ฐ Fleet ๋ค์์คํ์ด์ค์ ๋ํด ํด๋น ๋ค์์คํ์ด์ค์ ์ฐ๊ฒฐ๋ ๋ผ๋ฒจ, ์ํฌ๋ก๋, ๋ค์์คํ์ด์ค๋ก ํํฐ๋ง๋ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ํ ๋ฒ์์์ ์์ฑ๋ Fleet ๋ค์์คํ์ด์ค ๋ชฉ๋ก์ ํ์ํ๋ ๋ค์์คํ์ด์ค ํญ์ ์ ํํฉ๋๋ค.
- ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ Fleet ๋ค์์คํ์ด์ค๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ธ๋ถ์ ๋ณด ํญ์์ Fleet ๋ค์์คํ์ด์ค์ ๋ฒ์ ๋ผ๋ฒจ์ ๋ณผ ์ ์์ต๋๋ค.
- ์ด ๋ค์์คํ์ด์ค์ ์ํฌ๋ก๋๋ฅผ ๋ณด๋ ค๋ฉด ์ํฌ๋ก๋ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ํฌ๋ก๋ ํ์ด์ง์์ ์ด๋ฏธ ๋ค์์คํ์ด์ค๋ก ํํฐ๋ง๋ ์ํฌ๋ก๋์ ํด๋น ๋ค์์คํ์ด์ค์ ํ ๋ฒ์์ ์ฐ๊ฒฐ๋ ํด๋ฌ์คํฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
- ๋ก๊ทธ ํญ์์ ๋ค์์คํ์ด์ค๋ณ Fleet ๋ฒ์ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
ํ ๋ฒ์์ Fleet ๋ค์์คํ์ด์ค ์ถ๊ฐ
- ์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ํ์ด์ง ์๋จ์์ ๋ค์์คํ์ด์ค ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ Fleet ๋ค์์คํ์ด์ค์ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ ์ด๋ฆ์ด Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ ์ง์ ์ ํ์ฌํญ๊ณผ ์ถฉ๋ํ์ง ์๋์ง ํ์ธํฉ๋๋ค. ๋ค์์คํ์ด์ค๋ฅผ ๋ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์์คํ์ด์ค ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ์ญ์
- ํ ๋ฒ์์์ ์์ฑ๋ Fleet ๋ค์์คํ์ด์ค ๋ชฉ๋ก์ ํ์ํ๋ ๋ค์์คํ์ด์ค ํญ์ ์ ํํฉ๋๋ค.
- ์ญ์ ํ๋ ค๋ ๋ค์์คํ์ด์ค ์์ ์๋ ํด์งํต ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
- ๋ค์์คํ์ด์ค ์ด๋ฆ์ ์ ๋ ฅํ์ฌ ์ญ์ ๋ฅผ ํ์ธํ๊ณ ์ญ์ ๋ฅผ ๋ค์ ํด๋ฆญํฉ๋๋ค.
์ด ์์ ์ ์ํํ ๋ ๋ฐ์ํ๋ ๊ฒฐ๊ณผ๋ ๋ค์์คํ์ด์ค๋ฅผ ์ถ๊ฐํ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ ๊ฒฝ์ฐ: Fleet ๋ค์์คํ์ด์ค๊ฐ ์ญ์ ๋ฉ๋๋ค. ํด๋น ์ํฌ๋ก๋์ ํจ๊ป Fleet ๋ค์์คํ์ด์ค ๋ง๋ค๊ธฐ์ ๊ฒฐ๊ณผ๋ก ์์ฑ๋ ๋ชจ๋ Kubernetes ๋ค์์คํ์ด์ค๋ ์ญ์ ๋ฉ๋๋ค.
- ๊ธฐ์กด Kubernetes ๋ค์์คํ์ด์ค๋ฅผ ์จ๋ณด๋ฉํ ๊ฒฝ์ฐ: Fleet ๋ค์์คํ์ด์ค๊ฐ ์ญ์ ๋ฉ๋๋ค. ํ์ง๋ง ์จ๋ณด๋ฉํ ์๋ ๋ค์์คํ์ด์ค๋ ์ญ์ ๋์ง ์์ต๋๋ค.
Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ ์ ๋ฐ์ดํธ
Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ ํ์๋ ์ด๋ฅผ ์์ ํ ์ ์์ต๋๋ค. Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ์ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํ๊ณ ํ ๋ฒ์์์ ์ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
ํ ์ก์ธ์ค ๊ด๋ฆฌ
gcloud
ํ ๊ตฌ์ฑ์ ๋์ด
add-app-operator-binding
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋ฒ์์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ ๋ชจ๋ ํ ๊ตฌ์ฑ์์ ๊ถํ ์บ๋ฆญํฐ์ ํจ๊ป ๋์ดํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud alpha container hub scopes list-app-operator-bindings SCOPE_NAME
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SCOPE_NAME: ํ ๋ฒ์์ ๊ณ ์ ์๋ณ์์ ๋๋ค.
ํ ๊ตฌ์ฑ์ ์ญ์
add-app-operator-binding
์ผ๋ก ๋ถ์ฌ๋๋ ํ ๊ตฌ์ฑ์์ ๋ฒ์ ์ก์ธ์ค ๊ถํ์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud alpha container hub scopes remove-app-operator-binding SCOPE_NAME \
--group=TEAM_EMAIL
๋๋
gcloud alpha container hub scopes remove-app-operator-binding SCOPE_NAME \
--user=USER_EMAIL
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SCOPE_NAME: ํ ๋ฒ์์ ๊ณ ์ ์๋ณ์์ ๋๋ค.
- TEAM_EMAIL ๋๋ USER_EMAIL: ํ์์ ์ญ์ ํ ๊ทธ๋ฃน ๋๋ ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
rbacrolebindings create
๋ช
๋ น์ด๋ก ์ก์ธ์ค ๊ถํ์ด ํ ๊ตฌ์ฑ์์๊ฒ ๋ถ์ฌ๋ ๊ฒฝ์ฐ ๋์ rbacrolebindings delete
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ ๊ตฌ์ฑ์์ ์ญ์ ํ ์ ์์ต๋๋ค.
ํ ๋ฒ์ ์ก์ธ์ค ์ ๋ฐ์ดํธ
ํ ๋ฒ์ ์ก์ธ์ค ๊ถํ์ ์ ๋ฐ์ดํธ(์: ํ ๊ตฌ์ฑ์์ ๋ค๋ฅธ ์ญํ ๋ถ์ฌ ๋๋ ๊ทธ๋ฃน ์ด๋ฉ์ผ ์ฃผ์ ์ ๋ฐ์ดํธ)ํ๋ ค๋ฉด ์ด์ ์น์ ์์ ์ค๋ช ํ ๋๋ก ๋ฒ์์์ ํ ๊ตฌ์ฑ์์ ์ญ์ ํ ๋ค์ ์๋ก์ด ์ธ๋ถ์ ๋ณด๋ก ์ก์ธ์ค ๊ถํ์ ๋ค์ ๋ถ์ฌํฉ๋๋ค.
rbacrolebindings create
๋ช
๋ น์ด๋ก ํ ๊ตฌ์ฑ์์๊ฒ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ ๊ฒฝ์ฐ ๋์ rbacrolebindings update
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์์ ์ก์ธ์ค ๊ถํ์ ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ฝ์
ํ ๊ตฌ์ฑ์ ์ถ๊ฐ ๋๋ ์ญ์
ํ ๋ฒ์์์ ํ ๊ตฌ์ฑ์์ ๊ด๋ฆฌํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ ํ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ฉค๋ฒ๋ฅผ ๊ด๋ฆฌํ๋ ค๋ ํ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค.
๋ฒ์์ ์ ํ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
- ํ์ด์ง ์๋จ์์ ํ ๋ฉค๋ฒ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ํ ๋ฒ์ ๋ง๋ค๊ธฐ ์น์ ์ ์ค๋ช ๋ ์๋ด๋ฅผ ๋ฐ๋ฆ ๋๋ค.
- ํ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฒ์์์ ํ ๋ฉค๋ฒ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
- ํ ํญ์์ ํ ๋ฒ์๋ก๋ถํฐ ์ญ์ ํ ํ ๋ฉค๋ฒ ์์ ํด์งํต ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
- ์ญ์ ๋ฅผ ํด๋ฆญํ์ฌ ์ญ์ ๋ฅผ ํ์ธํฉ๋๋ค.
Google Cloud ์ฝ์์์๋ ํ ๋ฉค๋ฒ์ ์ธ๋ถ์ ๋ณด๋ฅผ ์์ ํ ์ ์์ต๋๋ค. Google Cloud ์ฝ์์์ ๋ฒ์ ์ก์ธ์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด(์: ํ ๋ฉค๋ฒ์ ๋ค๋ฅธ ์ญํ ๋ถ์ฌ ๋๋ ๊ทธ๋ฃน ์ด๋ฉ์ผ ์ฃผ์ ์ ๋ฐ์ดํธ) ๋ฒ์์์ ํ ๋ฉค๋ฒ๋ฅผ ์ญ์ ํ๊ณ ์๋ก์ด ์ธ๋ถ์ ๋ณด๋ฅผ ์ฌ์ฉํด์ ๋ค์ ์ถ๊ฐํฉ๋๋ค.
Fleet ๋ค์์คํ์ด์ค ์ด๋ฆ ์ง์ ์ ํ์ฌํญ
๋ค์ ์ด๋ฆ์ ์์ฝ๋์ด ์์ผ๋ฉฐ ํ ๋ฒ์์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ์ด ๊ธ์ง๋ฉ๋๋ค.
default
kube-system
gke-connect
kube-node-lease
kube-public
istio-system
gatekeeper-system
asm-system
config-management-system
๋ผ๋ฒจ ๊ด๋ฆฌ
๋ฒ์๋ฅผ ์๋ณํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋๋ก Google Cloud CLI๋ฅผ ์ฌ์ฉํด์ Fleet ๋ค์์คํ์ด์ค ๋ฐ ํ ๋ฒ์์ ๋ํด ๋ผ๋ฒจ์ ๋ง๋ค๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
ํ ๋ฒ์์ ์ถ๊ฐ๋ ๋ผ๋ฒจ์ ํด๋น ๋ฒ์์ ๋ชจ๋ Fleet ๋ค์์คํ์ด์ค์ ์์๋ฉ๋๋ค. ์ฆ, ํด๋น ๋ฒ์์ ํด๋ฌ์คํฐ์ ์๋ ๋ชจ๋ Kubernetes ๋ค์์คํ์ด์ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค. Fleet ๋ค์์คํ์ด์ค์ ์ง์ ์ถ๊ฐ๋ ๋ผ๋ฒจ์ ํด๋น Kubernetes ๋ค์์คํ์ด์ค์๋ง ์ฐ๊ฒฐ๋ฉ๋๋ค. ํ ๋ฒ์ ๋ผ๋ฒจ๊ณผ Fleet ๋ค์์คํ์ด์ค ๋ผ๋ฒจ์ ํค๊ฐ ๋์ผํ๋ฉด ํ ๋ฒ์ ๋ผ๋ฒจ์ด ์ฐ์ ์ ์ฉ๋ฉ๋๋ค.
์ผํ๋ก ๊ตฌ๋ถ๋ ํค-๊ฐ ์ ๋ชฉ๋ก์ ์ถ๊ฐํ์ฌ ์ฌ๋ฌ ํค-๊ฐ ์์ ํ ๋ฒ์ ์์ ํ ์ ์์ต๋๋ค.
Fleet ๋ค์์คํ์ด์ค ๋ผ๋ฒจ ๊ด๋ฆฌ
๋ผ๋ฒจ์ ์ฌ์ฉํด์ Fleet ๋ค์์คํ์ด์ค ๋ง๋ค๊ธฐ
๋ผ๋ฒจ์ ์ฌ์ฉํด์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces create NAMESPACE_NAME \
--scope SCOPE_NAME \
--namespace-labels KEY=VALUE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
NAMESPACE_NAME
: Fleet ๋ด์์ ๋ค์์คํ์ด์ค์ ๋ํด ์ ํํ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค.SCOPE_NAME
: ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ํ ๋ฒ์์ ๋๋ค.KEY
: ๋ผ๋ฒจ์ ํค-๊ฐ ์์ ๋ํ ํค์ ๋๋ค.VALUE
: ๋ผ๋ฒจ์ ํค-๊ฐ ์์ ๋ํ ๊ฐ์ ๋๋ค.
๊ธฐ์กด Fleet ๋ค์์คํ์ด์ค์ ๋ผ๋ฒจ ์ถ๊ฐ ๋๋ ์ ๋ฐ์ดํธ
๊ธฐ์กด ๋ค์์คํ์ด์ค์ ๋ผ๋ฒจ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces update NAMESPACE_NAME \
--scope SCOPE_NAME \
--update-namespace-labels KEY=VALUE
Fleet ๋ค์์คํ์ด์ค ๋ผ๋ฒจ ์ญ์
ํน์ Fleet ๋ค์์คํ์ด์ค ๋ผ๋ฒจ์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces update NAMESPACE_NAME \
--scope SCOPE_NAME \
--remove-namespace-labels KEY
KEY
๋ฅผ ์ญ์ ํ ๋ผ๋ฒจ์ ์ผํ๋ก ๊ตฌ๋ถ๋ ํค ๋ชฉ๋ก์ผ๋ก ๋ฐ๊ฟ๋๋ค.
๋ชจ๋ Fleet ๋ค์์คํ์ด์ค ๋ผ๋ฒจ์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes namespaces update NAMESPACE_NAME \
--scope SCOPE_NAME \
--clear-namespace-labels
ํ ๋ฒ์ ๋ผ๋ฒจ ๊ด๋ฆฌ
๋ผ๋ฒจ๋ก ํ ๋ฒ์ ๋ง๋ค๊ธฐ
๋ผ๋ฒจ๋ก ๋ฒ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes create SCOPE_NAME \
--namespace-labels KEY=VALUE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
SCOPE_NAME
: ์ ํ ๋ฒ์์ ์ ํํ ๊ณ ์ ํ ์๋ณ ์ด๋ฆ์ ๋๋ค.KEY
: ๋ผ๋ฒจ์ ํค-๊ฐ ์์ ๋ํ ํค์ ๋๋ค.VALUE
: ๋ผ๋ฒจ์ ํค-๊ฐ ์์ ๋ํ ๊ฐ์ ๋๋ค.
๊ธฐ์กด ํ ๋ฒ์์ ๋ผ๋ฒจ ์ถ๊ฐ ๋๋ ์ ๋ฐ์ดํธ
๊ธฐ์กด ๋ฒ์์ ๋ผ๋ฒจ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes update SCOPE_NAME \
--update-namespace-labels KEY=VALUE
ํ ๋ฒ์ ๋ผ๋ฒจ ์ญ์
ํน์ ๋ผ๋ฒจ์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes update SCOPE_NAME \
--remove-namespace-labels KEY
KEY
๋ฅผ ์ญ์ ํ ๋ผ๋ฒจ์ ์ผํ๋ก ๊ตฌ๋ถ๋ ํค ๋ชฉ๋ก์ผ๋ก ๋ฐ๊ฟ๋๋ค.
๋ชจ๋ ๋ผ๋ฒจ์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud container fleet scopes update SCOPE_NAME \
--clear-namespace-labels
๋ฌธ์ ํด๊ฒฐ
Fleetํ ๊ด๋ฆฌ ๋ฆฌ์์ค๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๋ง๋ค ์ ์์ผ๋ฉด GKE Enterprise API๊ฐ ์ฌ์ฉ ์ค์ ๋์๋์ง ํ์ธํฉ๋๋ค. Fleetํ ๊ด๋ฆฌ๋ฅผ ๊ตฌ์ฑํ ํ Fleet ํธ์คํธ ํ๋ก์ ํธ์์ GKE Enterprise API๋ฅผ ์ฌ์ฉ ์ค์งํ๋ฉด ๋ค์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์์ฑ๋ ๋ชจ๋ ํ ๋ฒ์์ Fleet ๋ค์์คํ์ด์ค๋ ์ ์์ ์ผ๋ก ๊ณ์ ์๋ํ์ง๋ง ์ ๋ฐ์ดํธ๋ ์ ์์ต๋๋ค.
- ๊ธฐ์กด ํ ๋ฒ์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
- ์ ํ ๋ฒ์์ Fleet ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ
- ํ ๊ฐ์ ์ฌ์ฉ์์ ํ ์์ค ์ธก์ ํญ๋ชฉ๊ณผ ๊ธฐํ ํ๋ณ ์ ๋ณด๋ฅผ ๋ณด๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
- ๊ตฌ์ฑ ๋๊ธฐํ๋ฅผ ์ฌ์ฉํ์ฌ Kubernetes ๋ฆฌ์์ค๋ฅผ ํ ๋ฒ์ ๋ฐ ๋ค์์คํ์ด์ค์ ๋๊ธฐํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.