Docker Swarm - 스택
·
Infra/Docker
Stack 이란Docker Swarm에서 '스택(Stack)'을 배포하는 것은여러 서비스, 네트워크, 볼륨 등을 포함한 애플리케이션 구성을 YAML 파일로 정의한 후,Swarm 클러스터에 배포하는 방식입니다.Docker Compose 파일을 기반으로 Docker Swarm 클러스터에 스택을 쉽게 배포할 수 있습니다.  Stack 정의 (docker-compose.yml)Docker Swarm에서 스택을 배포하려면, 먼저 docker-compose.yml 파일을 만들어야 합니다. 이 파일에는 여러 서비스, 네트워크, 볼륨의 구성을 정의할 수 있습니다. 예시: docker-compose.ymlversion: "3.8"services: web: image: nginx:latest ports: ..
Docker Swarm - 네트워크
·
Infra/Docker
Docker Swarm의 네트워크네트워크 종류Overlay: 스웜 모드에서 사용하며, 여러 호스트 간에 네트워크를 생성하여 서비스가 서로 통신할 수 있게 합니다.Ingress: 서비스가 클러스터 외부에서 접근할 수 있도록 지원하는 네트워크입니다.Host: 컨테이너가 호스트 네트워크를 직접 사용하여 통신합니다.Bridge: 단일 Docker 호스트에서만 사용 가능한 네트워크입니다. docker network create --driver overlay Docker Swarm에서 네트워크 작업하기Docker Swarm 클러스터에 overlay 네트워크를 생성하면, 클러스터 내의 여러 노드에서 실행되는 컨테이너들이 서로 통신할 수 있습니다.docker network create --driver overlay m..
Docker Swarm - 서비스 배포 및 확장
·
Infra/Docker
서비스 배포(Deploy)서비스 배포는 Docker Swarm 클러스터에 컨테이너 기반 애플리케이션을 실행시키는 것을 의미합니다. 서비스는 단일 컨테이너로 이루어질 수도 있고, 여러 복제본으로 이루어질 수도 있습니다. 간단한 웹 애플리케이션 서비스 배포Nginx 웹 서버를 Docker Swarm에 배포하는 간단한 예제를 보겠습니다.이 예제에서는 nginx 이미지를 사용하여 웹 서버를 배포합니다.docker service create \ --name my-web \ --replicas 3 \ --publish published=80,target=80 \ nginx실행하면 3개의 Nginx 컨테이너가 Docker Swarm 클러스터에 배포되며,http://:80에서 웹 서버에 접근할 수 있습니다. W..
Docker Swarm - 노드의 승격, 레이블, 가용성
·
Infra/Docker
노드 승격 및 강등Docker Swarm에서 노드의 역할을 워커(worker)에서 매니저(manager)**로 승격하거나,반대로 매니저를 워커로 강등할 수 있습니다. 워커에서 매니저로 승격하면 해당 노드는 스웜의 관리 작업(서비스 업데이트, 노드 관리 등)을 할 수 있는 권한을 갖게 됩니다.매니저에서 워커로 강등하면 관리 권한을 잃고,단순히 워커 노드로만 역할(서비스의 컨테이너를 실행만)을 하게 됩니다. 스웜에서 매니저 노드 수는 홀수(1, 3, 5개 등)로 유지하는 것이 좋습니다.매니저가 짝수일 경우, 의사 결정이 어려워질 수 있으며과도한 매니저 노드는 성능 저하를 일으킬 수 있습니다. docker node promote ()워커를 매니저로 승격하기- worker-1이 매니저 노드로 승격예시docke..
쿠버네티스를 활용한 네이티브 데브옵스 - 4장 오브젝트 다루기
·
Infra/Kubernetes
4.1 디플로이먼트관리와 스케줄링- 쿠버네티스는 각 프로그램을 관리하기 위해 디플로이먼트 오브젝트를 생성한다.- 컨테이너 이미지명, 레플리카 수 등 컨테이너를 실행하기 위한 정보가 기록된다.- 쿠버네티스 컨트롤러는 디플로이먼트 리소스를 관리하며, 디플로이먼트 리소스가 특별한 이유 없이 레플리카 수를 채우지 못하고 실행 중이면, 컨트롤러는 새로운 레플리카를 생성한다. 컨테이너 재시작하기- 컨테이너가 비정상적이나, 정상적으로 kubectl로 컨테이너를 종료하는 경우에도디플로이먼트는 컨테이너를 재시작을 시킨다.- 쿠버네티스는 오래 실행되고 신뢰할 수 있도록 설계되어있기 때문에, 재시작을 기본 작동으로 수행한다.- 디플로이먼트의 역할을 관련된 컨테이너를 감시하고 지정된 수 만큼 항상 실행 중인지를 확인한다. ..
GIT - 다른 프로젝트의 Branch Merge
·
ETL
다른 프로젝트 B의 bb 브랜치를 프로젝트 A의 aa 브랜치로 병합하려면, 다음과 같은 절차에 따라 실행하면 됩니다. - 원격 리포지토리 추가 (git remote add)- 특정 브랜치 가져오기 (git fetch)- 체크아웃 (git checkout)- 병합 (git merge)- 푸시 (git push) 원격 리포지토리 추가 (git remote add)프로젝트 A의 리포지토리로 이동cd /path/to/projectA 프로젝트 B의 리포지토리 추가- 프로젝트 B의 원격 리포지토리를 프로젝트 A에 추가합니다. - 예를 들어, 프로젝트 B의 GitHub URL이 https://github.com/user/projectB.git라고 가정합니다.git remote add projectB https://g..
Docker Swarm - 시작 및 노드추가
·
Infra/Docker
1. 도커 스웜 시작하기Docker Swarm은 Docker의 오케스트레이션 도구로, 여러 Docker 호스트를 클러스터로 묶어 관리할 수 있게 해줍니다.  주요 기능은 다음과 같습니다:- 클러스터 관리: 여러 Docker 호스트(노드)를 하나의 클러스터로 구성하여 관리합니다.- 서비스 배포: 컨테이너를 여러 노드에 분산 배포하고, 필요한 수의 복제본을 유지합니다.- 로드 밸런싱: 클러스터 내에서 트래픽을 자동으로 분산하여 서비스의 가용성과 성능을 높입니다.- 고가용성: 노드가 실패해도 다른 노드에서 서비스가 계속 실행되도록 보장합니다. docker info도커 스웜 상태보기아래 명령어를 통해 도커 스웜이 실행되고 있는지 확인할 수 있습니다.docker info>>>...Swarm: inactive.....
AWS - REST API 설정 가이드
·
Platform/AWS
REST API 생성- API 생성 버튼 클릭 후, REST API의 구축 클릭 리소스 생성- 좌측 리소스 클릭 후, 리소스 생성 버튼 클릭- Configure as proxy resource : 프록시 리소스 사용https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.html- Enable API Gateway CORS : cross-origin HTTP 요청을 제한하는 브라우저 보안 기능https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/how-to-cors.html 메소드 생성- DELETE, GET, HEAD,..
wave35
아그거뭐였지?