์ด ํ์ด์ง์์๋ Google Cloud ์ฝ์์ ์ฌ์ฉํ์ฌ Binary Authorization ์ ์ฑ ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ๋๋ Google Cloud CLI ๋๋ REST API๋ฅผ ์ฌ์ฉํ์ฌ ์ด ๋จ๊ณ๋ฅผ ์ํํ ์๋ ์์ต๋๋ค. ์ด ๋จ๊ณ๋ Binary Authorization ์ค์ ์ ์ผ๋ถ์ ๋๋ค.
์ ์ฑ ์ ํ ๊ฐ ์ด์์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ์ ์ดํ๋ ๊ท์น ์งํฉ์ ๋๋ค.
์์ํ๊ธฐ ์ ์
ํ๋ซํผ์ Binary Authorization์ ์ฌ์ฉ ์ค์ ํ์ธ์.
Google Kubernetes Engine(GKE) ์ฌ์ฉ์: Binary Authorization์ด ์ฌ์ฉ ์ค์ ๋ ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ญ๋๋ค.
Cloud Run ์ฌ์ฉ์: ์๋น์ค์์ Binary Authorization์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
์ฆ๋ช ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์ ์ฑ ์ ๊ตฌ์ฑํ๊ธฐ ์ ์ ์ฆ๋ช ์๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. Google Cloud ์ฝ์๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ช ๋ น์ค ๋๊ตฌ๋ฅผ ํตํด ์ฆ๋ช ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
Binary Authorization์ ์ฌ์ฉ ์ค์ ํ ํ๋ก์ ํธ์ ํ๋ก์ ํธ ID๋ฅผ ์ ํํฉ๋๋ค.
๊ธฐ๋ณธ ๊ท์น ์ค์
์ด ์น์ ์ GKE, GKE Multi-cloud, Distributed Cloud, Cloud Run, Cloud Service Mesh์ ์ ์ฉ๋ฉ๋๋ค.
๊ท์น์ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ ์ ์ถฉ์กฑํด์ผ ํ๋ ์ ์ฝ์กฐ๊ฑด์ ์ ์ํ๋ ์ ์ฑ ์ ์ผ๋ถ์ ๋๋ค. ๊ธฐ๋ณธ ๊ท์น์ ์์ฒด ํด๋ฌ์คํฐ๋ณ ๊ท์น์ด ์๋ ๋ชจ๋ ๋น์์ธ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ์ ์ฉ๋๋ ์ ์ฝ์กฐ๊ฑด์ ์ ์ํฉ๋๋ค. ๋ชจ๋ ์ ์ฑ ์๋ ๊ธฐ๋ณธ ๊ท์น์ด ์์ต๋๋ค.
๊ธฐ๋ณธ ๊ท์น์ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์์ ์ ์ํํ์ธ์.
Google Cloud ์ฝ์์์ Binary Authorization ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ฑ ํญ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ์์ ์ ํด๋ฆญํฉ๋๋ค.
๊ธฐ๋ณธ ๊ท์น์ ํ๊ฐ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๊ฐ ๋ชจ๋์์๋ ๋ฐฐํฌ ์ Binary Authorization์์ ์ ์ฉํ๋ ์ ์ฝ์กฐ๊ฑด ์ ํ์ด ์ง์ ๋ฉ๋๋ค. ํ๊ฐ ๋ชจ๋๋ฅผ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ํ์ฉ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ๊ฑฐ๋ถ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
- ๋ค์ ์ฆ๋ช ์๋ก ์น์ธ๋ ์ด๋ฏธ์ง๋ง ํ์ฉ: ์ด ๊ท์น์ ์ถ๊ฐํ๋ ๋ชจ๋ ์ฆ๋ช ์๋ก ํ์ธ๋ ์ ์๋ ํ๋ ์ด์์ ์ฆ๋ช ์ด ์ด๋ฏธ์ง์ ํฌํจ๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค. ์ฆ๋ช ์ ๋ง๋ค๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฆ๋ช ์ ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์ฆ๋ช ์๊ฐ ์น์ธํ ์ด๋ฏธ์ง๋ง ํ์ฉ์ ์ ํํ ๊ฒฝ์ฐ:
์ฆ๋ช ์์ ์ด๋ฆ ๋๋ ๋ฆฌ์์ค ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
Google Cloud ์ฝ์์ ์ฆ๋ช ์ ํ์ด์ง์์ ๊ธฐ์กด ์ฆ๋ช ์๋ฅผ ํ์ธํ๊ฑฐ๋ ์ ์ฆ๋ช ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๋ก์ ํธ ๋ฐ ์ฆ๋ช ์ ์ด๋ฆ์ผ๋ก ์ถ๊ฐ
ํ๋ก์ ํธ๋ ์ฆ๋ช ์๋ฅผ ์ ์ฅํ๋ ํ๋ก์ ํธ์ ํ๋ก์ ํธ ID๋ฅผ ์ฐธ์กฐํฉ๋๋ค. ์ฆ๋ช ์ ์ด๋ฆ์ ์์๋
build-qa
์ ๋๋ค.์ฆ๋ช ์ ๋ฆฌ์์ค ID๋ก ์ถ๊ฐ
๋ฆฌ์์ค ID์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
์ฆ๋ช ์์์ ์ ํํ ์ต์ ์ ์ ์ ํ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ฆ๋ช ์๋ฅผ ๋ ์ถ๊ฐํ๋ ค๋ฉด ๋ค๋ฅธ ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ท์น์ ์ ์ฅํ๋ ค๋ฉด ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
ํด๋ฌ์คํฐ๋ณ ๊ท์น ์ค์ (์ ํ์ฌํญ)
์ด ์น์ ์ GKE, Distributed Cloud, Cloud Service Mesh์ ์ ์ฉ๋ฉ๋๋ค.
์ ์ฑ ์ ํ ๊ฐ ์ด์์ ํด๋ฌ์คํฐ๋ณ ๊ท์น์ด ์์ ์๋ ์์ต๋๋ค. ์ด ์ ํ์ ๊ท์น์ ํน์ Google Kubernetes Engine(GKE) ํด๋ฌ์คํฐ์๋ง ๋ฐฐํฌ๋๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ์ ์ฉ๋ฉ๋๋ค. ํด๋ฌ์คํฐ๋ณ ๊ท์น์ ์ ์ฑ ์ ์ ํ์ ๋ถ๋ถ์ ๋๋ค.
ํด๋ฌ์คํฐ๋ณ ๊ท์น(GKE) ์ถ๊ฐ
์ด ์น์ ์ GKE ๋ฐ Distributed Cloud์ ์ ์ฉ๋ฉ๋๋ค.
GKE ํด๋ฌ์คํฐ์ ํด๋ฌ์คํฐ๋ณ ๊ท์น์ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ Binary Authorization ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ฑ ํญ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ์์ ์ ํด๋ฆญํฉ๋๋ค.
GKE ๋ฐ GKE Enterprise ๋ฐฐํฌ์ ์ถ๊ฐ ์ค์ ์น์ ์ ํผ์นฉ๋๋ค.
ํน์ ๊ท์น ์ ํ์ด ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ํน์ ๊ท์น ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ท์น ์ ํ์ ์ ํํ๋ ค๋ฉด ํน์ ๊ท์น ์ ํ์ ํด๋ฆญํฉ๋๋ค.
๊ท์น ์ ํ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ณ๊ฒฝ์ ํด๋ฆญํฉ๋๋ค.
ํน์ ๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํด๋ฌ์คํฐ ๋ฆฌ์์ค ID ํ๋์ ํด๋ฌ์คํฐ์ ๋ฆฌ์์ค ID๋ฅผ ์ ๋ ฅํฉ๋๋ค.
ํด๋ฌ์คํฐ์ ๋ฆฌ์์ค ID์๋
LOCATION.NAME
ํ์์ด ์ฌ์ฉ๋ฉ๋๋ค(์:us-central1-a.test-cluster
).๊ธฐ๋ณธ ๊ท์น์ ํ๊ฐ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๊ฐ ๋ชจ๋์์๋ ๋ฐฐํฌ ์ Binary Authorization์์ ์ ์ฉํ๋ ์ ์ฝ์กฐ๊ฑด ์ ํ์ด ์ง์ ๋ฉ๋๋ค. ํ๊ฐ ๋ชจ๋๋ฅผ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ํ์ฉ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ๊ฑฐ๋ถ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
- ๋ค์ ์ฆ๋ช ์๋ก ์น์ธ๋ ์ด๋ฏธ์ง๋ง ํ์ฉ: ์ด ๊ท์น์ ์ถ๊ฐํ๋ ๋ชจ๋ ์ฆ๋ช ์๋ก ํ์ธ๋ ์ ์๋ ํ๋ ์ด์์ ์ฆ๋ช ์ด ์ด๋ฏธ์ง์ ํฌํจ๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค. ์ฆ๋ช ์ ๋ง๋ค๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฆ๋ช ์ ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์ฆ๋ช ์๊ฐ ์น์ธํ ์ด๋ฏธ์ง๋ง ํ์ฉ์ ์ ํํ ๊ฒฝ์ฐ:
์ฆ๋ช ์์ ์ด๋ฆ ๋๋ ๋ฆฌ์์ค ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
Google Cloud ์ฝ์์ ์ฆ๋ช ์ ํ์ด์ง์์ ๊ธฐ์กด ์ฆ๋ช ์๋ฅผ ํ์ธํ๊ฑฐ๋ ์ ์ฆ๋ช ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๋ก์ ํธ ๋ฐ ์ฆ๋ช ์ ์ด๋ฆ์ผ๋ก ์ถ๊ฐ
ํ๋ก์ ํธ๋ ์ฆ๋ช ์๋ฅผ ์ ์ฅํ๋ ํ๋ก์ ํธ์ ํ๋ก์ ํธ ID๋ฅผ ์ฐธ์กฐํฉ๋๋ค. ์ฆ๋ช ์ ์ด๋ฆ์ ์์๋
build-qa
์ ๋๋ค.์ฆ๋ช ์ ๋ฆฌ์์ค ID๋ก ์ถ๊ฐ
๋ฆฌ์์ค ID์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
์ฆ๋ช ์์์ ์ ํํ ์ต์ ์ ์ ์ ํ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ฆ๋ช ์๋ฅผ ๋ ์ถ๊ฐํ๋ ค๋ฉด ๋ค๋ฅธ ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ท์น์ ์ ์ฅํ๋ ค๋ฉด ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํ์ฌ ํด๋ฌ์คํฐ๋ณ ๊ท์น์ ์ถ๊ฐํฉ๋๋ค.
'ํด๋ฌ์คํฐ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.'๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์์ต๋๋ค. ๋์ค์ GKE์์ ์ด ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ฉด ์ด ๊ท์น์ด ์ ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ถ๊ฐ๋ฅผ ๋ค์ ํด๋ฆญํ์ฌ ๊ท์น์ ์ ์ฅํฉ๋๋ค.
ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
ํด๋ฌ์คํฐ๋ณ ๊ท์น ์ถ๊ฐ(GKE Multi-cloud, Distributed Cloud)
์ด ์น์ ์ Distributed Cloud์ ์ ์ฉ๋ฉ๋๋ค.
GKE ํด๋ฌ์คํฐ์ ํด๋ฌ์คํฐ๋ณ ๊ท์น์ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
Google Cloud ์ฝ์์์ Binary Authorization ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ฑ ํญ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ์์ ์ ํด๋ฆญํฉ๋๋ค.
GKE ๋ฐ GKE Enterprise ๋ฐฐํฌ์ ์ถ๊ฐ ์ค์ ์น์ ์ ํผ์นฉ๋๋ค.
ํน์ ๊ท์น ์ ํ์ด ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ํน์ ๊ท์น ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ท์น ์ ํ์ ์ ํํ๋ ค๋ฉด ํน์ ๊ท์น ์ ํ์ ํด๋ฆญํฉ๋๋ค.
๊ท์น ์ ํ์ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ณ๊ฒฝ์ ํด๋ฆญํฉ๋๋ค.
ํน์ ๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํด๋ฌ์คํฐ ๋ฆฌ์์ค ID ํ๋์ ํด๋ฌ์คํฐ์ ๋ฆฌ์์ค ID๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- GKE ์ฐ๊ฒฐ ํด๋ฌ์คํฐ์ AWS์ฉ GKE์ ๊ฒฝ์ฐ ํ์์
CLUSTER_LOCATION.CLUSTER_NAME
์ ๋๋ค(์:us-central1-a.test-cluster
). - Google Distributed Cloud ๋ฐ Google Distributed Cloud์ ๊ฒฝ์ฐ ํ์์
FLEET_MEMBERSHIP_LOCATION.FLEET_MEMBERSHIP_ID
์ ๋๋ค(์:global.test-membership
).
- GKE ์ฐ๊ฒฐ ํด๋ฌ์คํฐ์ AWS์ฉ GKE์ ๊ฒฝ์ฐ ํ์์
๊ธฐ๋ณธ ๊ท์น์ ํ๊ฐ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๊ฐ ๋ชจ๋์์๋ ๋ฐฐํฌ ์ Binary Authorization์์ ์ ์ฉํ๋ ์ ์ฝ์กฐ๊ฑด ์ ํ์ด ์ง์ ๋ฉ๋๋ค. ํ๊ฐ ๋ชจ๋๋ฅผ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ํ์ฉ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ๊ฑฐ๋ถ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
- ๋ค์ ์ฆ๋ช ์๋ก ์น์ธ๋ ์ด๋ฏธ์ง๋ง ํ์ฉ: ์ด ๊ท์น์ ์ถ๊ฐํ๋ ๋ชจ๋ ์ฆ๋ช ์๋ก ํ์ธ๋ ์ ์๋ ํ๋ ์ด์์ ์ฆ๋ช ์ด ์ด๋ฏธ์ง์ ํฌํจ๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค. ์ฆ๋ช ์ ๋ง๋ค๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฆ๋ช ์ ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์ฆ๋ช ์๊ฐ ์น์ธํ ์ด๋ฏธ์ง๋ง ํ์ฉ์ ์ ํํ ๊ฒฝ์ฐ:
์ฆ๋ช ์์ ์ด๋ฆ ๋๋ ๋ฆฌ์์ค ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
Google Cloud ์ฝ์์ ์ฆ๋ช ์ ํ์ด์ง์์ ๊ธฐ์กด ์ฆ๋ช ์๋ฅผ ํ์ธํ๊ฑฐ๋ ์ ์ฆ๋ช ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๋ก์ ํธ ๋ฐ ์ฆ๋ช ์ ์ด๋ฆ์ผ๋ก ์ถ๊ฐ
ํ๋ก์ ํธ๋ ์ฆ๋ช ์๋ฅผ ์ ์ฅํ๋ ํ๋ก์ ํธ์ ํ๋ก์ ํธ ID๋ฅผ ์ฐธ์กฐํฉ๋๋ค. ์ฆ๋ช ์ ์ด๋ฆ์ ์์๋
build-qa
์ ๋๋ค.์ฆ๋ช ์ ๋ฆฌ์์ค ID๋ก ์ถ๊ฐ
๋ฆฌ์์ค ID์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
์ฆ๋ช ์์์ ์ ํํ ์ต์ ์ ์ ์ ํ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ฆ๋ช ์๋ฅผ ๋ ์ถ๊ฐํ๋ ค๋ฉด ๋ค๋ฅธ ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ท์น์ ์ ์ฅํ๋ ค๋ฉด ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํ์ฌ ๊ท์น์ ์ ์ฅํฉ๋๋ค.
'ํด๋ฌ์คํฐ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.'๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์์ต๋๋ค. ๋์ค์ GKE์์ ์ง์ ๋ ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ฉด ์ด ๊ท์น์ด ์ ์ฉ๋ฉ๋๋ค." ์ด ๊ฒฝ์ฐ ์ถ๊ฐ๋ฅผ ๋ค์ ํด๋ฆญํ์ฌ ๊ท์น์ ์ ์ฅํฉ๋๋ค.
ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
ํน์ ๊ท์น ์ถ๊ฐ
๋ฉ์ ์๋น์ค ID, Kubernetes ์๋น์ค ๊ณ์ ๋๋ Kubernetes ๋ค์์คํ์ด์ค๋ก ๋ฒ์๊ฐ ์ง์ ๋ ๊ท์น์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ํน์ ๊ท์น์ ์ถ๊ฐํ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค.
Google Cloud ์ฝ์์์ Binary Authorization ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ฑ ํญ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ์์ ์ ํด๋ฆญํฉ๋๋ค.
GKE ๋ฐ Anthos ๋ฐฐํฌ์ ์ถ๊ฐ ์ค์ ์น์ ์ ํผ์นฉ๋๋ค.
ํน์ ๊ท์น ์ ํ์ด ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ํน์ ๊ท์น ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํน์ ๊ท์น ์ ํ์ ํด๋ฆญํ์ฌ ๊ท์น ์ ํ์ ์ ํํฉ๋๋ค.
๋ณ๊ฒฝ์ ํด๋ฆญํ์ฌ ๊ท์น ์ ํ์ ์ ๋ฐ์ดํธํฉ๋๋ค.
ํน์ ๊ท์น ์ ํ์ด ์๋ ๊ฒฝ์ฐ ์ ํ ์์ ์ ํด๋ฆญํ์ฌ ๊ท์น ์ ํ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํน์ ๊ท์น์ ์ถ๊ฐํ๋ ค๋ฉด ํน์ ๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ ํํ ๊ท์น ์ ํ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ID๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ASM ์๋น์ค ID: ASM ์๋น์ค ID๋ฅผ PROJECT_ID.svc.id.goog/ns/NAMESPACE/sa/SERVICE_ACCOUNT ๊ฐ์ ํ์์ผ๋ก ์ ๋ ฅํฉ๋๋ค.
- Kubernetes ์๋น์ค ๊ณ์ : Kubernetes ์๋น์ค ๊ณ์ ์ NAMESPACE:SERVICE_ACCOUNT ํ์์ผ๋ก ์ ๋ ฅํฉ๋๋ค.
- Kubernetes ๋ค์์คํ์ด์ค: Kubernetes ๋ค์์คํ์ด์ค๋ฅผ NAMESPACE ํ์์ผ๋ก ์ ๋ ฅํฉ๋๋ค.
๊ท์น ์ ํ์ ๋ฐ๋ผ ํ์ํ ๊ฒฝ์ฐ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- PROJECT_ID: Kubernetes ๋ฆฌ์์ค๋ฅผ ์ ์ํ๋ ํ๋ก์ ํธ ID์ ๋๋ค.
- NAMESPACE: Kubernetes ๋ค์์คํ์ด์ค์ ๋๋ค.
- SERVICE_ACCOUNT: ์๋น์ค ๊ณ์ ์ ๋๋ค.
๊ธฐ๋ณธ ๊ท์น์ ํ๊ฐ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๊ฐ ๋ชจ๋์์๋ ๋ฐฐํฌ ์ Binary Authorization์์ ์ ์ฉํ๋ ์ ์ฝ์กฐ๊ฑด ์ ํ์ด ์ง์ ๋ฉ๋๋ค. ํ๊ฐ ๋ชจ๋๋ฅผ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ํ์ฉ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ๊ฑฐ๋ถ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
- ๋ค์ ์ฆ๋ช ์๋ก ์น์ธ๋ ์ด๋ฏธ์ง๋ง ํ์ฉ: ์ด ๊ท์น์ ์ถ๊ฐํ๋ ๋ชจ๋ ์ฆ๋ช ์๋ก ํ์ธ๋ ์ ์๋ ํ๋ ์ด์์ ์ฆ๋ช ์ด ์ด๋ฏธ์ง์ ํฌํจ๋ ๊ฒฝ์ฐ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค. ์ฆ๋ช ์ ๋ง๋ค๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฆ๋ช ์ ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์ฆ๋ช ์๊ฐ ์น์ธํ ์ด๋ฏธ์ง๋ง ํ์ฉ์ ์ ํํ ๊ฒฝ์ฐ:
์ฆ๋ช ์์ ์ด๋ฆ ๋๋ ๋ฆฌ์์ค ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
Google Cloud ์ฝ์์ ์ฆ๋ช ์ ํ์ด์ง์์ ๊ธฐ์กด ์ฆ๋ช ์๋ฅผ ํ์ธํ๊ฑฐ๋ ์ ์ฆ๋ช ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ๋ก์ ํธ ๋ฐ ์ฆ๋ช ์ ์ด๋ฆ์ผ๋ก ์ถ๊ฐ
ํ๋ก์ ํธ๋ ์ฆ๋ช ์๋ฅผ ์ ์ฅํ๋ ํ๋ก์ ํธ์ ํ๋ก์ ํธ ID๋ฅผ ์ฐธ์กฐํฉ๋๋ค. ์ฆ๋ช ์ ์ด๋ฆ์ ์์๋
build-qa
์ ๋๋ค.์ฆ๋ช ์ ๋ฆฌ์์ค ID๋ก ์ถ๊ฐ
๋ฆฌ์์ค ID์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
์ฆ๋ช ์์์ ์ ํํ ์ต์ ์ ์ ์ ํ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ฆ๋ช ์๋ฅผ ๋ ์ถ๊ฐํ๋ ค๋ฉด ๋ค๋ฅธ ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ท์น์ ์ ์ฅํ๋ ค๋ฉด ์ฆ๋ช ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ํด๋ฆญํ์ฌ ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํ์ฌ ํน์ ๊ท์น์ ์ ์ฅํฉ๋๋ค.
์ ์ฑ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์์ธ ์ด๋ฏธ์ง ๊ด๋ฆฌ
์ด ์น์ ์ GKE, Distributed Cloud, Cloud Run, Cloud Service Mesh์ ์ ์ฉ๋ฉ๋๋ค.
์์ธ ์ด๋ฏธ์ง๋ ์ ์ฑ ๊ท์น์์ ์ ์ธ๋๋ ์ด๋ฏธ์ง๋ก, ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ฉ๋๋ค. Binary Authorization์์๋ ํญ์ ์์ธ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ด ๊ฒฝ๋ก๋ Container Registry ๋๋ ๋ค๋ฅธ ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ์ ์์น๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
Cloud Run
์ด ์น์ ์ Cloud Run์ ์ ์ฉ๋ฉ๋๋ค.
ํ๊ทธ๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง ์ด๋ฆ์ ์ง์ ์ง์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด IMAGE_PATH
:latest๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
ํ๊ทธ๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง ์ด๋ฆ์ ์ง์ ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์์ผ๋ ์นด๋๋ฅผ ์ฌ์ฉํด์ ์ด๋ฏธ์ง ์ด๋ฆ์ ์ง์ ํด์ผ ํฉ๋๋ค.
- ๋จ์ผ ์ด๋ฏธ์ง์ ๋ชจ๋ ๋ฒ์ ์
*
์ ์ฌ์ฉํฉ๋๋ค(์:us-docker.pkg.dev/myproject/container/hello@*
). - ํ๋ก์ ํธ์ ๋ชจ๋ ์ด๋ฏธ์ง์
**
์ ์ฌ์ฉํฉ๋๋ค(์:us-docker.pkg.dev/myproject/**
).
๊ฒฝ๋ก ์ด๋ฆ์ ์ฌ์ฉํ์ฌ IMAGE_PATH
@DIGEST
ํ์์ผ๋ก ๋ค์ด์ ์คํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์์คํ ์ ์ฑ ์ฌ์ฉ ์ค์
์ด ์น์ ์ GKE ๋ฐ Distributed Cloud์ ์ ์ฉ๋ฉ๋๋ค.
Google์ด ์ ๊ณตํ๋ ๋ชจ๋ ์์คํ ์ด๋ฏธ์ง ์ ๋ขฐ๋ Binary Authorization ์์คํ ์ ์ฑ ์ ์ฌ์ฉ ์ค์ ํ๋ ์ ์ฑ ์ค์ ์ ๋๋ค. ์ด ์ค์ ์ ๋ฐฐํฌ ์ ์ฌ์ฉ ์ค์ ํ๋ฉด Binary Authorization์ GKE์์ ์๊ตฌํ๋ Google์ด ๊ด๋ฆฌํ๋ ์์คํ ์ด๋ฏธ์ง ๋ชฉ๋ก์ ์ถ๊ฐ ์ ์ฑ ํ๊ฐ์์ ์ ์ธํฉ๋๋ค. ์์คํ ์ ์ฑ ์ ๋ค๋ฅธ ์ ์ฑ ์ค์ ๋ณด๋ค ๋จผ์ ํ๊ฐ๋ฉ๋๋ค.
์์คํ ์ ์ฑ ์ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
Google Cloud ์ฝ์์์ Binary Authorization ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ฑ ์์ ์ ํด๋ฆญํฉ๋๋ค.
GKE ๋ฐ Anthos ๋ฐฐํฌ์ ์ถ๊ฐ ์ค์ ์น์ ์ ํผ์นฉ๋๋ค.
Google ์์คํ ์ด๋ฏธ์ง ์์ธ ์น์ ์์ Google์ด ์ ๊ณตํ๋ ๋ชจ๋ ์์คํ ์ด๋ฏธ์ง ์ ๋ขฐ๋ฅผ ์ ํํฉ๋๋ค.
์์คํ ์ ์ฑ ์์ ์ ์ธํ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ ค๋ฉด ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ถ๊ฐ ์์ธ ์ด๋ฏธ์ง๋ฅผ ์๋์ผ๋ก ์ง์ ํ๋ ค๋ฉด ์ด ์ ์ฑ ์์ ์ด๋ฏธ์ง ์์ธ์ ์ปค์คํ ์์ธ ๊ท์น ์น์ ์ ํผ์นฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ด๋ฏธ์ง ํจํด ์ถ๊ฐ๋ฅผ ํด๋ฆญํ๊ณ ์ ์ธํ ์ถ๊ฐ ์ด๋ฏธ์ง์ ๋ ์ง์คํธ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅํฉ๋๋ค.
์ ์ฑ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
๋ค์ ๋จ๊ณ
built-by-cloud-build
์ฆ๋ช ์๋ฅผ ์ฌ์ฉํ์ฌ Cloud Build์์ ๋น๋ํ ์ด๋ฏธ์ง๋ง ๋ฐฐํฌ (๋ฏธ๋ฆฌ๋ณด๊ธฐ)ํฉ๋๋ค.- ์ฆ๋ช ์ฌ์ฉ
- GKE ์ด๋ฏธ์ง ๋ฐฐํฌ
- Cloud ๊ฐ์ฌ ๋ก๊ทธ ์ด๋ฒคํธ ๋ณด๊ธฐ
- ์ง์์ ๊ฒ์ฆ ์ฌ์ฉ
- ๊ธฐ์กด ์ง์์ ๊ฒ์ฆ(์ง์ ์ค๋จ๋จ)์ ์ฌ์ฉํ์ฌ ์ ์ฑ ์ค์ ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.