首页 > 其他分享 >Keepalived高可用集群部署

Keepalived高可用集群部署

时间:2023-01-27 11:13:36浏览次数:57  
标签:nginx 部署 Keepalived keepalived 192.168 访问 集群 IP 节点

KeepAlived


目录


KeepAlived安装

1.yum源安装

yum install keepalived

2.官网源码包编译

KeepAlived官网提供可编译源码包,可直接下载。
官网地址:

https://www.keepalived.org/

Keepalived官网

官网提供的软件包,解压编译安装即可。


KeepAlived部署

高可用实现支持多种集群配置模式:主备模式,主主模式,N+1模式,N+M模式;另外支持资源及节点故障检测。

准备工作

  1. 硬件准备

要实现KeepAlived的多种模式,因此这里准备了4台虚拟机进行测试,设备IP分别为:

192.168.25.23
192.168.25.24
192.168.25.25
192.168.25.26
  1. 软件准备

本次高可用实现以nginx进行效果展示,nginx未进行任何配置,仅修改了对应index.html文件以展示对应情况的高可用实现效果。

  • nginx准备

系统可通过软件仓库安装nginx:
yum install nginx -y

启动nginx:
nginx

系统默认安装并启动了ApacheHttp服务,因此需要关闭httpd服务:
    systemctl stop httpd
    systemctl disable httpd
如果仍旧不能正常访问nginx主页,需要添加防火墙规则或关闭防火墙。
此处为方便后续操作且非为测试环境,所以关闭防火墙,如在生产环境,请添加防火墙规则:
    systemctl stop firewalld
    systemctl disable firewalld

分别在各个测试机中启动nginx后,测试页面是否正常显示,如出现以下页面即为正常:

nginx主页

为了方便辨别实现效果,此处修改nginx的主页。

nginx主页的位置为:
/usr/share/nginx/html/index.html

编辑index.html:
vim /usr/share/nginx/html/index.html

在86行下添加内容:
<h2><strong>The IP is 192.168.25.**</strong></h2>
IP地址根据实际情况进行修改,效果如下:
nginx修改主页

添加nginx默认启动:
systemctl enable nginx

至此,nginx准备完毕。

  • keepalivd准备

软件仓库安装keepalived,分别在测试机上执行:
yum install keepalived -y

确认安装情况,执行脚本:
keepalived -v
输出内容如下:
keepalived版本

查询对应的配置文件:
rpm -ql keepalived
相关内容如下:
keepalived相关文件

文件说明:

/etc/keepalived                             -主目录
/etc/keepalived/keepalived.conf             -配置文件
/etc/sysconfig/keepalived                   -系统配置文件
/usr/lib/systemd/system/keepalived.service  -系统服务
/usr/libexec/keepalived                     -库目录
/usr/sbin/keepalived                        -系统命令

Keepalived主要通过修改/etc/keepalived/keepalived.conf配置文件进行配置高可用集群。


主备模式

节点配置

此模式下使用两台虚拟机和一个虚拟IP进行:
主节点192.168.25.23
备节点192.168.25.24
虚拟IP192.168.25.10

  1. 主节点(192.168.25.23)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_router_id 86
    priority 200
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}
  1. 备节点(192.168.25.24)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV24
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 200
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.23
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}

验证

正常状态

  1. 浏览器访问虚拟IP:192.168.25.10
  2. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为主节点提供服务。
    主备正常

故障

  1. 停止主节点keepalived服务,主节点执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.24,当前由于主节点故障,备用节点启用,接管VIP流量。
    主备故障

故障恢复

  1. 重新启动主节点keepalived服务;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.23,主节点恢复,接管VIP流量。
    主备恢复

1+N(一主多备)模式

节点配置

此模式下使用三台虚拟机(备用节点)进行:
主节点192.168.25.23
备节点1192.168.25.24
备节点2192.168.25.25
虚拟IP192.168.25.10

  1. 主节点(192.168.25.23)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_router_id 86
    priority 200
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.24
    192.168.25.25
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}
  1. 备节点(192.168.25.24)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV24
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 100
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.23
    192.168.25.25
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}
  1. 备节点(192.168.25.25)配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV25
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 20
    unicast_src_ip 192.168.25.25
    unicast_peer {
    192.168.25.23
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}

验证

正常状态
  1. 浏览器访问虚拟IP:192.168.25.10
  2. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为主节点提供服务。
    主备正常
故障-1
  1. 停止主节点keepalived服务,主节点执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.24,当前由于主节点故障,备用节点启用,由于备用节点1优先级高于备用节点2,所以备用节点1接管VIP流量。
    主备故障
