일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- null 병합 연산자
- Endpoints
- grafana
- 온프레미스
- AWS
- Site-to-Site VPN
- 구조분해 할당
- Custom Resource
- 러스트
- transit gateway
- cognito
- prometheus
- Proxy Resource
- Kubernetes
- 자바스크립트
- rust
- 옵셔널 체이닝
- elasticsearch
- JavaScript
- 단축 평가
- Await
- 비구조화 할당
- vgw
- api gateway
- docker
- optional chaining
- VPC
- Service
- docker swarm
- On-Premise
- Today
- Total
목록분류 전체보기 (195)
만자의 개발일지

Docker Stack Docker Compose가 여러 개의 컨테이너로 구성된 어플리케이션을 관리하기 위한 도구라면, Docker Stack은 여러 개의 서비스로 구성된 어플리케이션을 관리하기 위한 도구입니다. 서비스를 관리하기 때문에 Docker Stack은 Swarm mode에서만 사용할 수 있습니다. Docker Stack의 구조는 Docker Compose와 비슷하지만 지원하는 옵션이나 내부 로직에서 차이가 있습니다. Docker Compose는 기본 네트워크가 브릿지 네트워크로 생성되지만 Docker Stack은 Overlay 네트워크가 생성됩니다. 또한 links, devices, privileged 등등 Docker Compose 에서는 지원하는 옵션들이 Docker Stack 에서는 지원..

Docker Network 컨테이너를 생성하게 되면 컨테이너는 NET namespace라는 기술을 통해 구현된 가상화 기법을 사용하여 각자 독립된 네트워크 공간을 할당 받습니다. 그렇다면 이 독립된 네트워크 공간을 가진 컨테이너는 어떻게 외부와 통신되고 컨테이너간의 통신이 가능한 걸까요? NET namespace Network interface, iptables 등 네트워크 리소스와 관련된 정보를 분할하여 각각 다른 namespace에 할당한다. Docker Network 구조 도커의 동작을 이해하기 위해서는 우선 도커 네트워크의 구조부터 이해해야 합니다. 도커 네트워크는 다음과 같은 구조로 이루어져 있습니다. 컨테이너를 생성하면 컨테이너는 호스트와 통신하기 위한 eth0라는 네트워크 인터페이스를 할당받..

배경 docker info 명령어로 도커 정보를 보려던 도중 다음과 같이 경고 메세지가 떴습니다. $ docker info . . WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled bridge-nf-call-iptrables와 bridge-nf-call-ip6trables 옵션이 비활성화 되있다는 문구였습니다. 원인 위 메세지는 bridge 네트워크를 통해 송수신되는 패킷이 호스트의 iptables 설정을 우외한다는 의미입니다. CentOS의 경우 해당 옵션이 기본적으로 비활성화 되어있습니다. 해결 방법 컨테이너의 네트워크 패킷이 호스트의 iptables 설정에 따라 제어되도록하는 것이 바람직..

배경 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 포트에 다..