femiwiki / nomad

:whale: Femiwiki nomad
GNU Affero General Public License v3.0
0 stars 1 forks source link

Enable blue/green deployment #6

Closed lens0021 closed 1 month ago

lens0021 commented 3 years ago

A test with Nomad update Stanza has failed:

Placement Failure
Task Group "fastcgi":
  * Resources exhausted on 1 nodes
  * Dimension "memory" exhausted on 1 nodes

Task Group "http":
  * Resources exhausted on 1 nodes
  * Dimension "network: reserved port collision http=80" exhausted on 1 nodes

The used update stanza:

update {
  max_parallel = 1
  health_check = "checks"
  auto_revert  = false
  auto_promote = true
  # canary count equal to the desired count allows a Nomad job to model blue/green deployments
  canary       = 1
}

ae90754

Reference

lens0021 commented 3 years ago

메모리가 모자라서 지금 인스턴스로 Blue/Green Deployment는 못할 거 같습니다 다음 기회로 미루겠습니다.

lens0021 commented 3 years ago

메모리를 리밋을 좀 더 낮췄더니 괜찮은거 같기도 하고 그리고 영 안 되면 nomad가 사용하는 docker가 스왑을 쓰도록 하는 포크를 빌드해 봤는데 (https://github.com/lens0021/swappiness-nomad/commit/58dacd4f, https://github.com/lens0021/swappiness-nomad/releases/tag/v1.0.4-swap) 이거도 시험해봐도 좋을거같습니다.

lens0021 commented 3 years ago

fastcgi 교체 시도에서 메모리가 없다고 나와서 위에 스왑 쓰는 노매드 바이너리로 갈아타봤습니다 :sweat_drops:

lens0021 commented 3 years ago

fastcgi 교체 시도에서 메모리가 없다고 나와서 위에 스왑 쓰는 노매드 바이너리로 갈아타봤습니다

Dimension "memory" exhausted on 1 nodes 로 실패하는 게 동일합니다~~ 대신에 Node 서비스들 (Parosid, RESTBase, Mathoid) 워커를 1개로 줄여봤습니다. ^1 (기본=CPU unit 수만큼=2개)

lens0021 commented 3 years ago

CPU 사용량을 줄이려고 Consul을 빼버려서 불가능해졌습니다. https://github.com/femiwiki/femiwiki/issues/219 으로 php-fpm의 CPU 사용량이 줄어들면 재고해볼 수 있을 것 같습니다.

lens0021 commented 3 years ago

Memcached는 메모리 부족하면 오래된 거부터 지운다는데 그럼 메모리 좀 적게 쓰라고 해도 되지 않을까... 생각중

lens0021 commented 3 years ago

이 작업이 멈춘 이유는

  1. t4g.small 2개로 테스트 해봤을 때 메모리가 약간 애매해서 3개 이상이 되어야 할 것 같아서 재정적인 문제가 있음
  2. 서비스들을 여러 인스턴스로 쪼개는 게 감당 가능할 정도로 웹사이트의 속도 저하를 발생시키는지 확인이 필요해서

입니다.

lens0021 commented 7 months ago

parsoid, restbase, mathoid가 다 사라져서 계산 한번 다시 돌려볼만 합니다

예전 계산: https://femiwiki.com/w/%ED%8E%98%EB%AF%B8%EC%9C%84%ED%82%A4:%EC%9A%B4%EC%98%81%ED%8C%80/%EA%B0%9C%EB%B0%9C%ED%8C%80/%EA%B0%9C%EB%B0%9C_%EB%B8%94%EB%A1%9C%EA%B7%B8/9