Skip to content

StudyRoom-K8S/Plan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 

Repository files navigation

๋ชฉํ‘œ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ๋ณธ ํ•™์Šต

๊ธฐ๊ฐ„

2021.05.22 ~ 2021.07.10 (8์ฃผ)

์ง„ํ–‰๊ณ„ํš

  • ch1
    • ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜
      • ๋„์ปค(ํ•„์š”ํ•˜๋ฉด)
      • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(vmware)
      • ์ฐจ์ฃผ๊ณ„ํš์„ธ์šฐ๊ธฐ, ์Šคํ„ฐ๋””๊ทœ์น™๋งŒ๋“ค๊ธฐ
  • ch2
    • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์•„ํ‚คํ…์ฒ˜(๊ฐ๊ฐ ์–ด๋–ค ์—ญํ™œ์„ ํ•˜๋Š”์ง€?)
      • kubelet
      • kubeapi
      • ๋“ฑ๋“ฑ
  • ch3
    • 06์žฅ:์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์ž‘ํ•˜๊ธฐ
  • ch4
    • 07์žฅ:_์ฟ ๋ฒ„๋„คํ‹ฐ์Šค_๋ฆฌ์†Œ์Šค์˜_๊ด€๋ฆฌ์™€_์„ค์ •
    • 08์žฅ:_์ธ๊ทธ๋ ˆ์Šค(Ingress)
  • ch5
    • 09์žฅ:_ํผ์‹œ์Šคํ„ดํŠธ_๋ณผ๋ฅจ(PV)๊ณผ_ํผ์‹œ์Šคํ„ดํŠธ_๋ณผ๋ฅจ_ํด๋ ˆ์ž„(PVC)
  • ch6
    • 10์žฅ
  • ch7
    • 11์žฅ
  • ch8
    • 12์žฅ 13์žฅ

์ง„ํ–‰๊ณผ์ •

์ง„ํ–‰์‹œ๊ฐ„

  • ๋งค์ฃผ ํ† ์š”์ผ(9~12์‹œ)
    • ์ฐธ์—ฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํ™ฉ์ด ์ƒ๊ธธ๊ฒฝ์šฐ ๋‹ค๊ฐ™์ด ํ˜‘์˜ ํ•˜์— ๋‚ ์งœ ๋ณ€๊ฒฝ ๊ณ ๋ ค
  • ์•ฝ 3~4์‹œ๊ฐ„(์ถ”ํ›„ ๋ณ€๊ฒฝ๊ฐ€๋Šฅ)

์ง„ํ–‰๋ฐฉ๋ฒ•

  1. ์ „ํšŒ์ฐจ์— ๋ฐœํ‘œ์ž ๋ฐœํ‘œ ์ง„ํ–‰ + ์งˆ๋ฌธ

  2. ์ „์ฃผ์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๊ฑฐ๋‚˜ ๊ฐ™์ด ์ƒ๊ฐํ•ด๋ณด๊ณ  ์‹ถ์€ ๋‚ด์šฉ๋“ค ํ† ๋ก 

  3. ์ฐจ์ฃผ ๊ณต๋ถ€ ๋ฒ”์œ„ ๋ฐ ๋ฐœํ‘œ์ž ์„ ์ •

์ฐธ๊ณ ์ž๋ฃŒ

06์žฅ:์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์‹œ์ž‘ํ•˜๊ธฐ

6.1 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

6.2 ํฌ๋“œ(Pod) : ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„

  • 6.2.1 ํฌ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ
  • 6.2.2 ํฌ๋“œ vs. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ
  • 6.2.3 ์™„์ „ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ์„œ์˜ ํฌ๋“œ

6.3 ๋ ˆํ”Œ๋ฆฌ์นด์…‹(Replica Set) : ์ผ์ • ๊ฐœ์ˆ˜์˜ ํฌ๋“œ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ

  • 6.3.1 ๋ ˆํ”Œ๋ฆฌ์นด์…‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
  • 6.3.2 ๋ ˆํ”Œ๋ฆฌ์นด์…‹ ์‚ฌ์šฉํ•˜๊ธฐ
  • 6.3.3 ๋ ˆํ”Œ๋ฆฌ์นด์…‹์˜ ๋™์ž‘ ์›๋ฆฌ
  • 6.3.4 ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ vs. ๋ ˆํ”Œ๋ฆฌ์นด์…‹

6.4 ๋””ํ”Œ๋กœ์ด๋จผํŠธ(Deployment) : ๋ ˆํ”Œ๋ฆฌ์นด์…‹, ํฌ๋“œ์˜ ๋ฐฐํฌ๋ฅผ ๊ด€๋ฆฌ

  • 6.4.1 ๋””ํ”Œ๋กœ์ด๋จผํŠธ ์‚ฌ์šฉํ•˜๊ธฐ
  • 6.4.2 ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

