본문 바로가기
728x90
반응형

융복합프로젝트형클라우드서비스개발20

05 서비스 디스커버리 같은 컨테이너를 여러 개 만들어 사용할 때 새로 생성된 컨테이너 발견(Service Descovery) 혹은 없어진 컨테이너 감지가 중요 일반적으로 주키퍼, etcd 등의 분산 코디네이터를 외부에 두고 사용해서 해결하지만 스웜 모드는 서비스 발견 기능을 자체적으로 지원 스웜 모드에서는 서비스 이름으로 해당 서비스의 모든 컨테이너에 접근이 가능 ⇒ 서비스의 컨테이너 IP 주소를 알 필요도 없고 새롭게 생성된 사실도 알 필요 없음 #1 예제 서비스에서 사용할 오버레이 네트워크 생성 #2 server 서비스 생성 - 컨테이너의 호스트 이름을 출력하는 웹 서버 컨테이너 2개를 생성 #3 client 서비스 생성 - server 서비스에 http 요청을 보낼 컨테이너를 생성 #4 client 서비스 컨테이너 실행.. 2020. 9. 17.
04 도커 스웜 네트워크 #1 매니저 노드에서 네트워크 목록 확인 #2 ingress 네트워크 - 스웜 클러스터를 생성하면 자동으로 등록되는 네트워크 - 스웜 모드를 사용할 때만 유효 - 스웜 클러스터에 등록된 모든 노드에 ingress 네트워크가 생성 ingress 네트워크는 어떤 스웜 노드에 접근하더라도 서비스 내의 컨테이너에 접근할 수 있게 설정하는 라우팅 메시를 구성하고, 서비스 내의 컨테이너에 대한 접근을 라운드 로빈 방식으로 분산하는 로드 밸런싱을 담당 #2-1 임의로 할당된 16진수를 출력하는 PHP 파일이 들어있는 웹 서버 이미지로 서비스 생성 #2-2 생성된 컨테이너 목록 확인 → replicas를 4로 설정했으므로 4개의 컨테이너가 생성 #2-3 각 노드 주소로 접근 → 접속하는 노드에 존재하지 않는 컨테이너 .. 2020. 9. 17.
03 서비스 컨테이너에 설정 정보 전달 컨테이너에 설정 정보 전달 방법1. -v 옵션을 통해 호스트에 위치한 설정 파일이나 값을 볼륨으로 공유 방법2. -e 옵션을 통해 환경 변수로 전달 스웜 모드는 secret과 config 기능을 제공 스웜 모드와 같은 서버 클러스터에서 파일 공유를 위해 설정 파일을 호스트마다 마련해두는 것은 매우 비효율적임 비밀번호와 같이 민감한 정보를 환경 변수로 설정하는 것은 보안상으로 바람직하지 않음 스웜 모드에서 사용할 수 있는 secret, config 기능을 제공 secret ⇒ 비밀번호, SSH 키, 인증서 키와 같은 보안에 민감함 데이터를 전송하기 위한 용도 config ⇒ nginx나 레지스트리 설정 파일과 같이 암호화할 필요가 없는 설정값들에 사용 #1 secret 사용하기 #1-1 secret 생성 .. 2020. 9. 17.
02 스웜 모드의 서비스 장애 복구 복제 모드로 설정된 서비스의 컨테이너가 정지하거나 특정 노드가 다운되면 스웜 매니저는 새로운 컨테이너를 생성해 자동으로 복구함 #1 특정 노드에서 myweb 서비스에 속한 컨테이너를 삭제하면 자동으로 다시 생성되는 것을 확인 #1-1 swarm-manager 노드에서 실행 중인 컨테이너 목록 확인 #1-2 swarm-manager 노드에서 실행 중인 컨테이너 강제로 삭제 #1-3 myservice 서비스의 태스크(task) 확인 → 새로운 태스크가 생성된 것을 확인 #2 특정 노드가 다운되면 해당 노드의 컨테이너가 종료되고 다른 노드에 컨테이너가 생성되는 것을 확인 #2-1 swarm-worker1 노드의 도커 데몬 프로세스를 종료 #2-2 매저저 노드(swarm-manager)에서 노드 상태 확인 → .. 2020. 9. 17.
728x90
반응형