λ°μ—”μœΌλ‘œ μ„±μž₯쀑 🌱

Kubernetes

μΏ λ²„λ„€ν‹°μŠ€ 기초 μ΄ν•΄ν•˜κΈ°

써밍 2023. 11. 16. 00:30

 

 

μΏ λ²„λ„€ν‹°μŠ€(kubernetes, k8s)λž€ 무엇인가?

 

 

μΏ λ²„λ„€ν‹°μŠ€λŠ” μ»¨ν…Œμ΄λ„ˆν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 배포, 관리, ν™•μž₯ν•  λ•Œ μˆ˜λ°˜λ˜λŠ” λ‹€μˆ˜μ˜ μˆ˜λ™ ν”„λ‘œμ„ΈμŠ€λ₯Ό μžλ™ν™”ν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€ μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν”Œλž«νΌμ΄λ‹€.

 

 

*μ»¨ν…Œμ΄λ„ˆ: μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ κ΅¬λ™λ˜λŠ” ν™˜κ²½κΉŒμ§€ κ°μ‹Έμ„œ μ‹€ν–‰ν•  수 μžˆλ„λ‘ ν•˜λŠ” 격리 기술

 

*μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜: μ—¬λŸ¬ μ„œλ²„μ— 걸친 μ»¨ν…Œμ΄λ„ˆ 및 μ‚¬μš©ν•˜λŠ” ν™˜κ²½ 섀정을 κ΄€λ¦¬ν•˜λŠ” ν–‰μœ„

 

 

 

 

μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„° μ•„ν‚€ν…μ²˜ μ‚΄νŽ΄λ³΄κΈ°

 

 

좜처: https://kubernetes.io/docs/concepts/architecture/

 

 

 

λ¨Όμ € 우츑의 Node1, Node2와 κ·Έ κ΅¬μ„±μš”μ†Œλ₯Ό μ‚΄νŽ΄λ³΄μž.

 

pod: μΏ λ²„λ„€ν‹°μŠ€μ—μ„œ μ»¨ν…Œμ΄λ„ˆν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ κ°€μž₯ μž‘μ€ 배포 λ‹¨μœ„μ΄λ‹€. ν•˜λ‚˜ μ΄μƒμ˜ μ»¨ν…Œμ΄λ„ˆλ‘œ κ΅¬μ„±λ˜λ©°, 곡유된 λ„€νŠΈμ›Œν¬ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ™€ λ³Όλ₯¨μ„ κ°€μ§„λ‹€.

 

kubelet: 각 λ…Έλ“œμ—μ„œ λ™μž‘ν•˜λ©°, λ§ˆμŠ€ν„° λ…Έλ“œμ˜ μ§€μ‹œμ— 따라 λ…Έλ“œ μƒνƒœλ₯Ό λ³΄κ³ ν•˜κ³  νŒŒλ“œλ₯Ό μ‹€ν–‰ν•œλ‹€.

 

kube-proxy: λ„€νŠΈμ›Œν¬ ν”„λ‘μ‹œ μ„œλΉ„μŠ€λ‘œ, μ„œλΉ„μŠ€μ˜ λ‘œλ“œ λ°ΈλŸ°μ‹±κ³Ό 같은 κΈ°λŠ₯을 μˆ˜ν–‰ν•œλ‹€.

 

 

 

 

λ‹€μŒμœΌλ‘œ 쒌츑의 CONTROL PLANE와 κ·Έ κ΅¬μ„±μš”μ†Œλ₯Ό μ‚΄νŽ΄λ³΄μž.

λ§ˆμŠ€ν„° λ…Έλ“œμ—μ„œ μ‹€ν–‰λ˜κ³ , ν΄λŸ¬μŠ€ν„°μ˜ μ „λ°˜μ μΈ μƒνƒœλ₯Ό κ΄€λ¦¬ν•˜κ³  μ œμ–΄ν•˜λŠ” 역할을 ν•œλ‹€.

 

kube-api-server: μΏ λ²„λ„€νŠΈμŠ€μ˜ 쀑심이 λ˜λŠ” ꡬ성 μš”μ†Œλ‘œ, μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„°μ˜ λͺ¨λ“  λ™μž‘μ€ API μ„œλ²„λ₯Ό 톡해 이루어진닀. API μ„œλ²„λŠ” RESTful APIλ₯Ό μ œκ³΅ν•˜κ³ , ν΄λŸ¬μŠ€ν„° μƒνƒœλ₯Ό 읽고 μˆ˜μ •ν•˜λŠ” 역할을 ν•œλ‹€.

 