6.5 ์„œ๋น„์Šค(Service) : ํฌ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ์™ธ๋ถ€์— ๋…ธ์ถœ

  • 6.5.1 ์„œ๋น„์Šค(Service)์˜ ์ข…๋ฅ˜
  • 6.5.2 ClusterIP ํƒ€์ž…์˜ ์„œ๋น„์Šค - ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ํฌ๋“œ์— ์ ‘๊ทผํ•˜๊ธฐ
  • 6.5.3 NodePort ํƒ€์ž…์˜ ์„œ๋น„์Šค - ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ด ํฌ๋“œ๋ฅผ ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜๊ธฐ
  • 6.5.4 ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ์—ฐ๋™ํ•˜๊ธฐ - LoadBalancer ํƒ€์ž…์˜ ์„œ๋น„์Šค
  • 6.5.5 ํŠธ๋ž˜ํ”ฝ์˜ ๋ถ„๋ฐฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์„œ๋น„์Šค ์†์„ฑ - externalTrafficPolicy
  • 6.5.6 ์š”์ฒญ์„ ์™ธ๋ถ€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•˜๋Š” ์„œ๋น„์Šค - ExternalName

07์žฅ:_์ฟ ๋ฒ„๋„คํ‹ฐ์Šค_๋ฆฌ์†Œ์Šค์˜_๊ด€๋ฆฌ์™€_์„ค์ •

7.1 ๋„ค์ž„์ŠคํŽ˜์ด์Šค(Namespace) : ๋ฆฌ์†Œ์Šค๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ์žฅ๋ฒฝ

7.2 ์ปจํ”ผ๊ทธ๋งต(Configmap), ์‹œํฌ๋ฆฟ(Secret) : ์„ค์ •๊ฐ’์„ ํฌ๋“œ์— ์ „๋‹ฌ

  • 7.2.1 ์ปจํ”ผ๊ทธ๋งต(Configmap)
  • 7.2.2 ์‹œํฌ๋ฆฟ(Secret)

08์žฅ:_์ธ๊ทธ๋ ˆ์Šค(Ingress)

8.1 ์ธ๊ทธ๋ ˆ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

8.2 ์ธ๊ทธ๋ ˆ์Šค์˜ ๊ตฌ์กฐ

8.3 ์ธ๊ทธ๋ ˆ์Šค์˜ ์„ธ๋ถ€ ๊ธฐ๋Šฅ : annotation์„ ์ด์šฉํ•œ ์„ค์ •

8.4 Nginx ์ธ๊ทธ๋ ˆ์Šค ์ปจํŠธ๋กค๋Ÿฌ์— SSL/TLS ๋ณด์•ˆ ์—ฐ๊ฒฐ ์ ์šฉ

8.5 ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ๊ทธ๋ ˆ์Šค ์ปจํŠธ๋กค๋Ÿฌ ์‚ฌ์šฉํ•˜๊ธฐ

09์žฅ:_ํผ์‹œ์Šคํ„ดํŠธ_๋ณผ๋ฅจ(PV)๊ณผ_ํผ์‹œ์Šคํ„ดํŠธ_๋ณผ๋ฅจ_ํด๋ ˆ์ž„(PVC)

9.1 ๋กœ์ปฌ ๋ณผ๋ฅจ : hostPath, emptyDir

  • 9.1.1 ์›Œ์ปค ๋…ธ๋“œ์˜ ๋กœ์ปฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณผ๋ฅจ์œผ๋กœ ์‚ฌ์šฉ : hostPath
  • 9.1.2 ํฌ๋“œ ๋‚ด์˜ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„ ์ž„์‹œ ๋ฐ์ดํ„ฐ ๊ณต์œ  : emptyDir

9.2 ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ

9.3 PV, PVC๋ฅผ ์ด์šฉํ•œ ๋ณผ๋ฅจ ๊ด€๋ฆฌ

  • 9.3.1 ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ๊ณผ ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ ํด๋ ˆ์ž„์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
  • 9.3.2 ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ๊ณผ ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ ํด๋ ˆ์ž„ ์‚ฌ์šฉํ•˜๊ธฐ
  • 9.3.3 ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด ๋ช…์‹œ
  • 9.3.4 ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด๊ณผ Reclaim Policy
  • 9.3.5 StorageClass์™€ Dynamic Provisioning

10์žฅ: ๋ณด์•ˆ์„ ์œ„ํ•œ ์ธ์ฆ๊ณผ ์ธ๊ฐ€ - ServiceAccount์™€ RBAC

10.1 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ถŒํ•œ ์ธ์ฆ ๊ณผ์ •

10.2 ์„œ๋น„์Šค ์–ด์นด์šดํŠธ์™€ ๋กค(Role), ํด๋Ÿฌ์Šคํ„ฐ ๋กค(Cluster Role)

10.3 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์„œ๋ฒ„์— ์ ‘๊ทผ

  • 10.3.1 ์„œ๋น„์Šค ์–ด์นด์šดํŠธ์˜ ์‹œํฌ๋ฆฟ์„ ์ด์šฉํ•ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์„œ๋ฒ„์— ์ ‘๊ทผ
  • 10.3.2 ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด๋ถ€์—์„œ kubernetes ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด API ์„œ๋ฒ„์— ์ ‘๊ทผ
  • 10.3.3 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค SDK๋ฅผ ์ด์šฉํ•ด ํฌ๋“œ ๋‚ด๋ถ€์—์„œ API ์„œ๋ฒ„์— ์ ‘๊ทผ

