Skip to content

Latest commit

Β 

History

History
64 lines (41 loc) Β· 3.64 KB

File metadata and controls

64 lines (41 loc) Β· 3.64 KB

stack-docker

이 λ ˆνŒŒμ§€ν† λ¦¬μ˜ Docker Compose 섀정은 μ—˜λΌμŠ€ν‹±μŠ€νƒμ˜ λ§Žμ€ μš”μ†Œλ“€μ„ Docker 기반으둜 단일 λ¨Έμ‹ μ—μ„œ λͺ¨λ‘ κ΅¬λ™μ‹œν‚€κΈ° μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€.

사전 쑰건

  • Docker와 Docker Composeκ°€ ν•„μš”ν•©λ‹ˆλ‹€.
    • μœˆλ„μš°λ‚˜ λ§₯을 μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžλ“€μ€ Docker for Mac λ˜λŠ” Docker for Windowsλ₯Ό μ‚¬μš©ν•˜μ—¬ μžλ™μœΌλ‘œ μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    • λ¦¬λˆ…μŠ€ μ‚¬μš©μžλ“€μ€ λ‹€μŒ λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μ—¬ μ•„λž˜μ™€ 같이 pip둜 μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

      pip install docker-compose
      
  • μœˆλ„μš° μ‚¬μš©μžλ“€μ€ λ°˜λ“œμ‹œ λ‹€μŒ 두가지 ν™˜κ²½ λ³€μˆ˜λ₯Ό μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

    • COMPOSE_CONVERT_WINDOWS_PATHS=1

    • PWD=/path/to/checkout/for/stack-docker

      • 예λ₯Ό λ“€μ–΄ μ €λŠ” λ‘œμ»¬μ— 이 λ ˆνŒŒμ§€ν† λ¦¬λ₯Ό git clone ν•œ 경둜둜 λ‹€μŒ 경둜λ₯Ό μ‚¬μš©ν•œλ‹€κ³  κ°€μ •ν•˜κ² μŠ΅λ‹ˆλ‹€: /c/Users/nick/elastic/stack-docker
      • 주의: λ°˜λ“œμ‹œ /c/path/to/place 와 ν˜•μ‹μœΌλ‘œ 경둜λ₯Ό μž‘μ„±ν•΄μ•Ό ν•©λ‹ˆλ‹€. 일반적인 μœˆλ„μš°μ˜ 경둜처럼 C:\path\to\place와 같이 μž‘μ„±ν•˜μ‹œλ©΄ μ•ˆλ©λ‹ˆλ‹€.
    • λ‹€μŒ μ„Έκ°€μ§€ λ°©λ²•μœΌλ‘œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.:

      1. νŒŒμ›Œμ‰˜μ„ μ‚¬μš©ν•˜μ—¬ μž„μ‹œλ‘œ ν™˜κ²½ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€: $Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
      2. νŒŒμ›Œμ‰˜μ„ μ‚¬μš©ν•˜μ—¬ 영ꡬ적으둜 ν™˜κ²½ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€: [Environment]::SetEnvironmentVariable("COMPOSE_CONVERT_WINDOWS_PATHS", "1", "Machine")

      주의: ν•΄λ‹Ή 섀정을 λ°˜μ˜ν•˜κΈ° μœ„ν•΄μ„œλŠ” refreshλ₯Ό ν•˜κ±°λ‚˜ νŒŒμ›Œμ‰˜μ„ μƒˆλ‘œ ꡬ동해야 ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

      1. μ‹œμŠ€ν…œ μ„€μ •(System Properties)에 ν™˜κ²½ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.
  • μ»¨ν…Œμ΄λ„ˆ ꡬ동을 μœ„ν•΄ μ΅œμ†Œν•œ 4GiB의 RAM λ©”λͺ¨λ¦¬ 곡간이 ν•„μš”ν•©λ‹ˆλ‹€. μœˆλ„μš°μ™€ λ§₯ μ‚¬μš©μžλ“€μ€ λ°˜λ“œμ‹œ κΈ°λ³Έκ°’μœΌλ‘œ μ„€μ •λ˜μ–΄ μžˆλŠ” 2GiB의 RAM λ©”λͺ¨λ¦¬ 곡간보닀 더 큰 λ©”λͺ¨λ¦¬(4GiB 이상)둜 Docker 가상 머신을 μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€:

