Rasa项目部署指南:使用Helm在Kubernetes/OpenShift上部署对话机器人

Rasa项目部署指南:使用Helm在Kubernetes/OpenShift上部署对话机器人

rasa rasa: 是一个开源的聊天机器人框架,支持自然语言理解和生成。适合开发者构建智能聊天机器人和对话系统。 rasa 项目地址: https://gitcode.com/gh_mirrors/ra/rasa

前言

在构建对话机器人时,部署是至关重要的一环。本文将详细介绍如何使用Helm在Kubernetes或OpenShift集群上部署Rasa开源版和Rasa Plus版。通过本指南,您将掌握从环境准备到最终部署的完整流程。

部署前准备

1. 环境检查

在开始部署前,请确保您的环境满足以下要求:

Kubernetes/OpenShift CLI检查

# Kubernetes环境检查
kubectl version --short --client

# OpenShift环境检查
oc version --client

如果上述命令报错,说明您需要安装对应的命令行工具。请根据您使用的集群类型安装相应的CLI工具。

集群连接验证

# Kubernetes集群验证
kubectl version --short

# OpenShift集群验证
oc version

如果命令执行报错,说明您尚未连接到集群,需要联系集群管理员或查阅云服务商文档获取连接方法。

2. Helm工具安装

Helm是Kubernetes的包管理工具,我们需要确保已安装正确版本:

helm version --short

建议使用Helm 3.5及以上版本。如果未安装或版本过低,请先升级安装。

部署流程详解

1. 创建命名空间

为避免影响现有集群部署,建议为Rasa创建独立的命名空间:

# Kubernetes环境
kubectl create namespace <your-namespace>

# OpenShift环境
oc create namespace <your-namespace>

2. 准备配置文件

创建名为rasa-values.yml的配置文件,用于自定义Helm安装参数。该文件将包含所有自定义配置项,如资源限制、环境变量等。

3. 初始模型配置

首次部署时,您可以选择以下三种方式加载初始模型:

  1. 使用默认示例模型:无需任何配置,Helm会自动下载GitHub上的示例模型。

  2. 指定自定义模型URL

applicationSettings:
  initialModel: "https://your-model-server/models/model.tar.gz"
  1. 训练新模型
applicationSettings:
  trainInitialModel: true

4. 执行部署命令

完成上述准备后,执行以下命令进行部署:

# 添加Rasa Helm仓库
helm repo add rasa https://helm.rasa.com

# 执行部署
helm install \
    --namespace <your-namespace> \
    --values rasa-values.yml \
    <release-name> \
    rasa/rasa

Rasa Plus版特殊配置

如果您使用的是Rasa Plus版,需要进行额外配置:

1. 创建镜像拉取密钥

kubectl --namespace <your-namespace> \
    create secret docker-registry rasa-plus-pull-secret \
    --docker-server=https://europe-west3-docker.pkg.dev \
    --docker-email=your-email@example.com \
    --docker-username=_json_key \
    --docker-password="$(cat <credentials-file>.json)"

2. 存储许可证密钥

# 创建许可证密钥文件
echo "<your-license-key>" > license.txt

# 创建Kubernetes secret
kubectl -n <your-namespace> create secret generic rasapro-license --from-file=licensekey=./license.txt

# 删除本地文件
rm license.txt

3. 更新values.yml配置

registry: europe-west3-docker.pkg.dev/rasa-releases/rasa-plus/rasa-plus
command:
  - rasa
image:
  name: rasa-plus
  tag: <version>
  pullSecrets:
    - name: rasa-plus-pull-secret
extraEnv:
  - name: RASA_PRO_LICENSE
    valueFrom:
      secretKeyRef:
        name: rasapro-license
        key: licensekey

访问部署的Rasa助手

默认情况下,Rasa服务仅在集群内部可访问。您可以通过以下方式访问:

1. 端口转发方式

# 获取服务端口
export SERVICE_PORT=$(kubectl get --namespace <namespace> -o jsonpath="{.spec.ports[0].port}" services <release-name>)

# 设置端口转发
kubectl port-forward --namespace <namespace> svc/<release-name> ${SERVICE_PORT}:${SERVICE_PORT} &

访问地址:http://127.0.0.1:${SERVICE_PORT}

2. NodePort方式

  1. 修改配置:
service:
  type: "NodePort"
  1. 升级部署:
helm upgrade --namespace <namespace> --reuse-values -f rasa-values.yaml <release-name> rasa/rasa
  1. 获取访问信息:
export NODE_PORT=$(kubectl get --namespace <namespace> -o jsonpath="{.spec.ports[0].nodePort}" services <release-name>)

OpenShift特殊注意事项

在OpenShift环境中,如果遇到权限问题,请在values.yml中添加以下配置:

postgresql:
  volumePermissions:
    securityContext:
      runAsUser: "auto"
  securityContext:
    enabled: false
  shmVolume:
    chmod:
      enabled: false
nginx:
  image:
    name: nginxinc/nginx-unprivileged
    port: 8080

后续步骤

部署完成后,您可以:

  1. 监控部署状态
  2. 配置自动扩缩容
  3. 设置持续集成/持续部署(CI/CD)流程
  4. 配置监控和日志收集

通过本指南,您应该已经成功在Kubernetes/OpenShift集群上部署了Rasa对话机器人。根据实际需求,您可以进一步优化配置,如设置资源限制、配置健康检查等。

rasa rasa: 是一个开源的聊天机器人框架,支持自然语言理解和生成。适合开发者构建智能聊天机器人和对话系统。 rasa 项目地址: https://gitcode.com/gh_mirrors/ra/rasa

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏旦谊Free

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值