๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[DevOps]/Kubernetes

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Labels & Selector ๊ฐ„๋‹จ ์ •๋ฆฌ

by ํŒกํŽ‘ํ 2023. 11. 10.
728x90

๐Ÿ“Œ Labels

  • Labels๋Š” ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ์ •์˜ํ•˜๊ณ  ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์ • ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด 'app=frontend'์™€ ๊ฐ™์€ ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Œ Selector

  • Selector๋Š” ๋ ˆ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์„ ํƒํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์…€๋ ‰ํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ๋‹ค.

Equality-based selector

  • ํ‚ค์™€ ๊ฐ’์ด ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด 'app=frontend' ์…€๋ ‰ํ„ฐ๋Š” 'app' ๋ ˆ์ด๋ธ”์˜ ๊ฐ’์ด 'frontend'์ธ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.

Set-based selector

  • ๊ฐ’ ์ง‘ํ•ฉ ๋‚ด์— ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด 'environment in (production, qa)' ์…€๋ ‰ํ„ฐ๋Š” 'environment' ๋ ˆ์ด๋ธ”์˜ ๊ฐ’์ด 'production' ๋˜๋Š” 'qa'์ธ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

๐Ÿ“œ ์ •๋ฆฌ

  • Labels์™€ Selector๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ํ•„์š”์— ๋”ฐ๋ผ ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ์‰ฝ๊ฒŒ ์„ ํƒํ•˜๊ณ  ์กฐ์งํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ๋ ˆ์ด๋ธ”์„ ๊ฐ€์ง„ ๋ชจ๋“  ํŒŒ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ํŠน์ • ๋ ˆ์ด๋ธ”์„ ๊ฐ€์ง„ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โŒจ๏ธ ์˜ˆ์‹œ

 

  • labels๋กœ ์ •ํ•œ key = value๋ฅผ --selector ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โŒจ๏ธ ์˜ˆ์‹œ YAML ํŒŒ์ผ

apiVersion: apps/v1 
kind: ReplicaSet 
metadata: 
  name: replicaset-1 
  labels: # (1)
    tier: front-end 
spec: 
  replicas: 2 
  selector:  # (3)
    matchLabels: 
      tier: front-end 
  template: 
    metadata: 
      labels: # (2)
        tier: front-end 
    spec: 
      containers:
        - name: nginx 
          image: nginx
  • (1) ์œ„์˜ metadata.name: replicaset-1์˜ labels๋Š” ๋ ˆํ”Œ๋ฆฌ์นด์…‹ ์ž์ฒด์˜ ๋ผ๋ฒจ์ด๋‹ค.
    • ์ด labels๋Š” ๋ ˆํ”Œ๋ฆฌ์นด์…‹์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋  ๊ฒƒ์ด๋‹ค.
  • (2) ์•„๋ž˜ template์˜ labels๋Š” ํŒŒ๋“œ์—์„œ ๊ตฌ์„ฑ๋œ ๋ ˆ์ด๋ธ”์ด๋‹ค.
  • (3) ๋ ˆํ”Œ๋ฆฌ์นด์…‹์„ ํŒŒ๋“œ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด selector๊ฐ€ ์ด์šฉ๋œ๋‹ค.

 

 

 

์ฐธ๊ณ 

๋คผํŠผ

Udemy - Certified Kubernetes Administrator (CKA) with Practice Tests

728x90