일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- elasticsearch
- Endpoints
- Kubernetes
- Proxy Resource
- On-Premise
- VPC
- docker swarm
- Site-to-Site VPN
- docker
- 구조분해 할당
- Await
- CloudFormation
- grafana
- transit gateway
- vgw
- optional chaining
- 단축 평가
- 온프레미스
- Custom Resource
- null 병합 연산자
- AWS
- prometheus
- api gateway
- 자바스크립트
- cognito
- Service
- JavaScript
- DynamoDB
- 비구조화 할당
- 옵셔널 체이닝
- Today
- Total
목록분류 전체보기 (186)
만자의 개발일지
배경 docker info 명령어로 도커 정보를 보려던 도중 다음과 같이 경고 메세지가 떴습니다. $ docker info . . WARNING: IPv4 forwarding is disabled IPv4 포워딩 기능이 비활성화 되어있다는 문구였습니다. 이유 리눅스에서는 안정상의 이유로 기본적으로 패킷 전송이 금지되어 있습니다. 도커 컨테이너는 호스트와 다른 네트워크 카드를 가지고 있는데, 호스트가 네트워크 카드에서 컨테이너 네트워크 카드로 패킷을 전송하는 포워딩을 수행하면서 다음과 같이 경고 메세지가 뜬 것입니다. 해결 방법 CentOS 기준으로 다음과 같이 해결할 수 있었습니다. /etc/sysctl.conf 파일을 열고 다음과 같이 net.ipv4.ip_forward 옵션을 활성화합니다. $ vi ..
Promtheus에서 Docker 메트릭을 수집하여 모니터링할 수 있습니다. 다만 Docker에서 기본적으로 제공하지는 않으므로 추가적인 설정이 필요합니다. Docker 메트릭 수집 아래 예제는 AWS EC2(Amazon Linux 2)에서 진행하였습니다. JSON 파일 설정 다음과 같이 vi 편집기로 daemon.json 파일을 열어줍니다. $ sudo vi /etc/docker/daemon.json 아래와 같이 코드를 작성한 후 저장합니다. 공식 문서에서는 9323포트를 권장하지만 다른 포트를 사용하셔도 무방합니다. { "metrics-addr" : "0.0.0.0:9323", "experimental" : true } docker를 재실행 합니다. $ systemctl restart docker /..
Node Exporter Prometheus Node Exporter는 하드웨어의 상태와 커널 관련 메트릭을 수집하는 메트릭 수집기입니다. Prometheus는 Node Exporter의 metrics HTTP endpoint에 접근하여 해당 메트릭을 수집할 수 있습니다. Node Exporter로 부터 수집한 메트릭을 Prometheus내의 TSDB에 저장하여 PromQL로 메트릭을 쿼리해 서버 상태를 모니터링할 수 있습니다. Node Exporter 설치 Node Exporter를 설치하는 방법은 압축 파일을 다운받아 바이너리 파일로 실행하는 방법과 도커 이미지로 컨테이너를 생성하여 실행하는 두 가지 방법이 있습니다. Node Exporter는 기본적으로 9100 포트를 사용하므로 9100 포트에 다..
Docker Swarm에서 매니저 노드는 워커 노드의 역할까지 포함하고 있는데 때문에 글로벌 서비스를 배포하거나 클러스터 내의 노드 수 이상으로 replica를 지정하여 배포하는 경우 매니저 노드까지 컨테이너를 할당하게 됩니다. Worker Node에만 서비스 배포 만약 매니저 노드는 클러스터를 관리하는 용도로만 사용하고 워커 노드로만 서비스를 운영하고 싶다면 어떻게 할까요? 방법은 간단합니다. 서비스를 배포할 때 제약 조건에 노드(node)의 역할(role)이 worker인 노드에만 배포하겠다고 명시해주면 됩니다. 예시로 다음과 같이 매니저 노드 1개와 워커 노드 2개를 운영중이라고 가정해봅시다. $ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER ST..
본 포스팅은 ingress에 대한 지식을 필요로 합니다. ingress에 대한 정보는 아래 글을 참고해주시길 바랍니다. https://yoo11052.tistory.com/184 [Docker] Docker Swarm Network의 종류 도커 스웜 네트워크 스웜 모드는 여러 개의 노드에 같은 컨테이너를 분산해서 할당하기 때문에 각 노드를 하나로 묶어줄 네트워크가 필요합니다. 뿐만 아니라 서비스를 외부에서 접근한다 했을 yoo11052.tistory.com Docker Swarm에서는 서비스를 생성하면 기본적으로 ingress mode로 서비스를 생성합니다. ingress mode로 서비스를 생성하게되면 서비스로 요청이 들어올 시 서비스로 생성된 컨테이너 중 하나로 요청을 redirect하게 됩니다. 예..
Prometheus 설치 이번 포스팅은 EC2(Amazon Linux 2)에서 진행하였습니다. Prometheus 설치 먼저 아래 사이트로 접속합니다. https://prometheus.io/download Download | Prometheus An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. prometheus.io 다운받을 버전의 압축파일을 우클릭한 후 링크 주소 복사를 클릭합니다. wget 명령어로 해당 압축파일을 다운로드 받습니다. $ wget https://github.com/p..