01 miaoyun安装步骤

秒云在线文档
http://docs.miaoyun.net.cn/
秒云安装包下载
https://miaoyun.net.cn/download.html

1、安装CentOS7

注意:磁盘/var分区的大小;

2、Update CentOS7

yum update -y

3、CentOS7内核版本须升级⾄4.12+

rpm -ivh kernel-ml-5.5.11-1.el7.elrepo.x86_64.rpm
grub2-set-default 0
reboot
uname -r

4、关闭主机系统防⽕墙

systemctl stop firewalld
systemctl disable firewalld

5、关闭主机SElinux。

永久关闭

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
reboot

6、修改主机名:/etc/hosts,/etc/hostname

Miaoyun VIP 172.16.7.63
K8S VIP 172.16.7.69

hostnamectl set-hostname 主机名
echo "172.16.7.61  pm01.gfkd.com pm01"  >> /etc/hosts
echo "172.16.7.62  pm01.gfkd.com pm02"  >> /etc/hosts
echo "172.16.7.64 k8s01.gfkd.com k8s01" >> /etc/hosts
echo "172.16.7.65 k8s02.gfkd.com k8s02" >> /etc/hosts
echo "172.16.7.66 k8s03.gfkd.com k8s03" >> /etc/hosts
echo "172.16.7.68   nfs.gfkd.com nfs"   >> /etc/hosts

7 检查并配置ipv4,将内容修改为如下

cat /usr/lib/sysctl.d/00-system.conf

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 0
net.ipv4.ip_forward = 1

保存并重启网卡

systemctl restart network

8、创建普通用户(非root)用来运行程序

为安全考虑,需创建一个非root用户(如:easytong),用来运行程序,并设置easytong用户组、密码,免密权限并加入docker组。

8.1 创建easytong用户

创建非root用户来运行easytong

groupadd -g 2001 easytong
useradd -u 2001 -g 2001 easytong
echo "easytong:310012" | chpasswd
修改命令如下:
usermod -u 2001 easytong
groupmod -g 2001 easytong

8.2 将easytong用户加⼊docker⽤户组

在docker安装完成后再把easytogn用户加入到docker用户组。

usermod -aG docker easytong

8.3 设置easytong⽤户sudo免密权限

在/etc/sudoers中添加如下一行:

easytong    ALL=(ALL)     NOPASSWD:ALL

9、主机时间:各主机时间同步;

9.1、修改时区

查询服务器时间

timedatectl

修改时区为Asia/Shanghai

timedatectl set-timezone  Asia/Shanghai

查看修改后的结果

timedatectl

9.2、配置NTP时间同步服务器

CentOS7 配置NTP时间同步服务器
https://www.wanhebin.com/linux/590.html

9.2.1 服务端配置

检查服务器是否安装了ntp,ntpdate

rpm -qa |grep ntp
ntp-4.2.6p5-29.el7.centos.2.x86_64
ntpdate-4.2.6p5-29.el7.centos.2.x86_64

9.2.2 如果没有,需要安装

yum -y install ntp ntpdate

9.2.3 修改ntp配置文件/etc/ntp.conf

注释以下配置

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

9.2.4 新增以下配置

#日志文件
logfile /var/log/ntpd.log

#授权172.16.7.0网段上所有机器可以从这台机器上查询和时间同步
restrict 172.16.7.0 mask 255.255.255.0 nomotify notrap

#时间服务器列表
server 210.72.145.44       #中国国家授时中心
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com

#当外部时间不可用时,使用本地时间
server 127.0.0.1
fudge 127.0.0.1 stratum 10

#允许上层时间服务器主动修改本机时间
restrict 210.72.145.44
restrict ntp1.aliyun.com nomodify notrap noquery
restrict ntp2.aliyun.com nomodify notrap noquery
restrict ntp3.aliyun.com nomodify notrap noquery

9.2.5 客户端

9.2.5.1 安装ntp,ntpdate

yum install ntp ntpdate

9.2.5.2 修改配置文件/etc/ntp.conf