10.4 ์„œ๋น„์Šค ์–ด์นด์šดํŠธ์— ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ ‘๊ทผ์„ ์œ„ํ•œ ์‹œํฌ๋ฆฟ ์„ค์ •

10.5 kubeconfig ํŒŒ์ผ์— ์„œ๋น„์Šค ์–ด์นด์šดํŠธ ์ธ์ฆ ์ •๋ณด ์„ค์ •

10.6 ์œ ์ €(User)์™€ ๊ทธ๋ฃน(Group)์˜ ๊ฐœ๋…

10.7 x509 ์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ

11์žฅ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๊ณ ๊ธ‰ ์„ค์ •

11.1 ํฌ๋“œ์˜ ์ž์› ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ

  • 11.1.1 ์ปจํ…Œ์ด๋„ˆ์™€ ํฌ๋“œ์˜ ์ž์› ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ : Limit
  • 11.1.2 ์ปจํ…Œ์ด๋„ˆ์™€ ํฌ๋“œ์˜ ์ž์› ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œํ•˜๊ธฐ : Request
  • 11.1.3 CPU ์ž์› ์‚ฌ์šฉ๋Ÿ‰์˜ ์ œํ•œ ์›๋ฆฌ
  • 11.1.4 QoS ํด๋ž˜์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ์ž์› ์‚ฌ์šฉ๋Ÿ‰ ์ œํ•œ ์›๋ฆฌ
  • 11.1.5 ResourceQuota์™€ LimitRanger
  • 11.1.6 ResourceQuota, LimitRanger์˜ ์›๋ฆฌ : Admission Controller

11.2 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์Šค์ผ€์ค„๋ง

  • 11.2.1 ํฌ๋“œ๊ฐ€ ์‹ค์ œ๋กœ ๋…ธ๋“œ์— ์ƒ์„ฑ๋˜๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •
  • 11.2.2 ํฌ๋“œ๊ฐ€ ์ƒ์„ฑ๋  ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๊ณผ์ •
  • 11.2.3 NodeSelector์™€ Node Affinity, Pod Affinity
  • 11.2.4 Taints์™€ Tolerations ์‚ฌ์šฉํ•˜๊ธฐ
  • 11.2.5 Cordon, Drain ๋ฐ PodDistributionBudget
  • 11.2.6 ์ปค์Šคํ…€ ์Šค์ผ€์ค„๋Ÿฌ ๋ฐ ์Šค์ผ€์ค„๋Ÿฌ ํ™•์žฅ

11.3 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์™€ ๋ฐฐํฌ

  • 11.3.1 ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋ฅผ ํ†ตํ•ด ๋กค๋ง ์—…๋ฐ์ดํŠธ
  • 11.3.2 ํฌ๋“œ์˜ ์ƒ์•  ์ฃผ๊ธฐ(Lifecycle)
  • 11.3.3 HPA๋ฅผ ํ™œ์šฉํ•œ ์˜คํ† ์Šค์ผ€์ผ๋ง

12์žฅ: ์ปค์Šคํ…€ ๋ฆฌ์†Œ์Šค์™€ ์ปจํŠธ๋กค๋Ÿฌ

12.1 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ฐœ๋…๊ณผ ๋™์ž‘ ๋ฐฉ์‹

12.2 ์ปค์Šคํ…€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ฐœ๋…

12.3 ์ปค์Šคํ…€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ CRD(Custom Resource Definition)

12.4 ์ปค์Šคํ…€ ๋ฆฌ์†Œ์Šค์™€ ์ปจํŠธ๋กค๋Ÿฌ

13์žฅ: ํฌ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋“ค

13.1 ์žก(Jobs)

13.2 ๋ฐ๋ชฌ์…‹(DaemonSets)

13.3 ์Šคํ…Œ์ดํŠธํ’€์…‹(StatefulSets)

14์žฅ: ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง

14.1 ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋ณธ ๊ตฌ์กฐ

14.2 ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฉ”ํŠธ๋ฆญ์˜ ๋ถ„๋ฅ˜

14.3 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ์ดˆ

  • 14.3.1 metrics-server
  • 14.3.2 metrics-server ๋™์ž‘ ์›๋ฆฌ: APIService ๋ฆฌ์†Œ์Šค
  • 14.3.3 kube-state-metrics
  • 14.3.4 node-exporter

14.4 ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค๋ฅผ ํ™œ์šฉํ•œ ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘

  • 14.4.1 ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ์„ค์น˜
  • 14.4.2 ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค๋กœ ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘ํ•˜๊ธฐ
  • 14.4.3 ๊ทธ๋ผํŒŒ๋‚˜๋กœ ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค ๋ฉ”ํŠธ๋ฆญ ์‹œ๊ฐํ™”ํ•˜๊ธฐ

About

Study Plan

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published