首页
CentOS7 安装rancher

一、概述

本文档采用docker方式搭建rancher环境,不做生产环境使用。

二、环境准备

2.1 服务器

系统发行版:CentOS-7.3.1611

内核版本:3.10.0-1160.83.1.el7

Docker-CE:23.0.1

2.2 关闭 selinux 和防火墙

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

禁用SELinux

setenforce 0
sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config

2.3 设置yum源

配置 kubernetes源 vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

配置docker-ce源 vi /etc/yum.repos.d/docker-ce.repo

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg


2.4 安装docker-ce

yum intall docker-ce -y
sudo systemctl start docker
sudo systemctl enable docker

三、 安装rancher

sudo docker run -d --name rancher --restart=unless-stopped -p 8080:80 -p 8443:443 -v /opt/rancher:/var/lib/rancher  --privileged rancher/rancher:v2.7.1

四、 对接k8s

4.1 通过Rancher部署一个Kubernetes集群

4.1.1 安装节点

进入 Cluster Management 页面,点击 Create 按钮,按照提示进行操作即可。根据提示在另一台服务器执行命令。例如:

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.7.1 --server https://192.168.113.52:8443 --token wc5gmqqvsppccwmdmw8bqkzktt7qgdjl6fxc8np4nrkgm6qbvt6tdk --ca-checksum 6967120ddc37c353b7dd502fe244db4faf93b9d014a8a6ca35ecb56d5578016b --etcd --controlplane --worker

4.1.2 安装kubectl工具

通过此方式安装的k8s是运行在docker中的,物理机上没有kubectl命令,为了使用方便我们需要在节点上安装kubectl命令。

  • 执行安装命令
yum install kubectl -y
  • 在rancher页面复制集群的kubeconfig文件内容到~/.kube/config 文件中

  • 执行 kubectl get nodes 测试

4.2 导入一个部署好的k8s集群

4.2.1 注意事项

这里需要注意,rancher的版本和k8s的版本有一定的要求,不然对接时有各种问题。曾经为了加速镜像下载,配置了国内docker源,结果下载的rancher的latest镜像竟然是2.6.3版本的,对接1.24.8版本的k8s,遇到各种问题,最终还是没弄好。

所以本次对接使用的版本信息如下:

系统 版本
rancher 2.7.1
k8s 1.24.8

注: k8s的部署可以参看之前的部署文档

4.2.2 在需要导入的集群中执行命令

进入rancher的 Cluster Management 页面,点击 Import Existing 按钮,按照提示在需要导入的节点进行操作即可。

例如:

Run the kubectl command below on an existing Kubernetes cluster running a supported Kubernetes version to import it into Rancher:

kubectl apply -f https://192.168.113.52:8443/v3/import/p586wvrx8fxs7rhb2lstwbrn8r9rk7h228rbb7f8l4bzmv9rzhzjsc_c-m-qzb6jzg2.yaml

If you get a "certificate signed by unknown authority" error, your Rancher installation has a self-signed or untrusted SSL certificate. Run the command below instead to bypass the certificate verification:

curl --insecure -sfL https://192.168.113.52:8443/v3/import/p586wvrx8fxs7rhb2lstwbrn8r9rk7h228rbb7f8l4bzmv9rzhzjsc_c-m-qzb6jzg2.yaml | kubectl apply -f -

If you get permission errors creating some of the resources, your user may not have the cluster-admin role. Use this command to apply it:

kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user <your username from your kubeconfig>