λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
GCP

μΏ λ²„λ„€ν‹°μŠ€

by mingzoo 2020. 4. 4.

 

μ§€λ‚œλ²ˆ 도컀에 μ΄μ–΄μ„œ μΏ λ²„λ„€ν‹°μŠ€μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€!

도컀와 μ»¨ν…Œμ΄λ„ˆ κ΄€λ ¨ λ‚΄μš©πŸ‘‡πŸ»

https://minjoo-space.tistory.com/19

 

Docker - 도컀 κ°œλ…

도컀(Docker) Goμ–Έμ–΄λ‘œ μž‘μ„±λœ λ¦¬λˆ…μŠ€ μ»¨ν…Œμ΄λ„ˆ 기반 μ˜€ν”ˆμ†ŒμŠ€ 가상화 ν”Œλž«νΌ λ³΅μž‘ν•œ λ¦¬λˆ…μŠ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ»¨ν…Œμ΄λ„ˆλ‘œ λ¬Άμ–΄μ„œ 싀행이 κ°€λŠ₯ν•˜λ©°, 개발, ν…ŒμŠ€νŠΈ, μ„œλΉ„μŠ€ ν™˜κ²½μ„ ν•˜λ‚˜λ‘œ ν†΅μΌν•˜μ—¬ 효율적으둜 관리..

minjoo-space.tistory.com

μΏ λ²„λ„€ν‹°μŠ€λž€?

μΏ λ²„λ„€ν‹°μŠ€λŠ” μ»¨ν…Œμ΄λ„ˆλ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 툴
μ»¨ν…Œμ΄λ„ˆν™”λœ μ›Œν¬λ‘œλ“œμ™€ μ„œλΉ„μŠ€λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 이식성이 있고, ν™•μž₯κ°€λŠ₯ν•œ μ˜€ν”ˆμ†ŒμŠ€ ν”Œλž«νΌ

 

μ™œ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ”κ°€?

https://www.youtube.com/watch?v=S3FVcdZcZnA-좜처:λ…Έλ§ˆλ“œμ½”λ”

https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/

  • μ»¨ν…Œμ΄λ„ˆ 관리 (μžλ™ν™”λœ 볡ꡬ)

μ»¨ν…Œμ΄λ„ˆ 쀑 ν•˜λ‚˜κ°€ λ¬Έμ œκ°€ 생기면, ν•΄λ‹Ή μ»¨ν…Œμ΄λ„ˆλ₯Ό μž¬μ‹œμž‘ν•΄μ•Όν•˜λŠ”λ° μΏ λ²„λ„€ν‹°μŠ€λŠ” μ»¨ν…Œμ΄λ„ˆλ“€μ˜ λͺ¨λ‹ˆν„°λ§μ„ μ‹€μ‹œν•˜μ—¬ μžλ™μœΌλ‘œ μž¬μ‹œμž‘ν•˜κ²Œ 도와쀀닀. λ”°λΌμ„œ, μ»¨ν…Œμ΄λ„ˆκ°€ λ§Žμ„ 경우 μΏ λ²„λ„€ν‹°μŠ€κ°€ μœ μš©ν•˜κ²Œ μ‚¬μš©λœλ‹€.

  • λ‘œλ“œ λ°ΈλŸ°μ‹±

μΏ λ²„λ„€ν‹°μŠ€κ°€ μ•Œμ•„μ„œ ν•΄λ‹Ή λ‹ˆμ¦ˆμ— λ§žμΆ°μ„œ μ»¨ν…Œμ΄λ„ˆλ“€μ„ μ€€λΉ„ν•˜κ³  , λ‹ˆμ¦ˆκ°€ 쀄어듀면 μ»¨ν…Œμ΄λ„ˆλ₯Ό 지정해둔 μ΅œμ†Œμˆ«μžλ‘œ μžλ™μ‘°μ ˆν•œλ‹€. μΏ λ²„λ„€ν‹°μŠ€λŠ” DNS 이름을 μ‚¬μš©ν•˜κ±°λ‚˜ 자체 IP μ£Όμ†Œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ…ΈμΆœν•  수 μžˆμ–΄μ„œ μ»¨ν…Œμ΄λ„ˆμ— λŒ€ν•œ νŠΈλž˜ν”½μ΄ 많으면, μΏ λ²„λ„€ν‹°μŠ€λŠ” λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ λ‘œλ“œλ°ΈλŸ°μ‹±ν•˜κ³  λ°°ν¬ν•˜μ—¬ 배포가 μ•ˆμ •μ μœΌλ‘œ μ΄λ£¨μ–΄μ§ˆ 수 μžˆλ‹€.

