Mục tiêu bài học:
- Thiết lập một Docker Swarm Cluster gồm:
- 1 Manager Node
- 2 Worker Nodes
Các bước thực hiện
1. Tạo Server
- Tạo 3 server CentOS 7:
- 1 server: **Swarm Manager**
- 2 server: **Swarm Worker 1**, **Swarm Worker 2**
- Kích thước VM: **Medium**
- Chọn vùng: **North America** (hoặc nơi gần bạn nhất)
2. Cài đặt Docker trên cả 3 node
- Thực hiện theo các bước quen thuộc:
```bash
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
```
- Kiểm tra:
```bash
docker --version
```
3. Khởi tạo Swarm trên Manager
- Dùng **private IP** của manager:
```bash
docker swarm init --advertise-addr <PRIVATE_IP_MANAGER>
```
- Lệnh trả về chuỗi token để worker join vào swarm, ví dụ:
```bash
docker swarm join --token <TOKEN> <PRIVATE_IP_MANAGER>:2377
```
4. Thêm Worker vào Swarm
- Trên **Worker 1** & **Worker 2**:
```bash
sudo docker swarm join --token <TOKEN> <PRIVATE_IP_MANAGER>:2377
```
- Kiểm tra join thành công:
```bash
docker info
```
5. Kiểm tra trạng thái swarm trên Manager
```bash
docker node ls
```
- Hiển thị:
```
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
abc123 manager-node Ready Active Leader
def456 worker-1 Ready Active
ghi789 worker-2 Ready Active
```
Note:
- advertise-addr: IP mà Manager thông báo cho các node khác.
- Port mặc định: 2377 cho quản lý swarm, 7946 cho giao tiếp nội bộ, 4789 cho overlay network.
Kết quả
- Đã có 1 cluster Swarm gồm 3 node.
- Sẵn sàng để triển khai Service, Scaling, Rolling Update.