注释以下配置

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

9.2.5.3 增加以下配置

#ntp服务器地址
server 172.16.7.64

#新增:允许上层时间服务器主动修改本机时间
restrict 172.16.7.64 nomodify nortap noquery

#新增:当外部时间不可用时,使用本地时间
server 127.0.0.1     #local clock
fudge 127.0.0.1 stratum 10

9.2.5.4 保存配置,重启ntp服务并加入开启自启

systemctl enable ntpd
systemctl restart ntpd

9.2.6 查看服务器信息

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 172.16.7.64     120.25.115.20    3 u   22   64    1    0.499  -31.451   0.000
 localhost       .INIT.          16 l    -   64    0    0.000    0.000   0.000

9.2.7 测试

9.2.7.1 查看ntp服务端时间

date

9.2.7.2 修改客户端时间

date -s 2020-01-01
date

等待一段时间后客户端时间自动同步,这里用手动同步验证

ntpdate -u 172.16.7.64
date

如果觉得自动同步时间间隔比较久,可以设定一个定时任务,使用ntpdate命令来同步服务端时间
这里以每分钟同步为例

crontab -e
* * * * * /usr/sbin/ntpdate -u 172.16.7.64 & > /dev/null

至此,ntp时间同步服务器搭建完成。

10、安装与配置NFS

平台高可用和集群高可用,都需要部署NFS服务。
下面是平台高可用部署NFS服务。
NFS服务器搭建请参考链接:
https://www.showdoc.com.cn/p/f347725025ea6fc5a9a16f45f202b3b0

集群高可用部署NFS服务
同上步骤10

11、安装docker

秒云已支持最新稳定版:Docker version 19.03.12

11.1 安装所需的软件包

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

11.2 设置稳定版的YUM源

    $ sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo

11.3 安装最新版本的Docker社区版和containerd

$ sudo yum install docker-ce docker-ce-cli containerd.io

11.4 设置随机启动并启动docker

systemctl start docker
systemctl enable docker

11.5 将easytong用户加⼊docker⽤户组

usermod -aG docker easytong

12、安装平台管理节点

安装流程:
(1)在主节点上执行:miaoyun_deploy_offline.sh
(2)在备节点上执行:my deploy —backup
(3)在主节点上执行:my stack keepalived
(4)在备节点上执行:my stack keepalived

12.1 主节点安装

