[Linux] μ»¨ν…Œμ΄λ„ˆμ˜ 이해

2023. 8. 29. 13:41·🌌 OS/Linux-λ¦¬λˆ…μŠ€
728x90

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ³΅μž‘μ„±μ΄ μ¦κ°€ν•˜κ³  μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 가속화에 λŒ€ν•œ μš”κ΅¬κ°€ λŠ˜μ–΄λ‚˜ 인프라, IT νŒ€, ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ μš”κ΅¬κ°€ μ¦κ°€ν–ˆλ‹€. μ»¨ν…Œμ΄λ„ˆλŠ” μ—¬λŸ¬ ν™˜κ²½μ—μ„œ 문제λ₯Ό μ™„ν™”ν•˜κ³  반볡적인 μž‘μ—…μ„ κ°€μ†ν™”ν•˜λ„λ‘ μ§€μ›ν•œλ‹€.

 

μ»¨ν…Œμ΄λ„ˆλž€?

μ»¨ν…Œμ΄λ„ˆλŠ” 싀행에 ν•„μš”ν•œ λͺ¨λ“  νŒŒμΌμ„ ν¬ν•¨ν•œ 전체 μ‹€ν–‰(Runtime) ν™˜κ²½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ νŒ¨ν‚€μ§•ν•˜κ³  격리할 수 μžˆλŠ” κΈ°μˆ μ΄λ‹€. 전체 κΈ°λŠ₯을 μœ μ§€ν•˜λ©΄μ„œ μ»¨ν…Œμ΄λ„ˆν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν™˜κ²½(개발, ν…ŒμŠ€νŠΈ, ν”„λ‘œλ•μ…˜ ν™˜κ²½ λ“±) 간에 μ‰½κ²Œ 이동할 수 μžˆλ‹€. μ»¨ν…Œμ΄λ„ˆλŠ” IT λ³΄μ•ˆμ˜ μ€‘μš”ν•œ 뢀뢄이기도 ν•˜λ‹€.

  • μ»¨ν…Œμ΄λ„ˆ νŒŒμ΄ν”„λΌμΈμ— λ³΄μ•ˆμ„ κ΅¬μΆ•ν•˜κ³  인프라λ₯Ό λ³΄ν˜Έν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆμ˜ μ•ˆμ •μ„±, ν™•μž₯μ„±, 신뒰성을 보μž₯ν•  수 μžˆλ‹€.
  • μΌκ΄€λœ 행동과 κΈ°λŠ₯으둜 퍼블릭, 프라이빗, ν•˜μ΄λΈŒλ¦¬λ“œ ν΄λΌμš°λ“œ ν™˜κ²½κ³Ό 데이터센터 간에 μ»¨ν…Œμ΄λ„ˆν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ†μ‰½κ²Œ 이동할 수 μžˆλ‹€.

 

μ»¨ν…Œμ΄λ„ˆμ˜ μž₯점

  • μ»¨ν…Œμ΄λ„ˆλ₯Ό ν™œμš©ν•˜λ©΄ λ‹΄λ‹Ή μ˜μ—­μ„ λΆ„λ¦¬ν•˜μ—¬ 개발 νŒ€κ³Ό 운영 νŒ€ κ°„μ˜ μΆ©λŒμ„ 쀄일 수 μžˆλ‹€.
    → κ°œλ°œμžλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 집쀑할 수 있고, 운영 νŒ€μ€ 인프라에 μ£Όλ ₯ν•  수 μžˆλ‹€.
  • μ»¨ν…Œμ΄λ„ˆλŠ” μ˜€ν”ˆμ†ŒμŠ€ κΈ°μˆ μ„ 기반으둜 ν•˜κΈ° λ•Œλ¬Έμ— μ΅œμ‹  κΈ°μˆ μ„ ν™œμš©ν•˜μ—¬ λ‹€μ–‘ν•˜κ³  μƒˆλ‘­κ³  κ°•λ ₯ν•œ 기술 μ œν’ˆμ„ μ‰½κ²Œ 채택할 수 μžˆλ‹€.
    → μ»¨ν…Œμ΄λ„ˆ 기술(Podman, Skopeo, Buildah, CRI-O, μΏ λ²„λ„€ν‹°μŠ€, Docker λ“±)은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발과 배포λ₯Ό κ°„μ†Œν™”ν•˜κ³  κ°€μ†ν™”ν•˜κ³  μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ν•˜λŠ” 데 도움이 λœλ‹€.
  • μ»¨ν…Œμ΄λ„ˆλŠ” λ™μΌν•œ 운영 체제 컀널을 κ³΅μœ ν•˜κ³  μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμŠ€ν…œμ˜ λ‚˜λ¨Έμ§€ μ˜μ—­μœΌλ‘œλΆ€ν„° κ²©λ¦¬ν•˜λ―€λ‘œ 개발, ν…ŒμŠ€νŠΈ, ν”„λ‘œλ•μ…˜ κ΅¬μ„±μ—μ„œ 전체λ₯Ό μ΄λ™ν•˜κ³ , μ—΄κ³ , μ‚¬μš©ν•  수 μžˆλ‹€.
  • κ²½λŸ‰ν™”λ˜κ³  이식 κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— λ”μš± μ‹ μ†ν•˜κ²Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•˜κ³  λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬κ°€ λ°œμƒν•  λ•Œ 이λ₯Ό μΆ©μ‘±ν•  수 μžˆλ‹€.

 

μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜

μ»¨ν…Œμ΄λ„ˆλ₯Ό 톡해 개발 νŒ€μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ§‘μ€‘ν•˜κ³  운영 νŒ€μ€ 인프라에 집쀑할 수 있게 λ˜λŠ”λ°, μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜μ€ μ „μ‚¬μ μœΌλ‘œ μ΄λŸ¬ν•œ 배포λ₯Ό 관리할 수 μžˆλŠ” 방법이닀.

 

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

μΏ λ²„λ„€ν‹°μŠ€λŠ” Linux μ»¨ν…Œμ΄λ„ˆ μž‘μ—…μ„ μžλ™ν™”ν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€ ν”Œλž«νΌμ΄λ‹€. μΏ λ²„λ„€ν‹°μŠ€μ—μ„œλŠ” μ»¨ν…Œμ΄λ„ˆν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•˜κ³  ν™•μž₯ν•˜λŠ” 데 μˆ˜λ™ ν”„λ‘œμ„ΈμŠ€κ°€ ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©°, μΏ λ²„λ„€ν‹°μŠ€λ₯Ό 톡해 물리 μ„œλ²„ λ˜λŠ” 가상 λ¨Έμ‹ μ˜ ν΄λŸ¬μŠ€ν„°μ—μ„œ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ˜ˆμ•½ν•˜κ³  μ‹€ν–‰ν•  수 μžˆλŠ” ν”Œλž«νΌμ„ μ œκ³΅ν•˜λ©°, μΏ λ²„λ„€ν‹°μŠ€ μ•„ν‚€ν…μ²˜λŠ” μƒν˜Έ μ—°κ³„λœ ꡬ성 μš”μ†Œλ‘œ ν΄λŸ¬μŠ€ν„°λ₯Ό λ‚˜λˆ„μ–΄ ν΄λŸ¬μŠ€ν„°λ₯Ό μ •μ˜λœ μƒνƒœλ‘œ μœ μ§€ν•œλ‹€.

  • Red Hat OpenShift 4 : μ—”ν„°ν”„λΌμ΄μ¦ˆ λ ˆλ”” μΏ λ²„λ„€ν‹°μŠ€ ν”Œλž«νΌμœΌλ‘œ, κ°œλ°œμžλŠ” μ…€ν”„ μ„œλΉ„μŠ€ ν™˜κ²½μ„ κ΅¬μΆ•ν•˜μ—¬ λͺ¨λ“  μΈν”„λΌμ—μ„œ μžλ™ν™”λœ ν’€ μŠ€νƒ μ˜€νΌλ ˆμ΄μ…˜μ„ κ΅¬ν˜„ν•  수 μžˆλ‹€.

 

μ»¨ν…Œμ΄λ„ˆ ν™œμš©μ˜ μž₯점

