Vagrant Docker Swarm 集群一键启动

Vagrant Docker Swarm 集群一键启动

版本: Vagrant 2.2.6

ipnode
172.28.128.11master
172.28.128.12worker1
172.28.128.13worker2

Vagrantfile内容

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  (11..13).each do |i|
    config.vm.define "node-#{i}" do |node|
		node.vm.box = "centos/7"
		node.vm.hostname = "node#{i}"
		node.vm.network "private_network", ip: "172.28.128.#{i}"
		node.vm.provider "virtualbox" do |v|
			v.gui = false
			v.name = "centos-#{i}"
			v.cpus = "2"
			v.memory = "4096"
		end
		node.vm.provision "shell", args: ["172.28.128.#{i}","172.28.128.11"], inline: <<-SHELL
			sudo -i
			sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
			systemctl restart sshd
			sed -i 's/#   StrictHostKeyChecking ask/StrictHostKeyChecking no/g' /etc/ssh/ssh_config
			systemctl restart ssh
			echo "123456" | passwd root --stdin > /dev/null 2>&1
			ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

			yum install -y yum-utils device-mapper-persistent-data lvm2 net-tools sshpass
			sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
			yum makecache fast
			yum install -y docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io
			systemctl start docker && sudo systemctl enable docker
			
			if [ $1 == $2 ] ; then
				echo "master"
				docker swarm init --advertise-addr=$1
			else
				echo "worker"
				token=`sshpass -p 123456 ssh root@$2 "docker swarm join-token -q worker"`
				docker swarm join --token $token $2:2377
			fi
		SHELL
    end
  end
end

然后执行

vagrant up
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值