Docker VM memory settings

  • λ¦¬λˆ…μŠ€ μ‚¬μš©μžλ“€μ€ λ°˜λ“œμ‹œ root κΆŒν•œμœΌλ‘œ λ‹€μŒ 섀정을 μˆ˜ν–‰ν•΄μ•Όν•©λ‹ˆλ‹€:
sysctl -w vm.max_map_count=262144

κΈ°λ³Έκ°’μœΌλ‘œ ν• λ‹Ήλ˜μ–΄ μžˆλŠ” 가상 λ©”λͺ¨λ¦¬ κ³΅κ°„μœΌλ‘œλŠ” λΆ€μ‘±ν•©λ‹ˆλ‹€.

stack μ‹œμž‘ν•˜κΈ°

λ¨Όμ € μš°λ¦¬λŠ” λ‹€μŒ 절차λ₯Ό μˆ˜ν–‰ν•΄μ•Όν•©λ‹ˆλ‹€:

  1. κΈ°λ³Έ νŒ¨μŠ€μ›Œλ“œ μ„€μ •
  2. νŒ¨μŠ€μ›Œλ“œλ“€μ„ μ €μž₯ν•  keystore 생성
  3. 비츠와 apmμ—μ„œ μ‚¬μš©λ˜λŠ” 인덱슀 νŒ¨ν„΄ 등을 μœ„ν•œ λŒ€μ‹œλ³΄λ“œ μ„€μΉ˜

μœ„ μ ˆμ°¨λ“€μ€ setup.yml νŒŒμΌμ„ μ‚¬μš©ν•˜μ—¬ μˆ˜ν–‰λ©λ‹ˆλ‹€. μ•„λž˜ λͺ…령을 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€:

docker-compose -f setup.yml up

μ„€μΉ˜κ°€ μ™„λ£Œλ˜κ³ λ‚˜λ©΄ 좜λ ₯λ˜λŠ” noteλ₯Ό ν™•μΈν•΄μ£Όμ„Έμš”. μ½˜μ†”μ— 좜λ ₯λ˜λŠ” λ‚΄μš©μ— νŒ¨μŠ€μ›Œλ“œκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 이 νŒ¨μŠ€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ elastic에 둜그인 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이제 μš°λ¦¬λŠ” docker-compose up -d λͺ…λ ΉμœΌλ‘œ stack을 μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 λͺ…령을 톡해 Elasticsearch, Kibana, Logstash, Auditbeat, Metricbeat, Filebeat, Packetbeat, and Heartbeat둜 κ΅¬μ„±λœ 데λͺ¨μš© Elastic Stack이 μƒμ„±λ©λ‹ˆλ‹€.

λΈŒλΌμš°μ €λ₯Ό μ‚¬μš©ν•˜μ—¬ http://localhost:5601 μ ‘μ†ν•˜κ³  κ²°κ³Όλ₯Ό ν™•μΈν•΄λ³΄μ‹­μ‹œμ˜€.

주의: μ—˜λΌμŠ€ν‹±μ„œμΉ˜λŠ” ν˜„μž¬ μžκ°€μ„œλͺ…(self-signed) μΈμ¦μ„œ(certs)둜 μ„€μΉ˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

elastic에 λ‘œκ·ΈμΈν•˜κΈ° μœ„ν•œ μžλ™ μƒμ„±λœ νŒ¨μŠ€μ›Œλ“œλŠ” μ„€μΉ˜μ‹œ ν‘œμ‹œλœ νŒ¨μŠ€μ›Œλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.