故障-2
  1. 停止备节点1keepalived服务,备节点1执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.25,当前由于备节点1故障,备用节点2启用,所以备用节点2接管VIP流量。
    主备故障
故障恢复-1
  1. 重新启动主节点keepalived服务;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.23,主节点恢复,接管VIP流量。
故障恢复-2
  1. 重新启动备节点1keepalived服务;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.23,当前由于主节点状态正常,继续管理VIP流量。

主主(互为主备)模式

此模式下两台机器两个虚拟IP,每台机器对应一个虚拟IP的主节点,对应另一个虚拟IP的备节点,两台机器互为主备。

节点配置

此模式下使用两台虚拟机进行:
节点1192.168.25.23
节点2192.168.25.24
虚拟IP1192.168.25.10
虚拟IP2192.168.25.20

  1. 节点1配置内容
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_router_id 86
    priority 200
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}


vrrp_instance VI_2 {
    state BACKUP
    interface enp1s0
    virtual_router_id 85
    priority 20
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.20
    }
}

  1. 节点2配置内容
! Configuration File for keepalived

global_defs {
   router_id PV24
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 100
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.23
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}

vrrp_instance VI_2 {
    state MASTER
    interface enp1s0
    virtual_router_id 85
    priority 100
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.23
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.20
    }
}

验证

正常状态
  1. 浏览器访问虚拟IP:192.168.25.10
  2. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为VIP1的主节点-节点1提供服务。
  3. 浏览器访问虚拟IP:192.168.25.20
  4. 页面显示实际访问地址为192.168.25.24,当前为正常状态,无论刷新多少次均显示为VIP2的主节点-节点2提供服务。
    主主正常
故障-1
  1. 停止节点1keepalived服务,节点1执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.24,当前由于节点1故障,备用节点启用,所以作为节点1的备用节点,节点2接管VIP1流量。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.24,当前为正常状态,无论刷新多少次均显示为VIP2的主节点-节点2提供服务。
    主主异常
故障-1恢复
  1. 恢复节点1keepalived服务,节点1执行;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,由于节点1已恢复,作为VIP1的主节点-节点1,节点1恢复接管VIP1流量。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.24,当前为正常状态,无论刷新多少次均显示为VIP2的主节点-节点2提供服务。
    主主正常
故障-2
  1. 停止节点2keepalived服务,节点2执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为VIP1的主节点-节点1提供服务。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.23,当前由于节点2故障,备用节点启用,所以作为节点2的备用节点,节点1接管VIP2流量。
    主主异常
故障-2恢复
  1. 恢复节点2keepalived服务,节点1执行;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为VIP1的主节点-节点1提供服务。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.24,由于节点2已恢复,作为VIP2的主节点-节点2,节点2恢复接管VIP2流量。
    主主正常

N+1模式

此模式下三台机器两个虚拟IP,两台机器各对应一个虚拟IP的主节点,另外一台机器为两个虚拟IP的备节点。

节点配置

此模式下使用两台虚拟机进行:
主节点1192.168.25.23
主节点2192.168.25.24
备节点192.168.25.25
虚拟IP1192.168.25.10
虚拟IP2192.168.25.20

  1. 节点1配置内容
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_router_id 86
    priority 200
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.25
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}
  1. 主节点2配置内容
! Configuration File for keepalived

global_defs {
   router_id PV24
}

vrrp_instance VI_2 {
    state MASTER
    interface enp1s0
    virtual_router_id 85
    priority 100
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.25
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.20
    }
}
  1. 备节点配置内容
! Configuration File for keepalived

global_defs {
   router_id PV25
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 100
    unicast_src_ip 192.168.25.25
    unicast_peer {
    192.168.25.23
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }
}

vrrp_instance VI_2 {
    state BACKUP
    interface enp1s0
    virtual_router_id 85
    priority 20
    unicast_src_ip 192.168.25.25
    unicast_peer {
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.20
    }
}

验证

正常状态
  1. 浏览器访问虚拟IP:192.168.25.10
  2. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为VIP1的主节点-节点1提供服务。
  3. 浏览器访问虚拟IP:192.168.25.20
  4. 页面显示实际访问地址为192.168.25.24,当前为正常状态,无论刷新多少次均显示为VIP2的主节点-节点2提供服务。
    主主正常