즉, μˆ˜μš”μ— 맞좰 μ»¨ν…Œμ΄λ„ˆλ₯Ό μœ λ™μ μœΌλ‘œ λ§žμΆ°μ£ΌλŠ” 역할을 ν•œλ‹€. 

  • 둀링 μ—…λ°μ΄νŠΈ

μ½”λ“œμ˜ 버그λ₯Ό κ³ μΉ˜κ±°λ‚˜ μ—…λ°μ΄νŠΈλ₯Ό ν•  λ•Œ, μžλ™μ μœΌλ‘œ ν•  수 μžˆλ„λ‘ μΏ λ²„λ„€ν‹°μŠ€κ°€ 도와쀀닀. 예λ₯Ό λ“€μ–΄ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μžλ™ν™”ν•΄μ„œ 배포용 μƒˆ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ§Œλ“€κ³ , κΈ°μ‘΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ œκ±°ν•˜κ³ , λͺ¨λ“  λ¦¬μ†ŒμŠ€λ₯Ό μƒˆ μ»¨ν…Œμ΄λ„ˆμ— μ μš©ν•  수 μžˆλ‹€.

 

 

μ»¨ν…Œμ΄λ„ˆλ‘œ μž‘μ—…μ„ ν•  λ•Œ, μžλ™ν™”ν•΄μ•Όν•  것듀이 λ§Žμ€λ° 이λ₯Ό λ„μ™€μ£ΌλŠ” 것이 μΏ λ²„λ„€ν‹°μŠ€μ΄λ‹€!

 

μΏ λ²„λ„€ν‹°μŠ€ μš©μ–΄

 

λ§ˆμŠ€ν„°: ν΄λŸ¬μŠ€ν„° 관리λ₯Ό λ‹΄λ‹Ήν•œλ‹€. μΏ λ²„λ„€ν‹°μŠ€ λ…Έλ“œλ₯Ό μ œμ–΄ν•˜λŠ” λ¨Έμ‹ μœΌλ‘œ, μ—¬κΈ°μ—μ„œ λͺ¨λ“  ν…ŒμŠ€ν¬ 할당이 μ‹œμž‘λœλ‹€.

ν΄λŸ¬μŠ€ν„°: μ—¬λŸ¬ λŒ€μ˜ 컴퓨터듀이 μ—°κ²°λ˜μ–΄ ν•˜λ‚˜μ˜ μ‹œμŠ€ν…œμ²˜λŸΌ λ™μž‘ν•˜λŠ” μ»΄ν“¨ν„°λ“€μ˜ 집합을 λ§ν•œλ‹€.

λ…Έλ“œ: μ»¨ν…Œμ΄λ„ˆκ°€ λ°°ν¬λ˜λŠ” 머신이닀. ν• λ‹Ήλœ ν…ŒμŠ€ν¬λ₯Ό μš”μ²­λŒ€λ‘œ μˆ˜ν–‰ν•˜λŠ” μ‹œμŠ€ν…œμœΌλ‘œ μΏ λ²„λ„€ν‹°μŠ€ λ§ˆμŠ€ν„°κ°€ μ΄λŸ¬ν•œ λ…Έλ“œλ₯Ό μ œμ–΄ν•œλ‹€.

ν¬λ“œ: λ‹¨μΌ λ…Έλ“œμ— 배포된 ν•˜λ‚˜ μ΄μƒμ˜ μ»¨ν…Œμ΄λ„ˆ 그룹으둜, ν¬λ“œμ— μžˆλŠ” λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆλŠ” IP μ£Όμ†Œ, IPC, 호슀트 이름, 기타 λ¦¬μ†ŒμŠ€λ₯Ό κ³΅μœ ν•˜λ©° ν¬λ“œλŠ” κΈ°λ³Έ μ»¨ν…Œμ΄λ„ˆμ—μ„œ λ„€νŠΈμ›Œν¬μ™€ μŠ€ν† λ¦¬μ§€λ₯Ό μΆ”μƒν™”ν•œλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ ν΄λŸ¬μŠ€ν„°μ—μ„œ μ»¨ν…Œμ΄λ„ˆλ₯Ό 더 μ‰½κ²Œ 이동할 수 μžˆλ‹€.

볡제 컨트둀러:  μ΄ μ»¨νŠΈλ‘€λŸ¬λŠ” ν΄λŸ¬μŠ€ν„°μ—μ„œ μ‹€ν–‰λ˜μ–΄μ•Ό ν•˜λŠ” λ™μΌν•œ ν¬λ“œ μ‚¬λ³Έμ˜ 개수λ₯Ό μ œμ–΄

