前言:
现时同学们对“rancher部署mysql集群”大致比较注意,各位老铁们都想要分析一些“rancher部署mysql集群”的相关知识。那么小编也在网上汇集了一些对于“rancher部署mysql集群””的相关内容,希望你们能喜欢,你们一起来学习一下吧!一起学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 | 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 <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=
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
tar xf helm-v3.3.0-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/
添加helm命令补全
echo "source <(helm completion bash)" >> ~/.bash_profile
source !$
查看版本
# helm version
添加repo
helm repo add rancher-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
为 cert-manager 创建命名空间
kubectl create namespace cert-manager
添加 Jetstack Helm 仓库
helm repo add jetstack
更新本地 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。
参考文档:
标签: #rancher部署mysql集群