美文网首页Linux学习之路Linux程序员
从零在树梅派上搭建docker swarm集群

从零在树梅派上搭建docker swarm集群

作者: bboysoul | 来源:发表于2018-07-05 18:33 被阅读205次

    概述

    当初是向想使用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

    相关文章

      网友评论

      本文标题:从零在树梅派上搭建docker swarm集群

      本文链接:https://www.haomeiwen.com/subject/aumtuftx.html