μ»¨ν…Œμ΄λ„ˆλŠ” 규λͺ¨μ— 관계없이 λ‹€μ–‘ν•œ μ›Œν¬λ‘œλ“œμ™€ ν™œμš© 사둀에 배포할 수 μžˆλ‹€. μ»¨ν…Œμ΄λ„ˆλŠ” ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ 개발 방식에 ν•„μš”ν•œ 기반 κΈ°μˆ μ„ μ œκ³΅ν•˜λ―€λ‘œ, 이λ₯Ό 톡해 κ°œλ°œμžλŠ” DevOps, CI/CD(지속적인 톡합/배포)λ₯Ό μ‹œμž‘ν•  수 있으며 μ„œλ²„λ¦¬μŠ€(Serverless)둜 μ „ν™˜ν•  수 μžˆλ‹€.

  • ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ 개발 방식 : ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… 기법과 κΈ°μˆ μ„ 기반으둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ좕, μ‹€ν–‰, κ°œμ„ ν•˜λŠ” 방법
  • DevOps : μ‹ μ†ν•œ κ³ ν’ˆμ§ˆ μ„œλΉ„μŠ€ μ œκ³΅μ„ 톡해 λΉ„μ¦ˆλ‹ˆμŠ€ κ°€μΉ˜λ₯Ό 높이고 λŒ€μ‘ λŠ₯λ ₯을 κ°œμ„ ν•  λͺ©μ μœΌλ‘œ κΈ°μ—… λ¬Έν™”, μžλ™ν™”, ν”Œλž«νΌ 섀계에 μ ‘κ·Όν•˜λŠ” 방식. λ ˆκ±°μ‹œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό μ΅œμ‹  ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 인프라λ₯Ό μ—°κ²°ν•˜λŠ” 것
  • Ci/CD : μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 단계λ₯Ό μžλ™ν™”ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ”μš± 짧은 주기둜 κ³ κ°μ—κ²Œ μ œκ³΅ν•˜λŠ” 방법.
  • μ„œλ²„λ¦¬μŠ€ : κ°œλ°œμžκ°€ μ„œλ²„λ₯Ό 관리할 ν•„μš” 없이 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λΉŒλ“œν•˜κ³  μ‹€ν–‰ν•  수 μžˆλ„λ‘ ν•˜λŠ” ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ 개발 λͺ¨λΈ. μ„œλ²„κ°€ μ‘΄μž¬ν•˜κΈ΄ ν•˜μ§€λ§Œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ—μ„œμ™€ 달리 μΆ”μƒν™”λ˜μ–΄ μžˆλ‹€. ν΄λΌμš°λ“œ μ œκ³΅μ—…μ²΄κ°€ μ„œλ²„ 인프라에 λŒ€ν•œ ν”„λ‘œλΉ„μ €λ‹, μœ μ§€ 관리, μŠ€μΌ€μΌλ§ λ“±μ˜ 일상적인 μž‘μ—…μ„ μ²˜λ¦¬ν•˜λ©° κ°œλ°œμžλŠ” 배포λ₯Ό μœ„ν•΄ μ½”λ“œλ₯Ό μ»¨ν…Œμ΄λ„ˆμ— νŒ¨ν‚€μ§•ν•˜κΈ°λ§Œ ν•˜λ©΄ λœλ‹€.

μ»¨ν…Œμ΄λ„ˆ 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ κ³ λ„λ‘œ λΆ„μ‚°λœ ν΄λΌμš°λ“œ μ•„ν‚€ν…μ²˜ μ „λ°˜μ—μ„œ μž‘λ™ν•  수 μžˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λŸ°νƒ€μž„ λ―Έλ“€μ›¨μ–΄λŠ” 개발, 배포, 톡합, μžλ™ν™”λ₯Ό μœ„ν•œ 톡합 ν™˜κ²½μ„ μ§€μ›ν•˜λŠ” νˆ΄μ„ μ œκ³΅ν•œλ‹€.

 

μ»¨ν…Œμ΄λ„ˆ vs Docker

DockerλŠ” 전톡적인 Linux μ»¨ν…Œμ΄λ„ˆμ™€ λ‹€λ₯΄λ‹€. Docker κΈ°μˆ μ€ LXC κΈ°μˆ μ„ 기반으둜 κ°œλ°œλ˜μ—ˆμ§€λ§Œ μ΄ν›„μ—λŠ” μ΄λŸ¬ν•œ 쒅속 관계λ₯Ό 벗어났닀(λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒμ΄ "전톡적인 Linux μ»¨ν…Œμ΄λ„ˆ"와 μ—°κ²° μ§€μ–΄ μƒκ°ν•˜μ§€λ§Œ μ•„λ‹ˆλ‹€.) LXCλŠ” κ²½λŸ‰μ˜ 가상화 λ°©λ²•μœΌλ‘œ μœ μš©ν–ˆμ§€λ§Œ λ›°μ–΄λ‚œ 개발자 λ˜λŠ” μ‚¬μš©μž ν™˜κ²½μ„ μ œκ³΅ν•˜μ§€λŠ” λͺ»ν–ˆλ‹€. Docker κΈ°μˆ μ€ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜λŠ” κΈ°λŠ₯ μ΄μƒμ˜ λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 특히 μ»¨ν…Œμ΄λ„ˆ 생성과 ꡬ좕, μ»¨ν…Œμ΄λ„ˆ 이미지 전솑, 이미지 버전 관리 λ“±μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μš©μ΄ν•˜κ²Œ ν•΄μ€€λ‹€.

