Rancher容器管理平台

博客使用了四台服务器如下

  1. rancher服务器
  2. k8s-master
  3. k8s-worker01
  4. k8s-worker02

一、主机硬件说明

序号 硬件 操作内核
1 CPU 4 Memory 4G Disk 100G CentOS7
2 CPU 4 Memory 4G Disk 100G CentOS7
3 CPU 4 Memory 4G Disk 100G CentOS7
4 CPU 4 Memory 4G Disk 100G CentOS7

二、主机配置

四台主机都要做

2.1 主机名

# hostnamectl set-hostname rancherserver
# hostnamectl set-hostname k8s-master01
# hostnamectl set-hostname k8s-worker01
# hostnamectl set-hostname k8s-worker02

2.2 四台服务器的IP地址添加最后四行)

[root@rancherserver ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ec87533a-8151-4aa0-9d0f-1e970affcdc6"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.130"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
[root@k8s-master01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@k8s-master01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ec87533a-8151-4aa0-9d0f-1e970affcdc6"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.131"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
[root@k8s-worker01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@k8s-worker01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ec87533a-8151-4aa0-9d0f-1e970affcdc6"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.132"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"
[root@k8s-worker02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@k8s-worker02 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ec87533a-8151-4aa0-9d0f-1e970affcdc6"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.133"
PREFIX="24"
GATEWAY="192.168.10.2"
DNS1="119.29.29.29"

2.3 主机名与IP地址解析

四台服务器配置

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.52.130 rancherserver
192.168.52.131 k8s-master01
192.168.52.132 k8s-worker01
192.168.52.133 k8s-worker02

2.4 主机安全设置

# systemctl stop firewalld;
# systemctl disable firewalld

# firewall-cmd --state
not running
# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

2.5 主机时钟同步

# 查看系统是否安装chrony
rpm -qa |grep chrony
# 没有安装环境的话,执行以下命令进行安装
yum install chrony 
# 安装后,直接执行这俩命令,进行时间同步
systemctl start chronyd
systemctl enable chronyd

2.6 关闭swap

关闭k8s集群节点swap

# cat /etc/fstab

默认开启修改关闭(把下边这行注释即可#/dev/mapper/centos-swap swap                    swap    defaults        0 0
临时关闭所有
# swapoff -a

2.7 配置内核路由转发

# vim /etc/sysctl.conf
# cat /etc/sysctl.conf
...
# 开启ip转发功能
net.ipv4.ip_forward=1
# sysctl -p
net.ipv4.ip_forward = 1

三、docker安装

docker分为ceee版本,ce免费ee收费这里安装的是ce版

所有主机安装docker 安装docker步骤 参考里边的第二章安装docker部分

四、rancher安装

只在rancherserver服务器执行即可,其他三台不需要安装

docker官网利寻找自己想要的版本,即自定义版本安装 docker官网

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R4OmXrnq-1684673185368)(Rancher容器云管理平台.assets/image-20220816144953656.png)]

[root@rancherserver ~]# docker pull rancher/rancher:v2.7.1
# 如果下载最新版使用如下命令
docker pull rancher/rancher:latest
# 存储rancher相关信息,如用户名密码
[root@rancherserver ~]# mkdir -p /opt/data/rancher_data

启动

[root@rancherserver ~]# docker run -d --privileged -p 80:80 -p 443:443 -v /opt/data/rancher_data:/var/lib/rancher --restart=always --name rancher-2.7.1 rancher/rancher:v2.7.1
[root@rancherserver ~]# docker ps
CONTAINER ID   IMAGE                     COMMAND           CREATED          STATUS          PORTS                                                                      NAMES
b4fb6c11ce5a   rancher/rancher:v2.7.1   "entrypoint.sh"   26 seconds ago   Up 26 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher-2.7.1

五、通过Rancher部署kubernetes集群

5.1 Rancher访问

直接访问Rancher所在服务器地址即可http://192.168.10.130
在这里插入图片描述
一次安装会生成密码查看密码步骤如下
在这里插入图片描述

在这里插入图片描述
上边下方红框里就是登录密码,复制到下边密码框即可
在这里插入图片描述
可以自定义密码

注意:密码至少需要12个字符
在这里插入图片描述
完成
在这里插入图片描述

5.2 Rancher导入Kubernetes集群

这里我们导入已有集群,至于创建集群步骤,请参考右侧第二章节创建k8s集群

在这里插入图片描述
在这里插入图片描述

复制第二个命令master服务器执行即可node节点需要执行)

在这里插入图片描述
在这里插入图片描述

等两三分钟后执行下边命令查看namespace

kubectl get ns

在这里插入图片描述

可以web界面
在这里插入图片描述
大概5~7f分钟后,这里才变成Active
在这里插入图片描述
如果状态一直是pending,则可能网络插件flannel问题查看master机器的/run/flannel/目录是否一个subnet.env文件没有的话,新增这个文件内容如下然后重新导入集群即可

FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

等到状态都是true即可

在这里插入图片描述
可以看到所有主机都加进来了
在这里插入图片描述

查看集群,点击自己新建的集群
在这里插入图片描述

5.3 创建项目

点击左侧自己新建的集群
在这里插入图片描述
选择项目命名空间”,左上角“创建项目

在这里插入图片描述
填写项目信息后,点击右下角“创建
在这里插入图片描述

5.4 创建namespace命名空间

找到刚创建项目,点击右侧“创建命名空间

在这里插入图片描述
填写命名空间信息,点击右下角“创建
在这里插入图片描述

可以后台查到这个ns
在这里插入图片描述

在上边创建好的命名空间(ns)里就可以发布应用

5.5 创建Deployment

注意,下边所有内容,起名称时候,都是小写字母,或者小写字母数字即可a~z, 0~9),不然无法创建

Deployment是pod控制器,点击左侧Deployments,然后点击“创建”
在这里插入图片描述
创建deployment时,切记记得选择命名空间,否则是在ns为default下创建了deployment
在这里插入图片描述

在这里插入图片描述

部署一个nginx,下边这个30080端口就是以后浏览器访问nginx端口
在这里插入图片描述

开启健康检查
在这里插入图片描述

创建好后,查看发现已经运行起来
在这里插入图片描述

访问k8s的master服务器地址+30080端口
在这里插入图片描述

5.6 使用Rancher创建k8s集群

找到左侧“集群管理
在这里插入图片描述
点击右侧“创建”
在这里插入图片描述
选择“总定义
在这里插入图片描述
其他一般默认即可这里可以更改目录
在这里插入图片描述
在这里插入图片描述
点击下一步之后:
在这里插入图片描述
把下边的命令复制master、worker等节点执行
在这里插入图片描述
结果
在这里插入图片描述

使用rancher部署mysql

6.1 安装NFS服务

NFS是Network File System的缩写,中文意思是网络文件系统。主要功能是网络让不同的主机系统之间可以共享文件目录
NFS客户端(一般为应用服务器,Web、)可以通过挂载(mount)的方式将NFS服务器端共享数据目录挂载到NFS客户端本地系统中(某一个挂载点下)。
从NFS客户端的机器本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或目录一样,实际上是远端的NFS服务器的目录。

新启一个NFS服务器,在该服务器里安装nfs服务用来存储MySql的数据

查看是否安装了nfs软件包

rpm -qa|grep nfs-utils

安装nfs软件包

yum -y install nfs-utils

创建挂载目录

mkdir -p /nfs/mysql
# 修改权限
chmod 777 /nfs/mysql
# 编辑文件
vim /etc/exports

写入如下内容

/nfs/mysql *(insecure,fsid=0,rw,sync,no_root_squash,acl)

更新配置文件

exportfs -r

启动NFS服务,并查看服务状态

# 启动NFS服务
systemctl start nfs-server
# 查看NFS状态
systemctl status nfs-server
# 查看NFS进程
ps -ef | grep nfs
# 重启NFS命令
service nfs restart
# 查看NFS日志信息
cat /var/log/messages | grep mount

配置NFS服务开机自启动

systemctl enable nfs-server

查看NFS服务共享挂载情况

showmount -e localhost

在所有node节点都安装nfs服务

yum install -y nfs-utils
# 创建挂载目录
mkdir -p /nfs/mysql
# 修改权限
chmod 7777 /nfs/mysql/
# 启动并且开机启动
systemctl start nfs && systemctl enable nfs

6.2 Rancher部署MySql

在rancher上部署MySQL,必须要先创建PVC和PV,PVC和PV创建之后会自动绑定然后部署MySQL才会成功。

创建PVC和PV的顺序固定的,必须先创建PV,再创建PVC;因为PVC是绑定在PV上的。
删除PVC和PV的顺序也是固定的,必须先删除PVC,再删除PV;如果不删除PVC直接去删除PV,是无法删除的。

创建PV

选择“持久卷”,点击“创建”
在这里插入图片描述
配置PV参数

注意 PV存储空间一定要大于后边创建的PVC的空间(注意nfs挂载路径和上边的/etc/export/文件里的路径一致,都是/nfs/mysql
在这里插入图片描述
在这里插入图片描述
创建后可以看到创建成功
在这里插入图片描述

6.3 创建PVC

在这里插入图片描述
填写相关内容
在这里插入图片描述
在这里插入图片描述
可以看到创建成功,并且自动绑定pvc上了
在这里插入图片描述

6.4 创建“服务发现

部署MySQL之前一定一定要先添加服务发现,否则就会报错
在这里插入图片描述
选择Headless
在这里插入图片描述
填写信息
在这里插入图片描述
填写选择器
在这里插入图片描述
可以看到创建成功
在这里插入图片描述

6.5 部署mysql服务

创建StatefulSets
在这里插入图片描述
填写信息
在这里插入图片描述

配置环境变量——密码
在这里插入图片描述
docker官网查看mysql环境变量 dockerhub官网
在这里插入图片描述
下拉,找到环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
pod选择存储
在这里插入图片描述
填写NFS服务器信息(挂载路径 /nfs/mysql)
在这里插入图片描述
容器里选择存储
在这里插入图片描述
填写挂载路径(这里的路径是/var/lib/mysql)
在这里插入图片描述

点击右下角“创建”后,发现对应pod已经运行
在这里插入图片描述
上图红框里是pod名称,如果状态一直是containering时,说明概率报错了,在k8s的master机器执行以下命令查看日志

kubectl describe pod 	mysqlstateful-0 -n mytns

或者在nfs服务器执行以下命令查看挂载是否报错

cat /var/log/messages | grep mount

使用navicat客户端连接mysql说明部署成功

在这里插入图片描述

原文地址:https://blog.csdn.net/qq_33417321/article/details/130796495

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_29970.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注