μ„œλΉ„μŠ€: ν¬λ“œμ—μ„œ μž‘μ—… μ •μ˜λ₯Ό λΆ„λ¦¬ν•©λ‹ˆλ‹€ μΏ λ²„λ„€ν‹°μŠ€ μ„œλΉ„μŠ€ ν”„λ‘μ‹œλŠ” ν΄λŸ¬μŠ€ν„°μ—μ„œ λ‹€λ₯Έ μœ„μΉ˜λ‘œ μ΄λ™ν•œ κ²½μš°λ“  ꡐ체된 κ²½μš°λ“  μ„œλΉ„μŠ€ μš”μ²­μ„ μ μ ˆν•œ ν¬λ“œλ‘œ μžλ™ μˆ˜μ‹ 

Kubelet: μ΄ μ„œλΉ„μŠ€λŠ” λ…Έλ“œμ—μ„œ μ‹€ν–‰λ˜λ©° μ»¨ν…Œμ΄λ„ˆ λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό 읽고, μ •μ˜λœ μ»¨ν…Œμ΄λ„ˆκ°€ μ‹œμž‘λ˜μ–΄ μ‹€ν–‰ 쀑인지 확인

kubectl: μΏ λ²„λ„€ν‹°μŠ€μ˜ λͺ…령쀄 μ„€μ • 툴

 

μΏ λ²„λ„€ν‹°μŠ€ μ‹€μŠ΅ν•˜κΈ°

https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/

 

Using Minikube to Create a Cluster

Objectives Learn what a Kubernetes cluster is. Learn what Minikube is. Start a Kubernetes cluster using an online terminal. Kubernetes Clusters Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit. The

kubernetes.io

minikubeκ°€ 잘 μ„€μΉ˜λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κ³  μ‹€ν–‰ν•˜μ˜€λ‹€.

 

Minikubeλž€?

MinikubeλŠ” 둜컬 머신에 VM을 λ§Œλ“€κ³  ν•˜λ‚˜μ˜ λ…Έλ“œλ‘œ κ΅¬μ„±λœ κ°„λ‹¨ν•œ ν΄λŸ¬μŠ€ν„°λ₯Ό λ°°ν¬ν•˜λŠ” κ°€λ²Όμš΄ μΏ λ²„λ„€ν‹°μŠ€ κ΅¬ν˜„μ²΄λ‹€. MinikubeλŠ” λ¦¬λˆ…μŠ€, λ§₯, μœˆλ„μš° μ‹œμŠ€ν…œμ—μ„œ ꡬ동이 κ°€λŠ₯ν•˜λ©°, Minikube CLIλŠ” ν΄λŸ¬μŠ€ν„°μ— λŒ€ν•΄ μ‹œμž‘, 쀑지, μƒνƒœμ‘°νšŒ 및 μ‚­μ œ λ“±μ˜ 기본적인 λΆ€νŠΈμŠ€νŠΈλž˜ν•‘ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 

 

kubectlλͺ…λ ΉμœΌλ‘œ μ—¬λŸ¬μž‘μ—…μ΄ κ°€λŠ₯ν•˜λ‹€.

  • kubectl version - 버전 체크
  • kubectl describe - λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μžμ„Έν•œ 정보
  • kubectl logs - ν¬λ“œμ˜ μ»¨ν…Œμ΄λ„ˆλ‘œλΆ€ν„° 둜그λ₯Ό 좜λ ₯ν•œλ‹€
  • kubectl exec - ν¬λ“œμ˜ μ»¨ν…Œμ΄λ„ˆμ—μ„œ λͺ…령을 μ‹€ν–‰ν•œλ‹€

kubectl cluster-info - ν΄λŸ¬μŠ€ν„° λ””ν…ŒμΌμ„ μ•Œλ €μ€€λ‹€

kubectl get nodes - ν΄λŸ¬μŠ€ν„° μ•ˆμ—μ„œ λ…Έλ“œλ₯Ό 보기 μœ„ν•΄μ„œ μ‹€ν–‰

 

Kubernetes ν΄λŸ¬μŠ€ν„°λ₯Ό μ‹€ν–‰ν•˜κ³  λ‚˜λ©΄ μ»¨ν…Œμ΄λ„ˆν™” 된 μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ·Έ μœ„μ— 배포 ν•  수 μžˆκ²Œλœλ‹€!

 

