集群架构参考图:
集群资源列表:
IP | role | description |
---|---|---|
192.168.101.71 | rancher server k8s-master (etcd, control) |
master节点 rancher server |
192.168.101.72 | k8s-master (etcd, control) | master节点 |
192.168.101.73 | k8s-master (etcd, control) | master节点 |
192.168.101.74 | k8s-node (worker) | worker节点(可被调度) |
192.168.101.75 | k8s-node (worker) | worker节点 |
192.168.101.76 | k8s-node (worker) | worker节点 |
192.168.101.70 | VIP | 虚拟 IP |
安装步骤:
- 初始准备
1 | # /etc/hosts |
haproxy + keepalived 配置:
1 | ### 对3个master节点:添加到文件/etc/sysctl.conf |
需开放的端口见 https://rancher.com/docs/rancher/v2.x/en/installation/references/。
为了简便,关闭了防火墙。通过Rancher安装后,查看一下iptables规则:
1 | [root@B71-k8s-m01 ~]# iptables -L -n |
安装rancher server
在节点101.71上执行:
1 | docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable |
登录Rancher Web创建集群
添加master节点时,是按如下设置的:
复制命令在待添加的节点机器上执行,依次添加完3个master节点后如下,其中101.71是第二个添加的:
在机器数量足够的情况下,可将rancher server单独部署,此处是与K8s_master共用。经反复试验,添加master节点时,先添加101.72或101.73,不要首先添加rancher server所在节点101.71。否则,后续添加master时会出问题:
上图显示101.72一直处于Registering状态,不能添加进集群。
在添加节点异常时,先通过Web管理界面删除问题节点,然后在重新执行添加前,通过以下脚本清理一下待添加节点的环境:
1 | # 清理安装文件目录 |
1 | # 清理docker |
下图是添加完3个master和3个node后的主机界面:
- 部署服务
测试部署5个jenkins实例:
访问 Jenkins:
- 执行kubectl命令行
通过Rancher Web界面来执行kubectl命令行:
如果直接登录主机,找不到kubectl命令,需进入相关的容器
- 添加Dashboard
找到kubernetes-dashboard,并部署(启动)