반응형
1. 특정노드로의 task 할당
- 운영자의 특별한 설정이 없다면 서비스 task는 클러스터내 node에 자동 분배된다.
- 특정 서비스를 특정 노드에 할당 하기 위해 label type 지정을 설정할 수 있다.
## nginx_test2라는 서비스는 nginx:latest 이미지로 docker1,2에 task가 할당되어져 있다.
## nginx_test3라는 서비스를 nginx:1.13 이미지로 docker3에만 할당 한다.
## node type 지정(nginx-1.13)
[root@docker1 bin]# docker node update --label-add type=nginx-1.13 docker3
docker3
## docker3의 node inspect
[root@docker1 bin]# docker node inspect --pretty docker3
ID: miuah480u64gb1ppxzuiullun
Labels:
- type = nginx-1.13
Hostname: docker3
Joined at: 2020-07-30 09:43:50.160526971 +0000 utc
...
## 서비스 생성 : node label type이 nginx-1.13인 node에 3개의 task를 생성
[root@docker1 bin]# docker service create --name nginx_test3 -p 90:80 --constraint "node.labels.type == nginx-1.13" --replicas 3 nginx:1.13
ka17alpdo69iucy55t88nrmid
## 서비스 프로세스를 확인하면 docker3에만 task가 할당 된것을 볼 수 있다.
[root@docker1 bin]# docker service ps nginx_test3
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
58ryul7q05r5 nginx_test3.1 nginx:1.13 docker3 Running Running 2 seconds ago
dyq8am3gqph7 nginx_test3.2 nginx:1.13 docker3 Running Running 2 seconds ago
p06ixu8y0mly nginx_test3.3 nginx:1.13 docker3 Running Running 2 seconds ago
반응형
'Micro Service Architecture > Docker' 카테고리의 다른 글
15. [docker] Container Health Check (0) | 2021.03.16 |
---|---|
14. [docker] Service로 CentOS, Ubuntu 등의 Base OS를 실행할때 오류 (0) | 2021.03.16 |
12. [docker] drain (0) | 2021.03.16 |
11. [docker] docker 명령어 모음 (0) | 2021.03.16 |
9. [docker] Update(Rolling) & Rollback (0) | 2021.03.16 |