使用Rancher简单几步快速搭建Kubernetes集群

Kubernetes (K8s) 是非常精彩的容器编排(管理)软件。
Rancher是一个为多种容器编排软件(?)提供图形界面的工具。
使用Rancher搭建Kubernetes集群,可以很简单。本篇暂只记录HTTP only的环境搭建步骤。

首先准备好机器

Rancher: 2 vCPU, 8+G vRAM, 20+G Disk, with Ubuntu 16.04, Docker 1.12.6
K8s:  Ubuntu 16.04, Docker 1.12.6,CPU, memory 和Disk区别于K8s node 的角色,worker 需要的资源多一些。

Rancher

配置Rancher

Rancher需要一个独立的MYSQL,建议不要起在docker里,如果是,最好mount个本地存储路径。
为MYSQL 创建Rancher需要的database,user。
CREATE DATABASE IF NOT EXISTS cattle1 COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
GRANT ALL ON cattle1.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
GRANT ALL ON cattle1.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';

创建一个新的docker network

docker network create --driver=bridge --subnet=172.27.1.0/24 --ip-range=172.27.1.0/24 --gateway=172.27.1.1 rancher

运行Rancher

docker run -d --restart=unless-stopped --name rancher1 \
 --network rancher --ip 172.27.1.21 \
 -e JAVA_OPTS="-Xmx2560m" \
 rancher/server:v1.5.9 \
 --db-host <db_host> --db-port 3306 \
 --db-user <db_user> --db-pass <db_password> --db-name <db_name> \
 --advertise-address 172.27.1.21
  
docker run -d --restart=unless-stopped --name rancher2 \
 --network rancher --ip 172.27.1.22 \
 -e JAVA_OPTS="-Xmx2560m" \
 rancher/server:v1.5.9 \
 --db-host <db_host> --db-port 3306 \
 --db-user <db_user> --db-pass <db_password> --db-name <db_name> \
 --advertise-address 172.27.1.22

运行HAProxy

docker run -d --restart=unless-stopped --name haproxy \
 -p 80:80 -p 443:443 \
 --network rancher --ip 172.27.1.10 \
 -v ~/haproxy/calix.io.pem:/etc/ssl/cert.pem \
 -v ~/haproxy:/usr/local/etc/haproxy:ro \
 haproxy

HAProxy配置文件参考内容如下(HTTP Only):

global
  maxconn 4096
  ssl-server-verify none
  tune.ssl.default-dh-param 2048
defaults
  mode http
  balance roundrobin
  option redispatch
  option forwardfor
  timeout connect 5s
  timeout queue 5s
  timeout client 36000s
  timeout server 36000s
frontend http-in
  bind *:80
  mode http
  default_backend rancher_servers
  acl is_websocket hdr(Upgrade) -i WebSocket
  acl is_websocket hdr_beg(Host) -i ws
  use_backend rancher_servers if is_websocket
backend rancher_servers
  # Add your Rancher server instance here
  server web1 rancher1:8080 weight 1 maxconn 1024
  server web2 rancher2:8080 weight 1 maxconn 1024
  server web3 rancher3:8080 weight 1 maxconn 1024


Kubernetes

创建kubernetes环境

使用浏览器打开Rancher界面
操作界面到环境管理页面,"Environment -> Manage Environments", 点击"Add Environment"
输入环境名称"name" , 选择"Kubernetes" 模板(template), 点击"Create"创建环境。
为Kubernetest环境增加主机
点击"Environment -> <你的环境名称>"
点击"Infrastructure -> Hosts"
点击"Add Host"
点击"Add Label" 两次,添加labels: etcd=true, orchestration=true (此步骤创建的是k8s结点同时在一台机器启动etcd和master的组件)
重复以上步骤创建其他结点

为workder结点添加区别于master的label: compute=true, lb=true 


等待K8S 服务启动

点击"Environment -> <你的环境名称>", 等待K8S服务启动成功。


配置kubectl

点击"Environment -> <你的环境名称>"
点击"Kubernetes -> CLI"
点击"Generate Config"
将生产的config内容复制到k8s机器的  ~/.kube/config 文件
参考 https://kubernetes.io/docs/tasks/tools/install-kubectl/ 安装启用kubectl


到这里基本配置完成,可能还需要配置DNS和Rancher上Kubernetes管理的Dashbaord。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值