kubernetes_base

Kubernetes

  • image

    • https://docs.oracle.com/ko/solutions/kubernetes-oke-logging-analytics/index.html#GUID-E1D81E43-7CFD-4650-B8F6-EED8A4676CD9

  • μΏ λ²„λ„€ν‹°μŠ€ λ“±μž₯ μ΄μœ λŠ” ꡬ성 μš”μ†Œμ˜ μ„œλ²„ 배포λ₯Ό μžλ™μœΌλ‘œ μŠ€μΌ€μ€„λ§ν•˜κ³  ꡬ성, 관리, μž₯μ•  처리λ₯Ό ν¬ν•¨ν•˜λŠ” μžλ™ν™”κ°€ ν•„μš”ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

  • κ°œλ°œμžκ°€ 운영 νŒ€μ˜ 도움 없이도 μžμ‹ μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ›ν•˜λŠ” 만큼 자주 배포할 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜λ“œμ›¨μ–΄ μž₯μ•  λ°œμƒ μ‹œ ν•΄λ‹Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μžλ™μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜κ³  μŠ€μΌ€μ€„λ§μ„ μ‘°μ •ν•΄ 운영 νŒ€μ„ λ„μ™€μ€λ‹ˆλ‹€.

  • κΈ°λŠ₯

    • μ—¬λŸ¬ μ„œλ²„λ“€μ—μ„œμ˜ μ»¨ν…Œμ΄λ„ˆ 관리

    • μ»¨ν…Œμ΄λ„ˆ κ°„ λ„€νŠΈμ›Œν¬ 관리

    • μ»¨ν…Œμ΄λ„ˆμ˜ λΆ€ν•˜λΆ„μ‚°

    • μ»¨ν…Œμ΄λ„ˆμ˜ κ°μ‹œ

    • λ¬΄μ •μ§€λ‘œ μ—…λ°μ΄νŠΈ

  • μΏ λ²„λ„€ν‹°μŠ€μ™€ 같은 μ‹œμŠ€ν…œμ΄ ν•„μš”ν•œ 이유

    • λͺ¨λ†€λ¦¬μŠ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ‘œ μ „ν™˜

      • μ‹œμŠ€ν…œμ˜ μ¦κ°€ν•˜λŠ” λΆ€ν•˜λ₯Ό μ²˜λ¦¬ν•˜λ €κ³  CPU, λ©”λͺ¨λ¦¬, κ·Έ λ°–μ˜ μ„œλ²„ ꡬ성 μš”μ†Œλ₯Ό μΆ”κ°€ν•΄ μ„œλ²„λ₯Ό 수직 ν™•μž₯(scale up)ν•˜κ±°λ‚˜ μ„œλ²„λ₯Ό μΆ”κ°€ν•˜κ³  μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 볡사본(λ˜λŠ” 볡제본)을 μ‹€ν–‰ν•΄ 전체 μ‹œμŠ€ν…œμ„ μˆ˜ν‰ ν™•μž₯(scale out) ν•΄μ•Ό ν•©λ‹ˆλ‹€.

        • 수직 ν™•μž₯은 일반적으둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ³€κ²½ν•  ν•„μš”κ°€ μ—†μ§€λ§Œ 비ꡐ적 λΉ„μš©μ΄ 많이 λ“€κ³  μ‹€μ œλ‘œλŠ” ν™•μž₯에 ν•œκ³„(μƒν•œ)κ°€ μžˆμŠ΅λ‹ˆλ‹€.

        • μˆ˜ν‰ ν™•μž₯은 μƒλŒ€μ μœΌλ‘œ μ €λ ΄ν•˜μ§€λ§Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œμ˜ 큰 변경이 ν•„μš”ν•  수 있으며 항상 κ°€λŠ₯ν•œ 것도 μ•„λ‹™λ‹ˆλ‹€.(κ΄€κ³„ν˜• 데이터 베이슀)

      • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λΆ„ν• 

        • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λŠ” 일반적으둜 RESTful(Repressentaional State Transfer) APIλ₯Ό μ œκ³΅ν•˜λŠ” HTTP와 같은 동기 ν”„λ‘œν† μ½œκ³Ό AMQP(Advanced Message Queuing Protocl)와 같은 비동기 ν”„λ‘œν† μ½œλ‘œ ν†΅μ‹ ν•©λ‹ˆλ‹€.

    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μΌκ΄€λœ ν™˜κ²½ 제곡

    • 지속적인 배포둜 μ „ν™˜: λ°λΈŒμ˜΅μŠ€μ™€ λ…Έμ˜΅μŠ€

      • 데브옡슀: 개발자, ν’ˆμ§ˆ 보증(QA), 운영 νŒ€μ΄ 전체 ν”„λ‘œμ„ΈμŠ€μ—μ„œ ν˜‘μ—…ν•΄μ•Ό ν•©λ‹ˆλ‹€.

      • λ…Έμ˜΅μŠ€: μžλ™ν™”λ‘œ 운영 νŒ€μ˜ 손이 거의 ν•„μš” μ—†λŠ” ν™˜κ²½, ν•˜λ“œμ›¨μ–΄ 인프라λ₯Ό μ „ν˜€ μ•Œμ§€ λͺ»ν•˜λ”라도 운영 νŒ€μ„ κ±°μΉ˜μ§€ μ•Šκ³  κ°œλ°œμžκ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 직접 λ°°ν¬ν•˜λŠ” 방식이 κ°€μž₯ μ΄μƒμ μž…λ‹ˆλ‹€.

      • μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μ‚¬μš©ν•˜λ©΄ ν•˜λ“œμ›¨μ–΄λ₯Ό μΆ”μƒν™”ν•˜κ³  이λ₯Ό μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 배포, 싀행을 μœ„ν•œ ν”Œλž«νΌμœΌλ‘œ μ œκ³΅ν•¨μœΌλ‘œμ¨ κ°œλ°œμžλŠ” μ‹œμŠ€ν…œ κ΄€λ¦¬μžμ˜ 도움 없이도 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ성, 배포할 수 있으며 μ‹œμŠ€ν…œ κ΄€λ¦¬μžλŠ” μ‹€μ œ μ‹€ν–‰λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ•Œ ν•„μš” 없이 인프라λ₯Ό μœ μ§€ν•˜κ³  μš΄μ˜ν•˜λŠ” 데 집쀑할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • μΏ λ²„λ„€ν‹°μŠ€ μ‚¬μš©μ˜ μž₯점

    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 배포의 λ‹¨μˆœν™”

    • ν•˜λ“œμ›¨μ–΄ ν™œμš©λ„ 높이기

    • μƒνƒœ 확인과 μžκ°€ 치유

    • μ˜€ν† μŠ€μΌ€μΌλ§

    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 λ‹¨μˆœν™”

  • μΏ λ²„λ„€ν‹°μŠ€λŠ” Deployment, StatefulSets, DaemonSet, Job, CronJob λ“± λ‹€μ–‘ν•œ 배포 방식을 지원

    • image

    • Deployment : μƒˆλ‘œμš΄ λ²„μ „μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ‹€μ–‘ν•œ μ „λž΅μœΌλ‘œ 무쀑단 배포 κ°€λŠ₯

    • StatefulSets : μ‹€ν–‰ μˆœμ„œλ₯Ό 보μž₯ν•˜κ³  호슀트 이름과 λ³Όλ₯¨μ„ μΌμ •ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμ–΄ μˆœμ„œλ‚˜ 데이터가 μ€‘μš”ν•œ κ²½μš°μ— μ‚¬μš© κ°€λŠ₯

    • DaemonSet : λ‘œκ·Έλ‚˜ λͺ¨λ‹ˆν„°λ§ λ“± λͺ¨λ“  λ…Έλ“œμ— μ„€μΉ˜κ°€ ν•„μš”ν•œ κ²½μš°μ— 이용

    • Job, CronJob : λ°°μΉ˜μ„± μž‘μ—…

  • image

    • https://landscape.cncf.io/

    • μ„œλΉ„μŠ€λ©”μ‹œ(lstio, linkerd), CI(Tekton, Spinnaker), μ»¨ν…Œμ΄λ„ˆ μ„œλ²„λ¦¬μŠ€(Knative), λ¨Έμ‹ λŸ¬λ‹(kubeflow)이 λͺ¨λ‘ μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ—μ„œ λ™μž‘ν•©λ‹ˆλ‹€.

Reference

  • https://www.oreilly.com/library/view/kubernetes-in-action/9781617293726/

  • https://www.oreilly.com/library/view/cloud-native-devops/9781492040750/

  • http://www.yes24.com/Product/Goods/64728692

Last updated