
圖1
學習背景
簡單了解一下 Docker Swarm ,為了后面學習K8S更輕松。。。
準備工作
系統(tǒng):Centos7.6 / 64 位
Docker-ce:v20.10.8
Docker-compose:v1.24.1
Docker集群部署規(guī)劃(三主一從)
| 實例 | IP | 角色 |
|---|---|---|
| docker-node03 | 10.88.40.174 | 主 |
| docker-node04 | 10.88.40.178 | 從 |
| docker-node06 | 10.88.40.156 | 主 |
| docker-node07 | 10.88.40.86 | 主 |
重點關注一下Raft一致性算法
至少3個節(jié)點,只有大多數(shù)( >1 )節(jié)點存活,集群才可以使用。
安裝Docker-CE
1、若您安裝過docker,需要先刪掉,之后再安裝依賴:
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2、根據(jù)版本不同,下載repo文件。您使用的發(fā)行版:
wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
軟件倉庫地址替換為:
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
3、更新索引文件并安裝
sudo yum makecache fast
sudo yum install docker-ce
安裝Docker-Compose
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下載完成后進入 `/usr/local/bin/`
chmod 777 docker-compose

圖2
安裝Docker Swarm
使用help 命令查看 docker swarm 有哪些命令
docker swarm --help
docker swarm init --help
初始化一個主節(jié)點,IP 是私網(wǎng)IP,初始化完成可以得到以下信息:
docker swarm init --advertise-addr 10.88.40.174
Swarm initialized: current node (qcf06webqdxzsll0ojrn28nxp) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-6czjulphzkrktyrl9jyzus477rza0d5bh9zhn5zwq8wt1qlbc2-7p0cf3yj5bnjs6wa2f5mqnobd 10.88.40.174:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
生成 加入 manager 信息
docker swarm join-token manager
生成 加入 worker 信息
docker swarm join-token worker

圖3
然后在其他節(jié)點執(zhí)行
docker swarm jsoin ...
查看節(jié)點信息
docker node lsdocker node ls

圖4
Docker Service
[root@node04 home]# docker service
Usage: docker service COMMAND
Manage services
Commands:
create Create a new service
inspect Display detailed information on one or more services
logs Fetch the logs of a service or task
ls List services
ps List the tasks of one or more services
rm Remove one or more services
rollback Revert changes to a service's configuration
scale Scale one or multiple replicated services
update Update a service
Run 'docker service COMMAND --help' for more information on a command.
例子:創(chuàng)建一個nginx service
docker service create -p 8888:80 --name my-nginx nginx

圖5
查看 service 常用命令
docker service ls
docker service ps my-nginx
docker service inspect my-nginx
動態(tài)擴縮容 my-nginx 副本數(shù)
docker service update --replicas 3 my-nginx
也可以使用
docker service scale my-nginx=3
核心:網(wǎng)絡
yum install bridge-utils -y
iptables -nL -t nat

圖6
docker service inspect my-nginx
"PublishMode": "ingress"
docker inspect ingress

圖7
Docker Stack

圖8
簡單自學了解下 , https://www.cnblogs.com/secondtonone1/p/14101876.html
Docker Secret

圖9
Docker Config

圖10