etcd: λΆ„μ‚°λœ key-value μ €μž₯μ†Œλ‘œ, ν΄λŸ¬μŠ€ν„°μ˜ λͺ¨λ“  μ„€μ • 데이터λ₯Ό μ €μž₯ν•˜κ³  λ°μ΄ν„°μ˜ 일관성과 내ꡬ성을 보μž₯ν•œλ‹€.

 

Controller Manager: μ—¬λŸ¬ μ»¨νŠΈλ‘€λŸ¬λ“€μ„ κ΄€λ¦¬ν•˜κ³ , ν΄λŸ¬μŠ€ν„° λ‚΄μ˜ λ‹€μ–‘ν•œ λ¦¬μ†ŒμŠ€λ“€μ˜ μƒνƒœλ₯Ό κ³„μ†μ μœΌλ‘œ ν™•μΈν•˜λ©° μœ μ§€ν•œλ‹€.

예λ₯Ό λ“€λ©΄, λ ˆν”Œλ¦¬μΌ€μ΄μ…˜ μ»¨νŠΈλ‘€λŸ¬λŠ” νŒŒλ“œμ˜ 수λ₯Ό μ›ν•˜λŠ” μƒνƒœλ‘œ μœ μ§€ν•œλ‹€.

 

scheduler: μƒˆλ‘œμš΄ νŒŒλ“œλ₯Ό ν΄λŸ¬μŠ€ν„° λ‚΄μ˜ μ–΄λ–€ λ…Έλ“œμ— λ°°μΉ˜ν• μ§€λ₯Ό κ²°μ •ν•˜λŠ” 역할을 ν•œλ‹€. μŠ€μΌ€μ₯΄λŸ¬λŠ” ν΄λŸ¬μŠ€ν„°μ˜ μžμ› μƒνƒœμ™€ νŒŒλ“œμ˜ μš”κ΅¬ 사항을 κ³ λ €ν•˜μ—¬ 졜적의 λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€.

 

 

 

 

docker-composeλž‘μ€ 뭐가 λ‹€λ₯ΌκΉŒ?

 

 

docker composeλŠ” μ—¬λŸ¬ μ»¨ν…Œμ΄λ„ˆλ₯Ό κ°„λ‹¨ν•˜κ²Œ ν•œ λ²ˆμ— μ‹€ν–‰ν•˜κΈ° μœ„ν•œ 도ꡬ라면, k8sλŠ” μ»¨ν…Œμ΄λ„ˆ 자체λ₯Ό 관리할 수 μžˆλŠ” 도ꡬ이닀.

 

λ§λΆ™μ΄μžλ©΄, docker composeλŠ” μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 없이 닀쀑 μ»¨ν…Œμ΄λ„ˆ docker μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μ •μ˜ν•˜κ³  μ‹€ν–‰ν•˜κΈ° μœ„ν•œ 도ꡬ이고 k8sλŠ” podκ°€ μ—¬λŸ¬ μ»¨ν…Œμ΄λ„ˆλ₯Ό κ°€μ§€κ³  있고, μ‚¬μš© κ°€λŠ₯ν•œ λ…Έλ“œ μ‚¬μ΄μ˜ λΆ„λ°°(ν΄λŸ¬μŠ€ν„°λ§)ν•œλ‹€.

 

 

 

 

*참고 자료

 

 

Cluster Architecture

The architectural concepts behind Kubernetes.

kubernetes.io

 

μΏ λ²„λ„€ν‹°μŠ€ μ•„ν‚€ν…μ²˜(Kubernetes architecture) κ°œλ… & ꡬ성

μΏ λ²„λ„€ν‹°μŠ€μ˜ κ΅¬μ„±μš”μ†Œμ™€ κ΅¬μ„±μš”μ†Œ κ°„ μƒν˜Έ μž‘μš© 방식에 λŒ€ν•΄ μ†Œκ°œν•˜κ³ , 컨트둀 ν”Œλ ˆμΈμ˜ μ—­ν• κ³Ό ꡬ쑰λ₯Ό μ„€λͺ…ν•©λ‹ˆλ‹€.

www.redhat.com