Kubernetes (K8s) 是非常精彩的容器编排(管理)软件。
Rancher是一个为多种容器编排软件(?)提供图形界面的工具。
使用Rancher搭建Kubernetes集群,可以很简单。本篇暂只记录HTTP only的环境搭建步骤。
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 create --driver=bridge --subnet=172.27.1.0/24 --ip-range=172.27.1.0/24 --gateway=172.27.1.1 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-port 3306 \
--db-user --db-pass --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-port 3306 \
--db-user --db-pass --db-name \
--advertise-address 172.27.1.22
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
为workder结点添加区别于master的label: compute=true, lb=true
点击"Environment -> <你的环境名称>", 等待K8S服务启动成功。