[easytong@miaoyun-k8s-adm1 miaoyuninstallpackage]$ sudo ./miaoyun_deploy_offline.sh 
     _  _  __   __    __  _  _  _  _  __ _
    ( \/ )(  ) / _\  /  \( \/ )/ )( \(  ( \
    / \/ \ )( /    \(  O ))  / ) \/ (/    /
    \_)(_/(__)\_/\_/ \__/(__/  \____/\_)__) v20.03.2

✔ HA Mode: Enable HA
✔ Virtual IP Address: 172.16.7.63
✔ Network Interface of Virtual IP Address: ens192
✔ Shared Mountpoint: /opt/miaoyunk8sadmnfs/
✔ Domain: 172.16.7.63
✔ Offline Packages Folder: /opt/miaoyuninstallpackage/packages
✔ Host IP: 172.16.7.64
✔ Etcd Endpoints: https://172.16.7.63:20409
[  OK  ] Checking environment
Kernel version: 5.5.11-1.el7.elrepo.x86_64
Docker version: 19.03.12
Firewalld: inactive
[  OK  ] Preparing configuration file
[  OK  ] Preparing certificates
[  OK  ] Installing registry certificate
[  OK  ] Loading boot images
[  OK  ] Deploying offline registry                                                                                                      
[  OK  ] Preparing deploy.yml
[  OK  ] (1/11) Creating volume: chiwen.alertmanager
[  OK  ] (2/11) Creating volume: chiwen.clair
[  OK  ] (3/11) Creating volume: chiwen.data
[  OK  ] (4/11) Creating volume: chiwen.jenkins
[  OK  ] (5/11) Creating volume: chiwen.keystone
[  OK  ] (6/11) Creating volume: chiwen.mysql
[  OK  ] (7/11) Creating volume: chiwen.chartmuseum
[  OK  ] (8/11) Creating volume: chiwen.postgres
[  OK  ] (9/11) Creating volume: chiwen.prometheus
[  OK  ] (10/11) Creating volume: chiwen.registry
[  OK  ] (11/11) Creating volume: chiwen.web
[  OK  ] (1/16) Creating container: miaoyun.POD
[  OK  ] (2/16) Creating container: miaoyun.keeper
[  OK  ] (3/16) Creating container: miaoyun.mysql
[  OK  ] (4/16) Creating container: miaoyun.keystone
[  OK  ] (5/16) Creating container: miaoyun.etcd
[  OK  ] (6/16) Creating container: miaoyun.registry
[  OK  ] (7/16) Creating container: miaoyun.coredns
[  OK  ] (8/16) Creating container: miaoyun.chartmuseum
[  OK  ] (9/16) Creating container: miaoyun.prometheus
[  OK  ] (10/16) Creating container: miaoyun.alertmanager
[  OK  ] (11/16) Creating container: miaoyun.chiwen-web
[  OK  ] (12/16) Creating container: miaoyun.jenkins-master
[  OK  ] (13/16) Creating container: miaoyun.jenkins-exporter
[  OK  ] (14/16) Creating container: miaoyun.clair
[  OK  ] (15/16) Creating container: miaoyun.postgres
[  OK  ] (16/16) Creating container: miaoyun.chiwen
[  OK  ] Waiting for ready

Deploy miaoyun successfully! (3m22s)

To deploy backup, use:

    my deploy --backup                #在此不执行。

To deploy keepalived and assign virtual IP, use:

    my stack keepalived                #可以在后面步骤(12.3.1 在主节点上安装keepalived)中执行

12.2 备节点安装

12.2.1 复制秒云安装包到备节点并授权

12.2.2 安装

[easytong@miaoyun-k8s-adm2 miaoyuninstallpackage]$ sudo ./my deploy --backup
     _  _  __   __    __  _  _  _  _  __ _
    ( \/ )(  ) / _\  /  \( \/ )/ )( \(  ( \
    / \/ \ )( /    \(  O ))  / ) \/ (/    /
    \_)(_/(__)\_/\_/ \__/(__/  \____/\_)__) v20.03.2

Enter Shared Mountpoint/opt/miaoyunk8sadmnfs
✔ Network Interface of Virtual IP Address: ens192
✔ Offline miaoyun Boot Archive File: /opt/miaoyuninstallpackage/miaoyun-boot-20.03.2.tar
✔ Host IP: 172.16.7.65
[  OK  ] Checking environment
Kernel version: 5.5.11-1.el7.elrepo.x86_64
Docker version: 19.03.12
Firewalld: inactive
[  OK  ] Preparing configuration file
[  OK  ] Preparing certificates
[  OK  ] Installing registry certificate
[  OK  ] Loading boot images
[  OK  ] Deploying offline registry
[  OK  ] Preparing deploy.yml
[  OK  ] (1/11) Creating volume: chiwen.alertmanager
[  OK  ] (2/11) Creating volume: chiwen.clair
[  OK  ] (3/11) Creating volume: chiwen.data
[  OK  ] (4/11) Creating volume: chiwen.jenkins
[  OK  ] (5/11) Creating volume: chiwen.keystone
[  OK  ] (6/11) Creating volume: chiwen.mysql
[  OK  ] (7/11) Creating volume: chiwen.chartmuseum
[  OK  ] (8/11) Creating volume: chiwen.postgres
[  OK  ] (9/11) Creating volume: chiwen.prometheus
[  OK  ] (10/11) Creating volume: chiwen.registry
[  OK  ] (11/11) Creating volume: chiwen.web
[  OK  ] (1/16) Creating container: miaoyun.POD
[  OK  ] (2/16) Creating container: miaoyun.keeper
[  OK  ] (3/16) Creating container: miaoyun.mysql
[  OK  ] (4/16) Creating container: miaoyun.keystone
[  OK  ] (5/16) Creating container: miaoyun.etcd
[  OK  ] (6/16) Creating container: miaoyun.registry
[  OK  ] (7/16) Creating container: miaoyun.coredns
[  OK  ] (8/16) Creating container: miaoyun.chartmuseum
[  OK  ] (9/16) Creating container: miaoyun.prometheus
[  OK  ] (10/16) Creating container: miaoyun.alertmanager
[  OK  ] (11/16) Creating container: miaoyun.chiwen-web
[  OK  ] (12/16) Creating container: miaoyun.jenkins-master
[  OK  ] (13/16) Creating container: miaoyun.jenkins-exporter
[  OK  ] (14/16) Creating container: miaoyun.clair
[  OK  ] (15/16) Creating container: miaoyun.postgres
[  OK  ] (16/16) Creating container: miaoyun.chiwen

Deploy miaoyun successfully! (1m24s)

To deploy keepalived, use:

    my stack keepalived                        #可以在后面步骤(12.3.2 在备节点上安装keepalived)中执行

[easytong@miaoyun-k8s-adm2 miaoyuninstallpackage]$

12.3 安装keepalived

12.3.1 在主节点上安装keepalived

执行如下命令:
[easytong@miaoyun-k8s-adm1 miaoyuninstallpackage]$ sudo ./my stack keepalived
     _  _  __   __    __  _  _  _  _  __ _
    ( \/ )(  ) / _\  /  \( \/ )/ )( \(  ( \
    / \/ \ )( /    \(  O ))  / ) \/ (/    /
    \_)(_/(__)\_/\_/ \__/(__/  \____/\_)__) v20.03.2

[  OK  ] Deploying keepalived (master)
[easytong@miaoyun-k8s-adm1 miaoyuninstallpackage]$

12.3.2 在备节点上安装keepalived

执行如下命令:
[easytong@miaoyun-k8s-adm2 miaoyuninstallpackage]$ sudo ./my stack keepalived
     _  _  __   __    __  _  _  _  _  __ _
    ( \/ )(  ) / _\  /  \( \/ )/ )( \(  ( \
    / \/ \ )( /    \(  O ))  / ) \/ (/    /
    \_)(_/(__)\_/\_/ \__/(__/  \____/\_)__) v20.03.2

[  OK  ] Deploying keepalived (backup)
[easytong@miaoyun-k8s-adm2 miaoyuninstallpackage]$

13、访问平台说明

安装完成后,在浏览器地址栏中输⼊https://domain_ip访问平台。即:
https://172.16.7.63/
默认⽤户名:admin
默认密码:admin
如果能正常访问平台,则代表安装完成。

13.1 验证主备是否安装正确

系统视角/控制台/部署模式,查看高可用:
(1)主节点运行,备节点就绪
(2)主节点关机,查看备节点是否切换为主节点,同时秒云管理平台是否可正常访问
(3)主节点开机,查看高可用模式是否为备节点运行,主节点就结绪,秒云管理平台是否可正常访问
(4)备节点关机,查看高可用模式是否为主节点运行,备节点就结绪,秒云管理平台是否可正常访问
(5)备节点开机,查看高可用模式是否为主节点运行,备节点就结绪,秒云管理平台是否可正常访问

14、集群管理(请参考《秒云用户使用手册.pdf》)

14.1.1 添加主机

操作步骤

主机池添加主机步骤如下。 
1. 在浏览器地址栏中输⼊https:// domain_ip访问平台。 
2. 在左侧导航栏中选择“主机池”。 
3. 单击⻚⾯右上⻆“添加主机”。 
4. 选择主机操作系统,分为Linux和Windows两种。 
5. 填写主机基础设置信息。

14.1.2 创建集群

操作步骤

创建集群的步骤如下。 
1. 在浏览器地址栏中输⼊https:// domain_ip访问平台。 
2. 在左侧导航栏中选择“集群”。 
3. 单击⻚⾯右上⻆“创建新集群”。 
4. 填写集群基础设置信息。
详细信息,请参看《秒云安装部署指南》。

单击“⽴即创建”。
创建成功后,新创建的主机集群在“集群”列表中显示。

14.1.3 添加节点

集群创建后,请添加节点,包括集群管理节点和集群计算节点。
添加说明
开启管理节点⾼可⽤时,添加的前三台主机需要选择⻆⾊,可以为“管理/计算节点”,也可以为“管 理节点”,后续添加的节点为“计算节点”,⽀持批量添加管理节点和计算节点。
操作步骤

添加集群管理节点和集群计算节点的步骤相同。 
1. 单击创建的集群名称后的 ,选择“添加节点”。 
2. 在弹出的节点列表中,选择需要加⼊集群的节点。

注意:
节点添加完成后,等待节点的状态为“就绪”时再添加下⼀个节点。

14.1.4 集群绑定给默认域

操作步骤:

1、在"系统视角"下,点击“域管理”打开域管理页面;
2、在右侧域管理界面,点击“默认域”,进入默认域详情页面;
3、点“编辑集群”按钮,在关联集群列表,勾选集群“easytong”;
4、在分配置节点中,选择所有节点;
5、点“确认硬改”按钮,完成集群与默认域绑定。

14.1.5 绑定项目与集群

1、切换到域视角,选择“默认域”;
2、在左侧菜单列表中,选择“项目”;
3、在右侧项目页面的项目名称列表中,点击项目名“default”,进入项目详情页面;
4、在项目/default详情页面,点“编辑集群”按钮;
5、在关联集群列表中,勾选集群“easytong”,在分配节点中,选择所有节点,点“确认更改”按钮;

15 部署应用

16 手工部署应用服务

项目视角(default)/应用applications,页上右上解点“创建新应用”进入‘应用>高级创建’。

15.1.1 应用名称

应用名称:有启动依赖的服务需分在同一个应用里。

15.1.2 工作负载Workload

点 +添加/部署Deployment,
部署设置:base-deploy-0,默认值可修改为:easytong-server
|—窗口组设置:
|——容器设置:选择镜像easytong_server:5.1.20.0531,点 ‘拉取镜像配置’;
CPU限制(默认)、内存限制(默认),启动命令(从images中读取),虚拟终端,环境变量(从images中读取),容器端口(从images中读取,可根据需要再添加)
添加存储挂载说明:需先将配置文件上传,在配置文件+添加;
添加存储挂载(文件):存储卷:easytong-server-cm-0 > jdbc.properties,存储卷子路径:文件类型,容器内路径:/opt/easytong_server/bin/jdbc.properties,默认权限644,读读:yes
存储卷:easytong-server-cm-0 > resources.properties,存储卷子路径:文件类型,容器内路径:/opt/easytong_server/bin/resources.properties,默认权限644,读读:yes
添加存储挂载(目录):宿主机路径:/opt/data-volumes/easytong_server/logs,容器内路径:/opt/easytong_server/logs,只读:no

15.1.3 配置文件

配置文件
|—配置集ConfigMap:
配置集名称:base-cm-0 可自定义输入 easytong-server-cm-0
通过上传文件:从电脑中选择

15.1.4 服务与访问

在 访问与入口ingresses 页面中设置

上图页面上不同步,建议按下面页中进行设置

/easytong_app(/|$)(.*) 说明: | 为右方括号】右边的按钮,如下图:

15.2 导出模板

15.1 导入应用模板

16 NFS双机热备

NFS双机热备
https://blog.csdn.net/weixin_43695104/article/details/90181114
nfs 研究双机热备记录
https://blog.51cto.com/5437315/2420126

14.1.6 启用域名访问

根据项目实际需要决定是否设置此项。

在项目视角的左侧菜单中,选择“应用applications”,
在右边页面中,点“创建新应用”进入页面,
在应用/高级创建页面中,服务设置/访问入口设置页中,域名一栏中输入域名;
需要在访问域名的电脑的host文件种添加域名和vip;