Search

[CKA] 13. Namespaces

Date
2024/11/22
Category
Devops
Tag
Kubernetes
CKA
Core Concept
๋ชฉ์ฐจ

ย Namespaces

โ€ข
๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ฐ™์€ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ๋„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ
โ€ข
๋„ค์ž„์ŠคํŽ˜์ด์Šค๋งˆ๋‹ค ๊ณ ์œ ํ•œ ์ •์ฑ… ๋ชจ์Œ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ๊ฐ์˜ ๋ฆฌ์†Œ์Šค ํ• ๋‹น๋Ÿ‰์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Œ

default

โ€ข
์ž๋™ ์ƒ์„ฑ๋˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ, ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด default ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์ƒ์„ฑ๋จ

kube-system

โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋‚ด๋ถ€ ๋ชฉ์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” Pod์™€ Service๊ฐ€ ์œ„์น˜ํ•˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค
โ€ข
Networking Solution์ด๋‚˜ DNS ์„œ๋น„์Šค์— ์š”๊ตฌ๋˜๋Š” ๊ฒƒ๋“ค

kube-public

โ€ข
๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•  ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค

ย DNS

โ€ข
๊ฐ™์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์•ˆ์— ์žˆ์œผ๋ฉด ๋‹จ์ˆœ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์œผ๋กœ ์„œ๋น„์Šค์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
mysql.connect("db-service")
โ€ข
๋‹ค๋ฅธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์žˆ๋Š” ๊ฒฝ์šฐ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์„œ๋น„์Šค๋ช…์— ์ถ”๊ฐ€
mysql.connect("db-service.dev.svc.cluster.local")
โ—ฆ
DNS entry๊ฐ€ ์ž๋™์œผ๋กœ ํฌ๋งท์— ์ถ”๊ฐ€๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•จ
โ—ฆ
cluter.local - ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ
โ—ฆ
svc - ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ํ•˜์œ„ ๋„๋ฉ”์ธ
โ—ฆ
dev - ๋„ค์ž„์ŠคํŽ˜์ด์Šค
โ—ฆ
db-service - ์„œ๋น„์Šค ๋ช…

ย Command

โ€ข
kubectl ์‚ฌ์šฉ์‹œ --namespace=<namespace> ๋ฅผ ๋ถ™์ด์ง€ ์•Š์œผ๋ฉด default namespace๋กœ ์‹คํ–‰ํ•จ
โ€ข
๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ ์ •์˜ ํŒŒ์ผ ์ƒ์„ฑ์‹œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” metadata ์„น์…˜ ํ•˜์œ„์— namespace๋ฅผ ๊ธฐ์ž…
โ€ข
namespace๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ •์˜ํŒŒ์ผ:
apiVersion: v1 kind: Namespace metadata: name: dev
YAML
๋ณต์‚ฌ

Switch

Default Namespace๊ฐ€ ์•„๋‹Œ ํŠน์ • Namespace์—์„œ ๊ณ„์† ์ž‘์—…ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ
kubectl config set-context $(kubectl config current-context) --namespace=<namespace>

ย Resource Quota

๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌ์†Œ์Šค ํ• ๋‹น๋Ÿ‰์„ ์ƒ์„ฑ
apiVersion: v1 kind: ResourceQuota metadata: name: compute-quota namespace: dev spec: hard: pods: "10" requests.cpu: "4" requests.memory: 5Gi limits.cpu: "10" limits.memory: 10Gi
YAML
๋ณต์‚ฌ