使用Vagrant+Ansible一键部署Rancher2.0

  • Kubernetes的流行程度就不说了,前两天关注了另一个产品Rancher。使用它可以快速部署与接管Kubernetes。而且Rancher的部署非常简单,只需要跑一个容器就完事了。
  • 既然这么简单,那我们就使用Vagrant与Ansible让它更简单。

安装Vagrant + VirtualBox

具体安装不表了,不是本文知识。相信大家多半都使用过,如果没有使用过,赶紧学习起来。

导入Vagrant Box。这里使用的是Centos 7.5

centos75-with-boxadditions.box下载链接: https://pan.baidu.com/s/1U-kJhbY2JirHgw0eP9TBXw 密码: 1a6b

vagrant box add centos/75 centos75-with-boxadditions.box

或者安装vagrant插件

$ vagrant plugin install vagrant-disksize vagrant-ignition vagrant-vbguest

定义Vagrantfile,设置好虚拟机的配置,具体的配置可根据情况调整。

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

RANCHER_SERVER_IP = "192.168.50.100"
RANCHER_AGENT_IP_1 = "192.168.50.101"

Vagrant.configure("2") do |config|
 
  config.vm.box = "centos/75"

  config.vm.define "server" do |server|
    server.vm.hostname = "server.rancher.local.com"
    server.vm.network "public_network", ip: RANCHER_SERVER_IP
    server.vm.provider "virtualbox" do |v|
        v.name = "server"
        v.memory = 2048
        v.cpus = 1
      end
  end

  config.vm.define "agent1" do |agent|
    agent.vm.hostname = "agent1.rancher.local.com"
    agent.vm.network "public_network", ip: RANCHER_AGENT_IP_1
    agent.vm.provider "virtualbox" do |v|
        v.name = "agent1"
        v.memory = 2048
        v.cpus = 1
      end
  end

  config.vm.provision "ansible_local" do |ansible|
    ansible.playbook = "ansible/playbook.yml"
    ansible.groups = {
      "servers" => ["server"],
      "agents" => ["agent1"]
    }
  end
end

编写ansible/playbook.yml

这里的过程很简单:

  1. 安装docker
  2. 设置docker的镜像代理
  3. 关闭selinux
  4. 启动docker
  5. 部署rancher2.0

这里将完整的代码分享,供参考

Rancher Vagrant:https://gitee.com/xhua/rancher-vagrant.git
说明:agent虚拟机只是自动安装了docker及设置了docker代理,在上面部署k8s还需要通过rancher生成对应的docker命令后在上面运行。

Rancher登录界面展示.PNG

你可能感兴趣的:(使用Vagrant+Ansible一键部署Rancher2.0)