전톡적인 Linux μ»¨ν…Œμ΄λ„ˆλŠ” μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό 관리할 수 μžˆλŠ” init μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•œλ‹€. 즉, 전체 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν•˜λ‚˜λ‘œ μ‹€ν–‰ν•  수 μžˆλ‹€. Docker κΈ°μˆ μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ³„ ν”„λ‘œμ„ΈμŠ€λ‘œ μ„ΈλΆ„ν™”ν•˜λ„λ‘ ꢌμž₯ν•˜κ³  이λ₯Ό μœ„ν•œ νˆ΄μ„ μ œκ³΅ν•œλ‹€. μ΄λŸ¬ν•œ μ„ΈλΆ„ν™”λœ μ ‘κ·Ό λ°©μ‹μ—λŠ” λ‹€μ–‘ν•œ μž₯점이 μžˆλ‹€.

  • LXC : Linux 컀널 포함 κΈ°λŠ₯을 μœ„ν•œ μ‚¬μš©μž 곡간 μΈν„°νŽ˜μ΄μŠ€λ‘œ, κ°•λ ₯ν•œ API와 κ°„λ‹¨ν•œ 도ꡬλ₯Ό 톡해 Linux μ‚¬μš©μžλŠ” μ‹œμŠ€ν…œ λ˜λŠ” μ‘μš©ν”„λ‘œκ·Έλž¨ μ»¨ν…Œμ΄λ„λ₯΄ μ‰½κ²Œ λ§Œλ“€κ³  관리할 수 μžˆλ‹€.
728x90
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'🌌 OS > Linux-λ¦¬λˆ…μŠ€' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Linux] Quantum Espresso v7.2 μ„€μΉ˜ κ³Όμ • (Ubuntu 20.04)  (2) 2023.09.07
[Linux] μΏ λ²„λ„€ν‹°μŠ€(Kubernetes, k8s)λž€?  (0) 2023.08.29
[E] CentOS 7μ—μ„œ rpm νŒ¨ν‚€μ§€ μ„€μΉ˜μ‹œ Header V4 RSA/SHA1 Signature, key ID f27eab47: BAD μ—λŸ¬ λ°œμƒ  (0) 2023.04.11
[E] CentOS 7 ν™˜κ²½ GitLab μ„€μΉ˜ 쀑 Requires: policycoreutils-python-utils μ—λŸ¬ λ°œμƒ (νŒ¨ν‚€μ§€ μ˜μ‘΄μ„± 문제)  (0) 2023.04.10
[E] Found 271 pre-existing rpmdb problem(s), 'yum check' output follows:  (0) 2023.04.10
'🌌 OS/Linux-λ¦¬λˆ…μŠ€' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Linux] Quantum Espresso v7.2 μ„€μΉ˜ κ³Όμ • (Ubuntu 20.04)
  • [Linux] μΏ λ²„λ„€ν‹°μŠ€(Kubernetes, k8s)λž€?
  • [E] CentOS 7μ—μ„œ rpm νŒ¨ν‚€μ§€ μ„€μΉ˜μ‹œ Header V4 RSA/SHA1 Signature, key ID f27eab47: BAD μ—λŸ¬ λ°œμƒ
  • [E] CentOS 7 ν™˜κ²½ GitLab μ„€μΉ˜ 쀑 Requires: policycoreutils-python-utils μ—λŸ¬ λ°œμƒ (νŒ¨ν‚€μ§€ μ˜μ‘΄μ„± 문제)
mxnxeonx
mxnxeonx
"μ•„, 이거 λ­μ˜€λ”λΌ"λ₯Ό ν•˜μ§€ μ•ŠκΈ°μœ„ν•œ 일기μž₯.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (158)
      • πŸ’» Language (43)
        • Java : μžλ°” (18)
        • Python : 파이썬 (9)
        • ROS : λ‘œλ΄‡μ‹œμŠ€ν…œ (9)
        • Android : μ•ˆλ“œλ‘œμ΄λ“œ (4)
        • JavaScript : μžλ°”μŠ€ν¬λ¦½νŠΈ (2)
      • 🌐 Environment (19)
        • IDE : ν†΅ν•©κ°œλ°œν™˜κ²½ (9)
        • Virtual : κ°€μƒν™˜κ²½ (10)
      • βš™ Framework (12)
        • Vue-λ·° (3)
        • Spring-μŠ€ν”„λ§ (7)
      • πŸ’Ύ DataBase (18)
      • 🌌 OS (36)
        • Linux-λ¦¬λˆ…μŠ€ (36)
      • πŸ’¬ CI · CD (7)
        • Git : κΉƒ (7)
      • πŸ“ƒ ETC (6)
      • πŸ€– AI (5)
  • 링크

    • GitHub
  • 인기 κΈ€

  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
mxnxeonx
[Linux] μ»¨ν…Œμ΄λ„ˆμ˜ 이해
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”