概述
当初是向想使用k8s来做,但是这个东西在树梅派上貌似不是特别的成熟,还有因为i就只有两台树梅派,所以没必要这么复杂,反正能玩就好
操作系统的选择
当初是向选择rancheros作为树梅派的操作系统,但是rancheros貌似在树梅派上不是特别的成熟,而且开机是相当的慢,所以我还是使用了最新的raspbian lite,烧写操作系统我就不说了,用dd命令就好
系统初始化操作
首先我使用的是zsh+oh-my-zsh作为我的shell的,之后安装git等必要工具
sudo apt install git htop vim zsh
修改root密码
passwd root
让root可以ssh登陆树梅派
vim /etc/ssh/ssh_config
PermitRootLogin yes
systemctl restart ssh
之后使用root登陆树梅派删除pi这个用户
deluser pi
修改on-my-zsh的主题
vim .zshrc
我使用的是
ZSH_THEME="gnzh"
因为可以看见主机名
修改主机名
hostnamectl set-hostname pi-master
这个是为了让你方便在ssh的时候知道自己在什么机器上
当然你可以让树梅派使用无线连接,编辑下面这个文件
vim /etc/wpa_supplicant/wpa_supplicant.conf
加入
network={
ssid="bboysoul"
psk="mei123456"
}
psk是你的无线密码,ssid是无线的名字
work节点的话操作也都是一样的
安装docker
下载安装脚本
wget get.docker.com
mv index.html index.sh
执行
chmod +x index.sh
./index.sh
配置阿里云镜像加速器
这个上dev.aliyun.com自己配置
节点初始化
在master节点执行
docker swarm init
之后会生成一条命令,类似下面这样
docker swarm join --token SWMTKN-1-0shhd0b7uwajhgymxgpp1nv5u17jvcup9vvmhnqkg77ds57e5h-7l1fsodxdlu9wxpwxfgckxr23 192.168.0.113:2377
你把这条命令在work节点上执行,work节点就可以自动加入集群中了,之后记得把这条命令保存起来方便以后其他节点的加入
下载一个nginx镜像做实验
首先因为是跨主机的所以我们要创建一个overlay网络来跑我们的nginx容器
docker network create --driver overlay --subnet 192.168.11.1/24 nginxnet
接着创建nginx service
docker service create --name nginx --replicas=3 --network nginxnet --publish 80:80 nginx
我这里创建的是3个容器副本把80端口暴露出来
之后我们浏览器访问slave机器的ip,并且查看日志
docker service logs nginx
如果看到有slave的那么我们就成功了
我们可以用下面这个命令来查看访问了master中的容器多少次
docker service logs nginx |grep master |wc
增加监控
监控的话我用的是visualizer,输入下面创建容器就好
docker run --name visualizer-arm -it -d -p 8081:8080 -v /var/run/docker.sock:/var/run/docker.sock alexellis2/visualizer-arm
安装portainer
上面这个只是简单的集群监控面板,没有任何其他功能的,只能看看,之后我们要安装portainer来管理整个集群
为什么要使用portainer,而不是shipyard,或者是dockerui,最主要的原因是因为后两个项目已经不维护了,使用下面命令创建portainer service
mkdir -p /root/docker/portainer/data
╭─root@pi-master ~
╰─➤ docker service create \
--name portainer \
--publish 9000:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=bind,src=/root/docker/portainer/data,dst=/data \
portainer/portainer \
-H unix:///var/run/docker.sock
之后访问你的manager ip:9000
第一次访问会让你建立一个账号用作管理员,之后你就可以愉快的玩耍了,其实portainer是内置了virsualizer的在swarm选项卡里面有
部署自己需要的容器
本篇博客是更新博客,所以还没有更新完成,之后慢慢更新
欢迎关注Bboysoul的博客www.bboysoul.com
Have Fun
网友评论