μ™œ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό κ³΅λΆ€ν•˜λŠ”κ°€?

μΏ λ²„λ„€ν‹°μŠ€λŠ” λΆ€ν•˜μ— 따라 μžλ™μœΌλ‘œ μ„œλ²„λ₯Ό λŠ˜λ¦¬λŠ” κΈ°λŠ₯AutoScaling이 있고 IPλ₯Ό ν• λ‹Ήλ°›μ•„ λ‘œλ“œλ°ΈλŸ°μŠ€LoadBalance둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ™ΈλΆ€ μŠ€ν† λ¦¬μ§€λ₯Ό μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€ 디렉토리에 λ§ˆμš΄νŠΈν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 것도 일반적인데 이λ₯Ό μœ„ν•΄ ν΄λΌμš°λ“œ λ³„λ‘œ μ μ ˆν•œ APIλ₯Ό μ‚¬μš©ν•˜λŠ” λͺ¨λ“ˆμ΄ ν•„μš”ν•©λ‹ˆλ‹€. μΏ λ²„λ„€ν‹°μŠ€λŠ” Cloud Controllerλ₯Ό μ΄μš©ν•˜μ—¬ ν΄λΌμš°λ“œ 연동을 μ†μ‰½κ²Œ ν™•μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. AWS, ꡬ글 ν΄λΌμš°λ“œ, λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ μ• μ €λŠ” λ¬Όλ‘  μˆ˜μ‹­ 개의 ν΄λΌμš°λ“œ μ—…μ²΄μ—μ„œ λͺ¨λ“ˆμ„ μ œκ³΅ν•˜μ—¬ κ΄€λ¦¬μžλŠ” λ™μΌν•œ μ„€μ • νŒŒμΌμ„ μ„œλ‘œ λ‹€λ₯Έ ν΄λΌμš°λ“œμ—μ„œ λ™μΌν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

널리 μ•Œλ €μ§„ 바와 같이 ꡬ글은 μΏ λ²„λ„€ν‹°μŠ€λ₯Ό λ§Œλ“  μž₯본이자 κ°€μž₯ 크게 μ΄λ°”μ§€ν•˜κ³  ν•˜κ³  μžˆλŠ” μ‚¬μ—…μžμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‹€ λ³΄λ‹ˆ ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… μ—…κ³„μ—μ„œ μ΅œμ‹  λ²„μ „μ˜ μΏ λ²„λ„€ν‹°μŠ€ 적용 속도가 κ°€μž₯ λΉ λ¦…λ‹ˆλ‹€.λ‹¨μˆœ 지원이 μ•„λ‹ˆλΌ 관리, ν™•μž₯, μ—…κ·Έλ ˆμ΄λ“œ, λ°±μ—…, λ³΄μ•ˆ 등을 λͺ¨λ‘ ꡬ글이 μ±…μž„μ§€λŠ” λ§€λ‹ˆμ§€λ“œ μ„œλΉ„μŠ€μΈ Google Kubernetes Engine에 λ°˜μ˜ν•˜μ—¬, λͺ¨λ“  고객이 μΏ λ²„λ„€ν‹°μŠ€μ˜ 기술적, κΈ°λŠ₯적 κ°œμ„  사항을 λˆ„λ¦΄ 수 있게 ν•©λ‹ˆλ‹€. 즉, GCP μ‚¬μš© 기업에 μΏ λ²„λ„€ν‹°μŠ€λŠ” 늘 μ΅œμ‹  버전이 μœ μ§€λœλ‹€κ³  봐도 λ©λ‹ˆλ‹€. λ°”λ‘œ 이 점이 μΏ λ²„λ„€ν‹°μŠ€λ₯Ό 톡해 μ„œλ²„ 리슀 μ»΄ν“¨νŒ…μ΄λ‚˜ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜λ₯Ό κ΅¬ν˜„ν•˜κ³ μž ν•˜λŠ” μ‘°μ§μ—μ„œ GCPλ₯Ό κ°€μž₯ λ¨Όμ € κ³ λ € λŒ€μƒμ— 올렀 λ†“λŠ” μ΄μœ μž…λ‹ˆλ‹€.

 

728x90

'GCP' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Qwiklab : Cloud Engineering  (0) 2020.05.16
GCP flowchart  (0) 2020.04.18
GCP ꡬ글 ν΄λΌμš°λ“œ μš©μ–΄ 정리  (0) 2020.04.11
Docker - 도컀 μ‚¬μš©λ²•  (0) 2020.03.30
Docker - 도컀 κ°œλ…  (0) 2020.03.29