基于Rancher 2.2.5的高可用分布式集群环境搭建(一)
说明:本文主要目的是记录在搭建内部学习的整个过程,仅供参考。
-
机器配置及说明
机器简单以cloud-node(n)的方式命名,因为该集群环境中会部署rancher,k8s,harbor,helm,heketi,glusterfs等; 并不承担单一角色; 本次安装均用appuser用户进行、该用户拥有sudoer权限。- 操作系统: Red Hat Enterprise Linux Server release 7.6
- CPU:2C
- 内存:8G
- 存储:60G
- Docker: 18.06.3-ce
机器IP | 机器名 | 角色 | 附加存储 | 说明 |
---|---|---|---|---|
10.122.6.30 | cloud-node1 | load balancer(nginx) | 无 | 此机器部署在DMZ区,用于更新系统 |
10.122.4.44 | cloud-node2 | rancher,control panel,etcd | 无 | IDC区,由cloud-node1复制 |
10.122.4.45 | cloud-node3 | rancher,control panel,etcd | 无 | IDC区,由cloud-node1复制 |
10.122.4.46 | cloud-node4 | rancher,control panel,etcd | 无 | IDC区,由cloud-node1复制 |
10.122.4.47 | cloud-node5 | woker | 无 | IDC区,由cloud-node1复制 |
10.122.4.48 | cloud-node6 | woker | 500G | IDC区,由cloud-node1复制 |
10.122.4.49 | cloud-node7 | woker | 500G | IDC区,由cloud-node1复制 |
10.122.4.50 | cloud-node8 | woker | 500G | IDC区,由cloud-node1复制 |
-
Rancher 集群的安装
-
环境配置 基础环境配置
- 节点机器配置见上
- 主机名配置
sudo hostnamectl --static set-hostname cloud-node1
-
配置cloud-node1至其他节点的免密登陆(在节点cloud-node1)
ssh-keygen -t rsa #一路enter,采用默认值 ssh-copy-id -i ~/.ssh/id_rsa.pub appuser@cloud-node2 #yes,输入密码; 其他节点同
-
Host配置
sudo vi /etc/hosts 10.122.6.30 cloud-node1 10.122.4.44 cloud-node2 10.122.4.45 cloud-node3 10.122.4.46 cloud-node4 10.122.4.47 cloud-node5 10.122.4.48 cloud-node6 10.122.4.49 cloud-node7 10.122.4.50 cloud-node8
- 关闭selinux【克隆前已完成】
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
- 关闭防火墙【克隆前已完成】
sudo systemctl stop firewalld.service && systemctl disable firewalld.service
- 配置主机时间、时区、系统语言【由于是克隆的,本步骤跳过】
-
Kernel性能调优【克隆前已完成】
sudo cat >> /etc/sysctl.conf<<EOF net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-iptables=1 net.ipv4.neigh.default.gc_thresh1=4096 net.ipv4.neigh.default.gc_thresh2=6144 net.ipv4.neigh.default.gc_thresh3=8192 EOF
数值根据实际环境自行配置,最后执行
sudo sysctl -p
保存配置。 -
加载内核
sudo cat >modules.sh <<EOF modprobe br_netfilter modprobe ip6_udp_tunnel modprobe ip_set modprobe ip_set_hash_ip modprobe ip_set_hash_net modprobe iptable_filter modprobe iptable_nat modprobe iptable_mangle modprobe iptable_raw modprobe nf_conntrack_netlink modprobe nf_conntrack modprobe nf_conntrack_ipv4 modprobe nf_defrag_ipv4 modprobe nf_nat modprobe nf_nat_ipv4 modprobe nf_nat_masquerade_ipv4 modprobe nfnetlink modprobe udp_tunnel #modprobe VETH #modprobe VXLAN modprobe x_tables modprobe xt_addrtype modprobe xt_conntrack modprobe xt_comment modprobe xt_mark modprobe xt_multiport modprobe xt_nat modprobe xt_recent modprobe xt_set modprobe xt_statistic modprobe xt_tcpudp EOF sudo sh modules.sh
-
Java && Docker 安装【克隆前已完成】
tar -zxvf jdk-8u221-linux-x64.tar.gz cd jdk1.8.0_221/ sudo mv jdk1.8.0_221/ /opt/ sudo alternatives --install /usr/bin/java java /opt/jdk1.8.0_221/bin/java 3 sudo alternatives --config java (3) java -version sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce-18.06.3.ce-3.el7 usermod -aG docker appuser #将appuser添加到组docker systemctl start docker & systemctl enable docker
-
HA 离线安装离线HA安装
-
负载均衡器配置
在cloud-node1节点上运行 vi nginx.conf worker_processes 4; worker_rlimit_nofile 40000; events { worker_connections 8192; } stream { upstream rancher_servers_http { least_conn; server 10.122.4.44:80 max_fails=3 fail_timeout=5s; server 10.122.4.45:80 max_fails=3 fail_timeout=5s; server 10.122.4.46:80 max_fails=3 fail_timeout=5s; } server { listen 80; proxy_pass rancher_servers_http; } upstream rancher_servers_https { least_conn; server 10.122.4.44:443 max_fails=3 fail_timeout=5s; server 10.122.4.45:443 max_fails=3 fail_timeout=5s; server 10.122.4.46:443 max_fails=3 fail_timeout=5s; } server { listen 443; proxy_pass rancher_servers_https; } } 在自己的虚拟机中下载好nginx:1.14的image,导出后上传到cloud-node1并导入 在虚拟中下载`docker pull nginx:1.14 ` 下载后导出 docker save -o nginx_1.14 nginx:1.14 将文件上传至cloud-node1中,并执行 docker load --input nginx_1.14 docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /home/appuser/installs/nginx.conf:/etc/nginx/nginx.conf nginx:1.14
-
安装准备
-
RKE安装
创建目录mkdir -p /opt/rancher/cli && cd /opt/rancher/cli
。 下载并发传v0.2.7-rke_linux-amd64至该目录下mv v0.2.7-rke_linux-amd64 rke chmod +x rke sudo mv rke /opt/rancher/cli echo "export PATH=/opt/rancher/cli:\$PATH" >> /etc/profile source /etc/profile rke --version
- 创建RKE配置文件
vi rancher-cluster.yml
- 创建K8S集群
rke up --config ./rancher-cluster.yml
因ssh免密配置使用的域名,而rancher-cluster.yml使用的是ip无法通过。 故重新执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub appuser@10.122.44
#其他机器同 -
-
-

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
免运维,低成本,应用上云新模式 | 阿里云Serverless应用引擎 SAE 邀您公测
您是否遇到过: 资源利用率低,多数服务器CPU平均利用率在10%以下,用户需为大量闲置资源买单。 感知 IaaS 购买和集群运维,人员技能要求高,运维效率低。 想拥抱 Kubernetes、微服务架构来解决业务痛点,但学习曲线陡。 阿里云Serverless应用引擎SAE给出了这些难题的解决方案。 公测地址:点击这里 (公测期间,创建应用全部免费,每个账户体验的额度上限为 16Core 32GiB) 阿里云Serverless应用引擎(Serverless App Engine,简称 SAE)是面向应用的 Serverless PaaS 平台,帮助 PaaS 层用户免运维 IaaS,按需使用,按量计费,实现低门槛微服务应用上云,有效解决成本及效率问题。支持 Spring Cloud、Dubbo和HSF 等流行的开发框架,真正实现了 Serverless 架构和微服务架构的完美融合。 Serverless应用引擎 vs 普通应用部署方式 典型应用场景 中小企业快速构建云上微服务应用 通过 SAE 帮用户屏蔽底层 IaaS 购买和运维细节,屏蔽底层镜像仓库和 Kubernetes 细节,低...
-
下一篇
Linux基础命令---host域名查询工具
host host是一个常用的DNS查询工具,经常用来查询域名、检查域名解析是否正确。 此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora。 1、语法 host [选项] name [server] 2、选项列表 -a 查询所有的信息 -c 设置查询类型 -C 查询完整的SOA记录 -d | -v 显示详细过程 -l 列表模式 -t 选择查询类型:CNAME NS SOA SIG KEY AXFR -w 永久等待 -W 设置等待超时 3、实例1)查询域名 [root@localhost ~]# host www.baidu.com //查询域名信息,显示别名和ip www.baidu.com is an alias for www.a.shifen.com. www.a.shifen.com has address 111.13.100.91 www.a.shifen.com has address 111.13.100.92 2)查询所有信息 [root@localhost ~]# host -a www.baidu.com //查询域名的所有信息 T...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装