故障-1
  1. 停止主节点1keepalived服务,主节点1执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.25,当前由于主节点1故障,备用节点启用,所以作为节点1的备用节点,备节点接管VIP1流量。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.24,当前为正常状态,无论刷新多少次均显示为VIP2的主节点-节点2提供服务。
    主主异常
故障-1恢复
  1. 恢复主节点1keepalived服务,主节点1执行;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,由于节点1已恢复,作为VIP1的主节点-主节点1,主节点1重新接管VIP1流量。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.24,当前为正常状态,无论刷新多少次均显示为VIP2的主节点-主节点2提供服务。
    主主正常
故障-2
  1. 停止主节点2keepalived服务,主节点2执行;
    systemctl stop keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为VIP1的主节点-主节点1提供服务。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.25,当前由于主节点2故障,备用节点启用,所以作为主节点2的备用节点,备节点接管VIP2流量。
    主主异常
故障-2恢复
  1. 恢复节点2keepalived服务,节点1执行;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为VIP1的主节点-节点1提供服务。
  4. 浏览器访问虚拟IP:192.168.25.20
  5. 页面显示实际访问地址为192.168.25.24,由于主节点2已恢复,作为VIP2的主节点-主节点2,主节点2恢复接管VIP2流量。
    主主正常
故障-3
  1. 停止主节点1keepalived服务,主节点1执行;
    systemctl stop keepalived
  2. 停止主节点2keepalived服务,主节点2执行;
    systemctl stop keepalived
  3. 浏览器访问虚拟IP:192.168.25.10
  4. 页面显示实际访问地址为192.168.25.25,当前由于主节点1故障,备用节点启用,所以作为节点1的备用节点,备节点接管VIP1流量。
  5. 浏览器访问虚拟IP:192.168.25.20
  6. 页面显示实际访问地址为192.168.25.25,当前由于主节点2故障,备用节点启用,所以作为主节点2的备用节点,备节点接管VIP2流量。
    主主异常
故障-3恢复
  1. 恢复主节点1keepalived服务,主节点1执行;
    systemctl restart keepalived
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面显示实际访问地址为192.168.25.23,由于节点1已恢复,作为VIP1的主节点-主节点1,主节点1重新接管VIP1流量。
  4. 恢复节点2keepalived服务,节点1执行;
    systemctl restart keepalived
  5. 浏览器访问虚拟IP:192.168.25.20
  6. 页面显示实际访问地址为192.168.25.24,由于主节点2已恢复,作为VIP2的主节点-主节点2,主节点2恢复接管VIP2流量。
    主主正常

N+M模式

N+M模式的配置参考N+1模式,复制备节点即可

资源故障检测

说明

Keepalived通过在配置文件中添加script来实现对服务状态的检测和故障切换

在global配置段外定义脚本或者shell命令,然后再virtual_server配置段中调用脚本,最后根据脚本的执行结果(成功或失败) 来增加或减少当前的节点的优先级,因为keepalived是根据优先级来判断是否为主节点 所以当优先级低时则就成为备份节点 从而将VIP飘动到优先级高的主节点上 实现了对其他服务的高可用

script配置及调用说明:

vrrp_script chk_nginx {                 # chk_nginx为自定义的vrrp脚本名称 后续调用需要此名称
       script "killall -0 sshd"         # 执行的脚本或命令
       interval 2                       # 监测的时间间隔 单位:秒 默认:1秒
       weight -4                        # 此值默认为0 范围:-253~253 ,
        # 如果此值为负数 则代表当上面的脚本或命令执行失败时($?结果为非0) 则将本节点的优先级减去定义的值;
        # 如果此值为正数 则代表当上面的脚本或命令执行成功时($?结果为0) 则将本节点的优先级加上定义的值
       fall 2                           # 脚本或命令执行几次失败后 将本节点标记为失败(进而进行减优先级操作)
       rise 2                           # 脚本或命令执行几次成功后 将本节点标记为成功(进而恢复节点)
       user USERNAME                    # 以什么用户身份执行脚本
}

vrrp_instance VI_1 {
...
    track_script {
       script_name
    }
}

节点配置

本次使用两台虚拟机和一个虚拟IP进行配置:
主节点192.168.25.23
备节点192.168.25.24
虚拟IP192.168.25.10

  1. 主节点配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV23
}

vrrp_script check_nginx {
       script "/etc/keepalived/check_nginx.sh"
       interval 2
       weight -30
       fall 2
       rise 2
}

vrrp_instance VI_1 {
    state MASTER
    interface enp1s0
    virtual_router_id 86
    priority 100
    unicast_src_ip 192.168.25.23
    unicast_peer {
    192.168.25.24
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }

        track_script {
                check_nginx
    }
}
  1. 备节点配置内容:
