概述
一起学rancher系列:
一起学习rancher-01-基本操作
一起学习rancher-02-基本操作
一起学习rancher-03-新版2.5.1和导入k8s
一起学习rancher-04-安装kubernetes集群
一、简介
之前学习了rancher1.6和2.5的基本操作,今天按照生产环境要求部署一套高可用rancher server。
1、关于RKE和k3s:
RKE(Rancher Kubernetes Engine):是经过认证的 Kubernetes 发行版,它拥有对应的 CLI 工具可用于创建和管理 Kubernetes 集群。在 Rancher UI 中创建集群时,它将调用 RKE 来配置 Rancher 启动的 Kubernetes 集群。
K3s (轻量级 Kubernetes): 和 RKE 类似,也是经过认证的 Kubernetes 发行版。它比 RKE 更新,更易用且更轻量化,全部组件都在一个小于 100 MB 的二进制文件中。从 Rancher v2.4 开始,Rancher 可以安装在 K3s 集群上。
2、高可用 Kubernetes 安装:
我们建议使用 Kubernetes 程序包管理器 在专用的 Kubernetes 集群上安装 Rancher。
在 RKE 集群中,需要使用三个节点以实现高可用性。在 K3s 集群中,仅需要两个节点即可。
我们这里基于K3S来安装高可用rancher。
二、安装rancher高可用环境
1、安装对主机要求及架构

K3s安装需求:2个linux节点+一个外部mysql数据库,配置一个负载均衡和一个dns。

负载均衡配置架构:

2、主机环境准备
系统版本:3台centos7.7(2台用于安装k3s,一台为k3s外部mysql)
Docker版本:docker 19.03.13
Mysql版本:5.7
Kubectl版本: kubectl-1.19.3
rancher版本:2.4.8
ip信息如下:
192.168.201.6 mysql5.7.28
192.168.201.3 v1.18.9-k3s1
192.168.201.3 v1.18.9-k3s1
三、安装k3s集群
1、安装mysql
groupadd -r mysql
useradd -r -g mysql mysql
下载
mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
解压安装包
tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
创建数据库目录
mkdir -p /data/mysql/data
mv mysql-5.7.28-linux-glibc2.12-x86_64/* /data/mysql/
更改目录权限
chown -R mysql:mysql /data/mysql
初始化数据库
cd /data/mysql
./bin/mysqld --initialize --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data/
记住密码:i*8NSPwHtVtd
创建RSA private key
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data/
添加 MySQL 到开机启动
cp support-files/mysql.server /etc/init.d/mysqld
修改/etc/init.d/mysqld中的basedir和datadir
basedir=/data/mysql
datadir=/data/mysql/datachkconfig mysqld on
修改环境变量
vi /etc/profileexport
PATH=/data/mysql/bin:$PATHsource
/etc/profilemv /etc/my.cnf /etc/my.cnf.bak
touch /data/mysql/my.cnf
My.cnf文件内容如下
[mysqld]character-set-server=utf8
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
symbolic-links=0!includedir /etc/my.cnf.d
[client]character-set-server=utf8
socket=/data/mysql/mysql.sock
[mysql]character-set-server=utf8
socket=/data/mysql/mysql.sock
启动
mysql/etc/init.d/mysqld start
ln -s /data/mysql/mysql.sock /tmp/mysql.sock
登陆
mysql -uroot -pi*8NSPwHtVtd
修改密码
alter user 'root'@'localhost' identified by "laolang123";
flush privileges;
配置数据库远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'laolang123' WITH GRANT OPTION;
flush privileges;
2、安装k3s
分别在两台k3s服务器上执行
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --datastore-endpoint="mysql://root:laolang123@tcp(192.168.201.6:3306)/k3s"

检查安装情况
k3s kubectl get nodes

k3s kubectl get pods --all-namespaces

安装K3s 时,会在节点上/etc/rancher/k3s/k3s.yaml位置创建一个kubeconfig文件。该文件包含用于完全访问集群的凭据。
3、安装kubectl
国外直接下载,被墙了,网上找了一个repo
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# yum install -y kubectl

将文件/etc/rancher/k3s/k3s.yaml复制并保存到本地计算机上的~/.kube/config文件中
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
kubectl --kubeconfig /etc/rancher/k3s/k3s.yaml get pods --all-namespaces
试试命令
kubectl get pods --all-namespaces

当然也可以指定路径
kubectl --kubeconfig /etc/rancher/k3s/k3s.yaml get pods --all-namespaces

4、helm安装
插入连接
一起学习Kubernetes-01-helm安装
Tar包安装
mkdir /software
cd /software
wget https://get.helm.sh/helm-v3.3.0-linux-amd64.tar.gz
tar xf helm-v3.3.0-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
添加helm命令补全
echo "source > ~/.bash_profile
source !$
查看版本
# helm version

添加repo
helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable
helm repo update
helm repo list

四、部署rancher
1、为 Rancher 创建 Namespace
kubectl create namespace cattle-system

2、安装 cert-manager
安装 CustomResourceDefinition 资源
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.0/cert-manager.crds.yaml
为 cert-manager 创建命名空间
kubectl create namespace cert-manager
添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io
更新本地 Helm chart 仓库缓存
helm repo update
安装 cert-manager Helm chart
helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v0.15.0
3、安装rancher
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher.wolf.com

等待rancher运行校验
kubectl -n cattle-system rollout status deploy/rancher


查看rancher pod运行情况
# kubectl get pods -n cattle-system

查看具体部署分布
# kubectl get pods -o wide -n cattle-system

部署完毕。
4、配置负载均衡
我这里是云主机,直接使用云的负载均衡
5、域名解析
测试环境没有dns服务器,不要紧,配置一条hosts
192.168.201.14rancher.wolf.com
6、登录测试
设置一个密码


进去看一下工作负载(还在update)


安装完毕。
今天rancher高可用安装完美完成。回头测试一下在k8s上安装rancher。
参考文档:https://docs.rancher.cn/docs/rancher2/installation/k8s-install/kubernetes-rke/_index
最后
以上就是怕孤独书包为你收集整理的rancher k8s docker 关系_一起学习rancher-05-rancher2高可用搭建的全部内容,希望文章能够帮你解决rancher k8s docker 关系_一起学习rancher-05-rancher2高可用搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复