0%

部署Rancher 2.5版本

参考文档:https://docs.rancher.cn/docs/rancher2/installation/k8s-install/_index

说明:

1、采用docker容器,没有采用默认的contained

2、没有云负载均衡器,默认会生成内网的ip地址作为Loadblance ,可能会造成跨主机无法通信

3、域名证书问题,部署rancher添加参数

4、最新版本的rancher 2.5允许部署在kubernetes,不在限制于k3s与rke

基本环境

1、主机名

2、防火墙

3、交换分区

4、ipvs

5、内核

安装 Docker

此命令可用于在 Linux上安装 Docker 19.03:

1
curl https://releases.rancher.com/install-docker/19.03.sh | sh

部署mysql

安装包资源地址

1
2
3
mysql下载地址:https://dev.mysql.com/downloads/mysql/

下载资源名称 mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

解压资源

1
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

安装

1
2
3
4
5
6
7
# 安装顺序
common --> libs --> clients --> server
# 安装命令
rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

初始化

1
mysqld --initialize --user=mysql

启动

1
systemctl start mysqld

登录

1
2
3
4
5
6
7
8
# 查看初始密码
cat /var/log/mysqld.log
# 或者
grep 'password' /var/log/mysqld.log -n -B 5
# 登陆
mysql -uroot -p
# 修改初始密码
set PASSWORD=PASSWORD('Jusda147258');

授权远程链接

1
2
3
4
5
6
7
8
9
10
### 授权ip可以远程链接
grant all privileges on *.* to 'root'@'ip' identified by '123456';

### 授权所有ip
grant all privileges on *.* to 'root'@'%' identified by 'Jusda147258';

### 以上*.*表示[数据库].[表]

### 使授权立刻生效
flush privileges;

安装 K3s Kubernetes

1、安装 Kubernetes 并配置 K3s Server

  1. 连接到您准备运行 Rancher Server 的 Linux 节点之一。

  2. 在 Linux 节点上,运行以下命令以启动 K3s Server 并将其连接到外部数据库:

1
2
3
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh |INSTALL_K3S_MIRROR=cn  \
INSTALL_K3S_EXEC="server --docker --flannel-backend=none --disable=servicelb" sh -s - \
--datastore-endpoint="mysql://root:Jusda147258@tcp(10.0.7.147:3306)/k3s"
  1. 在您的另外一台 Linux 节点上执行同样的操作。

2、确认 K3s 是否创建成功

要确认已成功设置 K3s,请在任一 K3s Server 节点上运行以下命令:

1
sudo k3s kubectl get nodes

3、保存并使用 kubeconfig 文件

在每个 Rancher Server 节点上安装 K3s 时,会在节点上/etc/rancher/k3s/k3s.yaml位置创建一个kubeconfig文件。

  • 安装 Kubernetes 命令行工具kubectl。
  • 将文件/etc/rancher/k3s/k3s.yaml复制并保存到本地计算机上的~/.kube/config文件中。
    在这个 kubeconfig 文件中,server参数为 localhost。您需要手动更改这个地址为负载均衡器的 DNS,并且指定端口 6443。(Kubernetes API Server 的端口为 6443,Rancher Server 的端口为 80 和 443。)

kubectl(可不安装?k3s安装默认会安装?)

下载

1
2
3
http://mirror.cnrancher.com/

http://rancher-mirror.cnrancher.com/kubectl/v1.19.2/linux-amd64-v1.19.2-kubectl

添加环境变量

1
2
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

helm

下载

1
2
3
https://github.com/helm/helm/releases 或者 http://mirror.cnrancher.com/

https://get.helm.sh/helm-v3.3.4-linux-amd64.tar.gz

解压并添加环境变量

1
2
tar -zxvf helm-v3.3.4-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm

添加 Helm Chart 仓库

  • latest: 推荐在尝试新功能时使用。
  • stable: 推荐生产环境中使用。(推荐)
  • alpha: 未来版本的实验性预览。
1
2
3
helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable

helm repo add rancher-latest http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/latest

安装 Rancher

为 Rancher 创建 Namespace

1
kubectl create namespace cattle-system

Rancher 生成的自签名证书

1
2
参照官方说明:
https://docs.rancher.cn/docs/rancher2/installation/options/self-signed-ssl/_index

使用私有 CA 签发证书

1
2
kubectl -n cattle-system create secret generic tls-ca \
--from-file=cacerts.pem=./cacerts.pem

部署rancher

1
2
3
4
5
6
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.jusda.int \
--set tls=external \
--set ingress.tls.source=secret \
--set privateCA=true