一、安装准备

1、系统要求
单机最低要求
CPU 支持 64 位的 Intel® 或 AMD 处理器*;2 GHz 或速度更快的处理器
内存 8 GB 或更大 RAM(推荐使用 16 GB)
硬盘 需要 50GB 以上的可用磁盘空间
操作系统 Centos/RedHat Linux 7.5+(64位) 或更高版本

硬件要求根据Rancher部署的K8S集群规模大小进行扩展,根据要求配置每个节点。

RKE 高可用安装的 CPU 和 内存要求(Rancher v2.4.0 +)

部署规模 集群数 Nodes vCPUs RAM
最多150 个 最多1500 个 2 8 GB
最多300 个 最多3000 个 4 16 GB
最多500 个 最多5000 个 8 32 GB
特大 最多1000 个 最多10,000 个 16 64 GB
超大 最多2000 个 最多20,000个 32 128 GB
2、软件要求
  • JDK 8+
  • Nexus Repository Manager OSS 3.x 安装包
  • Maven 3.x 安装包

二、系统设置

1、设置镜像源

因为国外镜像网速较慢,推荐设置阿里云镜像源:https://opsx.alibaba.com/mirror

1.1、备份

[root@nexus ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

1.2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

[root@nexus ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

[root@nexus ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.3、之后运行yum makecache生成缓存

[root@docker]# sudo yum makecache all;

1.4、执行yum update 更新系统组件到最新版本

[root@docker]# sudo yum update -y;
2、配置静态IP

通常在/etc/sysconfig/network-scripts目录下都会有 ifcfg-eth0 格式文件,修改该文件内容:

[root@nexus ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

主要修改BOOTPROTO="static"ONBOOT="yes",并增加 IPADDRNETMASKGATEWAYDNS1

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="5b07acd3-b8bf-4a9e-b471-8e6330f2b622"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.1.102
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=119.29.29.29
ZONE=public

重启网卡

[root@nexus ~]# service network restart
3、关闭防火墙

常用命令

[root@nexus]# systemctl start firewalld    启动
[root@nexus]# systemctl stop firewalld    关闭
[root@nexus]# systemctl status firewalld    查看状态
[root@nexus]# systemctl disable firewalld    开机禁用
[root@nexus]# systemctl enable firewalld    开机启用

三、服务安装

1、外部数据库

可以使用指向外部数据库的Rancher服务器启动,而不是使用Rancher服务器随附的内部数据库。该命令将是相同的,但是会附加其他参数以指示如何连接到外部数据库。

注意:
您已经需要创建数据库,数据库的名称和用户,但是无需创建任何架构。Rancher将自动创建与Rancher相关的所有模式。

这是创建数据库和用户的SQL命令的示例。

> CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
> GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
> GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';

要启动Rancher连接到外部数据库,您需要将其他参数作为容器命令的一部分传递。

sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \
    --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle

注意:
当您连接到需要在表上具有主键的外部数据库集群时,可以将其–db-strict-enforcing作为参数添加到命令中。自v1.6.11起可用

传递的大多数选项也具有默认值,并且不是必需的。只需要MySQL服务器的位置。

--db-host               IP or hostname of MySQL server
--db-port               port of MySQL server (default: 3306)
--db-user               username for MySQL login (default: cattle)
--db-pass               password for MySQL login (default: cattle)
--db-name               MySQL database name to use (default: cattle)
--db-strict-enforcing   Ensures table has primary key (default: false), available as of v1.6.11

注意:
1、在早期版本的Rancher服务器中,我们已经使用环境变量连接到外部数据库,这些环境变量将继续起作用,但是Rancher建议改为使用参数。
2、在数据库服务器和rancher/server容器之间使用代理时,请确保正确配置超时参数。请参阅常见问题解答以获取更多信息。

2、外部数据库
作者:Jeebiz  创建时间:2020-01-12 22:22
 更新时间:2024-08-02 14:28