2020. 1. 8. 01:46ㆍ참고
AWS에 게임 서버 설치를 준비하고 있습니다.
작년(2019) 여름쯤 AWS 사용을 익혀두었는데 게임이 완성되지 않아서 바로 파뭍고 ㅋ
이제야 다시 시작하네요. 다시 학습. -_ -;
그런데 요즘 대세는 컨테이너 기반 인프라 관리라는데
평소 들어보았던 도커(Docker)를 좀 자세히 살펴보았습니다.
... 그렇게 일주일이 지났습니다. ...
게임 서버 설치하고 프로토콜 테스트해야 할 시간을 인프라 관리 시스템에 다 썼네요. ㅋ
끝없는 설치와 설정이 무한 반복되는 인프라 세상에서 설치가 사라졌습니다. 0_ 0...
매력적이네요. 웹 서버 뿐만아니라 게임 서버에도 충분히 긍정적인 영향을 미칠거라 생각합니다.
도커 컨테이너에 익숙하지 않은 분이라면 제가 거쳐갔던 시간을 참고해서 컨테이너에 익숙해지세요.
웹에만 머물지 않을 멋진 기술입니다.
도커 모름. - 시작!
도커 감잡기.
https://www.youtube.com/watch?v=chnCcGCTyBg
우분투 18.04 LTS + docker-ce 설치후.
도커 1,2,3
https://www.youtube.com/watch?v=9tW0QSsrhwc
https://www.youtube.com/watch?v=p58k2_HMWRM
https://www.youtube.com/watch?v=X--WPFfSbFc
도커 네트웍 구조 1~4
https://bluese05.tistory.com/15
[참고]
쿠버네티스 1,2,3
https://www.youtube.com/watch?v=IFc1mG48j0s
https://www.youtube.com/watch?v=lVG9LU90ZQw
https://www.youtube.com/watch?v=6q1MRXNUzPU
드디어 모니터링! (cAdvisor - Prometheus - Grafana)
(여기서는 도커 스웜 중심입니다. 쿠버네티스는 마지막 링크를 참조하세요.)
https://www.opvizor.com/docker-swarm-monitoring
그라파나 최신 도커는 직접 받으세요.
docker pull grafana/grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana
그라파나 샘플 사이트
https://play.grafana.org/d/77d47mNik/prometheus-singlestat-label-value
그라파나 대시보드 사이트
https://grafana.com/grafana/dashboards?dataSource=prometheus
그리고 Prometheus QL
https://devthomas.tistory.com/15
https://prometheus.io/docs/prometheus/latest/querying/basics/
휴...
책이 나왔네요.
http://www.yes24.com/Product/Goods/84927385?scode=032&OzSrank=1
이제 게임 서버 설치 들어갑니다. 쿨럭. -_ -...
ps.
그라파나 혹은 프로메테우스 컨테이너가 실행되지 않는 문제.
로그 확인하면, 권한 문제로 인한 쓰기 실패로 종료가 나옵니다.
docker logs <container id>
cannot create directory '/var/lib/grafana/plugins': Permission denied
grafana_grafana_1 exited with code 1
그라파나(Grafana) 5.1 이후 버전은 설정 방법에 큰 변화가 있습니다.
볼륨 위치 변경 및 기본 루트 로그인에서 유저 로그인으로 변경 등.
참고 (docker-compose.yml)
grafana: image: grafana/grafana:latest-ubuntu user: "104" networks: - net ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} - GF_USERS_ALLOW_SIGN_UP=false #volumes: #- ./grafana:/var/lib/grafana deploy: mode: replicated replicas: 1 placement: constraints: - node.role == manager resources: limits: memory: 128M reservations: memory: 64M |
err="open /prometheus/queries.active: permission denied"
프로메테우스(Prometheus) 역시 로그인 권한이 root에서 UID로 바뀌었네요.
자신의 UID 확인. (echo $UID)
https://github.com/prometheus/prometheus/issues/5976
참고 (docker-compose.yml)
prometheus: image: prom/prometheus networks: - net user: "1000:1000" ports: - "9090:9090" command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--storage.tsdb.retention=${PROMETHEUS_RETENTION:-24h}' volumes: - ./prometheus:/prometheus configs: - source: prom_conf target: /etc/prometheus/prometheus.yml deploy: mode: replicated replicas: 1 placement: constraints: - node.role == manager resources: limits: memory: 2048M reservations: memory: 128M |
휴.. 이제 잘 동작합니다.
무료로 AWS 서버 모니터링 하려다가 컨테이너 기반 생태계에 입문했네요. ㅋ