一、概述
本文档采用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>