使用docker swarm搭建docker轻量集群服务
当前流行的k8s集群搭建无疑是很好的docker集群管理服务,但是对于像我这种仅自己学习的玩家有些过于重量,所以今天使用docker自带的docker swarm搭建一个docker集权环境,本次实验环境为一个管理节点和4个工作节点。
1、安装docker
centOS服务器使用yum安装docker时需要注意,不能使用默认的docker软件,需要换成官方的下载源进行安装 ,使用curl 下载repo源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
若提示命令找不到可以使用yum install -y curl安装先,完成后安装docker-ce
yum install docker-ce -y
输入docker -v查看是否安装成功
如图为安装完成
2、搭建docker集群
docker swarm集群的默认连接端口为2377,所以需要开放2377端口
firewall-cmd --zone=public --add-port=2377/tcp --permanentfirewall-cmd --reloadfirewall-cmd --list-portifconfig
初始化docker集群,输入init命令后会生成2个token,一个是让其他节点加入管理,另一个是加入worker节点;
如图展示加入worker的token,在其他docker服务器执行整条命令即可加入集群
docker swarm init docker swarm join --token 你的token 你的ip:2377
加入manager可以输入docker swarm join-token manager
docker swarm join-token manager
在管理员节点输入docker node ls可以查看当前集群的构成
docker node ls
3、管理节点安装portainer
portainer是一款管理docker的可视化软件,有免费版和企业版
这里安装免费版就可以,官网:[portainer.io](“Container management software for Docker, Kubernetes & Nomad (portainer.io)”),我们选择基于docker安装
首先创建数据卷
docker volume create portainer_data
运行官方镜像
docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
运行时会在docker仓库拉取镜像并运行,https服务访问管理端口为9443端口,http端口为9000端口,可以自行修改对外端口,如这里我改为39443和39000端口,需要外网访问需要开放端口,你的设置是哪个端口就开放那个,还是使用firewalld开放,也可以使用其他防火墙软件开放。
firewalld-cmd --zone=public --add-port=39443/tcp --permanentfirewalld-cmd --zone=public --add-port=39000/tcp --permanentfirewalld-cmd --reload
如果是阿里云或腾讯云还需要开放对应端口的安全组
浏览器打开 你的ip:39000
设置好账号密码就可以管理你的docker,如下界面选择get local,后续可以管理其他环境docker
在进入管理面板可以部署服务和查看当前的集群环境
可以从仓库拉取镜像执行,在registries可以添加镜像仓库,可以自定义(如阿里云的免费镜像仓库)也可以选择一些官方仓库,