
📖 진도: 3장 / 168~210p
secret, config 기능매니저 노드로 사용할 서버에서 스웜 클러스터 시작
docker swarm init --advertise-addr 192.168.0.100
# advertise-addr: 매니저 노드의 IP 주소. 외부에서 접근 가능한 주소이고, 자동으로 선택도 가능하지만 다수의 인터페이스가 있는 경우, 도커는 자체적으로 외부 IP를 선택 할 수 없음.
워커 노드로 사용할 서버에서 스웜 클러스터 참여
docker swarm join --token SWMTKN-1-5cj... 192.168.0.100:2377
docker swarm join-token --rotate 명령어로 새로 생성할 수 있음.추가된 노드의 삭제는 docker swarm leave 명령어로 가능
docker swarm leave --force 명령어로 삭제 가능워커에서 매니저로, 매니저에서 워커로의 이동은 아래의 명령어로 가능
docker node promote <node_id>
docker node demote <node_id>
docker service createdocker service lsdocker service ps <service_name>docker service rm <service_name>도커 스웜과 같은 클러스터 환경에서, 환경변수와 설정 파일을 호스트마다 마련하는 것은 비효율적임.
또한 비밀번호 등 민감한 정보를 환경변수로 설정하는 것은 보안상으로도 좋지 않다.
이러한 문제를 해결하기 위해, 도커 스웜에서는 secret, config 기능을 제공한다.
secret은 민감한 정보를 저장하는 기능config는 설정 파일을 저장하는 기능secret 생성
docker secret create my-secret my-secret.txt
docker secret ls
docker secret inspect my-secret
# inspect로 조회시에도 실제 secret을 확인할 수는 없음
# 파일 시스템이 아닌 메모리에 저장되므로 휘발성을 띄고 더 안전함.
config 생성
docker config create my-config my-config.yaml
docker config ls
docker config inspect my-config
secret과 다르게 Data라는 필드로 Base64 인코딩된 실제 내용을 확인 가능스웜 네트워크는 일반적인 도커 네트워크와는 다소 다른 방법으로 동작
스웜 모드의 ingress 네트워크
init시 자동으로 생성되는 예약된 오버레이 네트워크오버레이 네트워크
오버레이 네트워크의 서브넷에 해당하는 IP를 할당받고, 이를 통해 상호 통신이 가능함ingress 네트워크 또한 오버레이 네트워크의 위에서 동작하며, 예약된 특수한 네트워크로 볼 수 있음docker_gwbridge 네트워크