! Configuration File for keepalived

global_defs {
   router_id PV24
}

vrrp_script check_nginx {
       script "/etc/keepalived/check_nginx.sh"
       interval 2
       weight -30
       fall 2
       rise 2
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp1s0
    virtual_router_id 86
    priority 80
    unicast_src_ip 192.168.25.24
    unicast_peer {
    192.168.25.23
    }
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.10
    }

        track_script {
                check_nginx
    }

}
  1. 配置检测脚本

分别在主节点和备节点编辑脚本,编辑:
vim /etc/keepalived/check_nginx.sh
脚本内容为:\

#!/bin/sh
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
#    nginx          # 此处为展示效果,在nginx出现故障后,注释不重启nginx。
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

为脚本添加执行权限:
chmod +x /etc/keepalived/check_nginx.sh

验证

正常状态
  1. 浏览器访问虚拟IP:192.168.25.10
  2. 页面显示实际访问地址为192.168.25.23,当前为正常状态,无论刷新多少次均显示为主节点提供服务。
    主备正常
nginx服务故障
  1. 停止主节点nginx服务,主节点执行;
    killall nginx
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.24,当前由于主节点资源故障,权重-30,优先级低于备用节点,备用节点启用,接管VIP流量。
    主备故障
nginx服务恢复

故障恢复

  1. 重新启动主节点nginx服务;
    nginx
  2. 浏览器访问虚拟IP:192.168.25.10
  3. 页面实际访问地址为192.168.25.23,主节点nginx恢复,权重恢复,优先级高于备用节点,重新接管VIP流量。
    主备恢复

标签:nginx,部署,Keepalived,keepalived,192.168,访问,集群,IP,节点
From: https://www.cnblogs.com/lvzb86/p/17068701.html

相关文章

  • 前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
    前后端分离项目知识汇总​​前言​​​​整合Gateway网关​​​​网关相关配置​​​​全局Filter​​​​自定义异常处理​​​​整合配置中心​​​​为什么需要配置中心......
  • Linux环境安装go部署运行gin框架
    1、Centos7.9解压安装go1.18[root@node0109:21:08/usr/local]#cd/usr/local/&&tarxfgo1.18.1.linux-amd64.tar.gz2、添加环境变量vim/etc/profileexportG......
  • k8s 单节点部署
    k8s单节点部署参考kubeasz:https://github.com/easzlab/kubeasz/blob/master/docs/setup/quickStart.mddashboard:https://github.com/easzlab/kubeasz/blob/master......
  • 不背锅运维:一文搞清楚应用发布到k8s集群的基本流程
    1.使用yaml文件创建资源对象❝每种资源的apiVersion和kind可通过kubectlapi-resources命令进行查看❞tantianran@test-b-k8s-master:~$ kubectl api-resources......
  • ubuntu下安装kafka集群connector
    1.首先安装kafka集群,安装步骤参考链接如下:2.创建安装connector安装目录mkdir-p/kafka/kafka-1/kafka_2.12-2.2.1/connector-pluginmkdir-p/kafka/kafka-2/kafka_2.12......
  • ubuntu下安装zookeeper和kafka伪集群
    1.创建目录mkdir-p/zookeeper/zkp-1/zookeeper/zkp-2/zookeeper/zkp-32.下载zookeeper链接地址:​​​http://mirror.bit.edu.cn/apache/zookeeper/​​​命令下载:c......
  • docker部署netcore项目
    1.部署历史猿友们好,作为初来实习的我,已经遭受社会的“毒打”,所以请容许我在下面环节适当吐槽,3Q!传统部署​ 回顾以往在服务器部署webapi项目(非独立发布),dotnet环境、守......
  • 如何在 Kubernetes 部署 PostgreSQL
    文章目录​​1.简介​​​​2.条件​​​​3.helm部署posgresql​​​​3.1添加Helm存储库​​​​3.2默认安装​​​​3.3选参安装​​​​3.4持久存储安装​​......
  • cephfs的部署和使用
      cephfs使用  cephFS即cephfilesystem,可以实现文件系统共享功能(POSIX标准),客户端通过ceph协议挂载并使用ceph集群作为数据存储服务器,https://docs.ceph.c......
  • onnx模型部署(一) ONNXRuntime
        通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用Pytorch,有的同学喜欢使用TensorFLow,也有的喜欢MXNet,以及深度学习最开始流行的Caffe等等,这样不......