使用Rancher2.0快速构建Kubernetes

前言

上一篇使用的是Rancher1.6构建的k8s,但是现在Rancher出新版了,并且好像只支持K8s了,看来k8s确实一统天下了

环境准备

Rancher 2.0 推荐使用Ubuntu 16.04构建,其他的好像支持的不是太好,然后节点最好也是Ubuntu 16.04,而且Docker的版本最高也才支持到17.03。

所以我们需要以下服务器资源:

  1. 一台安装了Docker 17.03.2的Ubuntu 16.04主机,用来安装Rancher Server 2.0。内存要大于等于4G,不然很可能跑不起来
  2. 三台Ubuntu16.04主机,这个一般使用API自动安装

开始

  1. 启动一个Ubuntu 16.04虚拟主机

  2. 远程到虚拟主机

这里用户名又是root了,根据镜像和云服务提供商可能有所不同,这里我用的还是DigitalOcean,这是我的优惠码http://www.digitalocean.com/?refcode=f439670561f1

1
ssh root@<server-ip>
  1. 安装Docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 安装依赖
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
# 添加GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 验证GPG
sudo apt-key fingerprint 0EBFCD88
# 添加源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 更新源
sudo apt-get update
# 查看可用版本
apt-cache madison docker-ce
# 安装版本,这里推荐17.03.2
sudo apt-get install docker-ce=<VERSION>
  1. 安装Rancher 2.0

这里绑定了443端口,也就是开启了https,我没试过不用行不行,如果用了,会被浏览器不信任,添加为信任即可访问了

1
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

  1. 访问https://<server-ip>

安装好以后,应该长这个样子,第一次进去会让你输入一个管理员密码的

  1. 新建集群

选择一个你的云主机提供商,我这里是DigitalOcean

新建主机池,这里推荐三个,功能的话全部勾选吧

  1. etcd是个分布式的kv数据库,用来同步集群信息的,这里叫做数据平面
  2. Control是无状态的集群,负责管理集群的,这里叫编排平面
  3. Worker是工作集群,也就是你的应用和服务部署的集群,这里叫计算平面

  1. 集群建好后,默认会进入名为default的命名空间

这个是集群面板,看上去还蛮好看的

忘了说了,默认进去是英文界面,这里可以切换到中文

  1. 新建一个工作负载

这里选用nginx,因为比较简单,部署2个实例

  1. 新建一个负债均衡

这里选择自动生成一个主机名,因为我们还没有启用dns,除非直接使用IP访问,不然访问不到的,xip.io相当于一个免费的域名和dns服务

  1. 访问

等个差不多一分钟,分派好IP以后,就可以直接外网访问了