OpenResty XRay™ 自主部署版 Helm 部署
名称
OpenResty XRay™ 在 Kubernetes 集群上的 Helm 部署
目录
概述
使用 Helm 部署 OpenResty XRay 可以简化 Kubernetes 集群中应用程序生命周期的管理。Helm 使用一种名为 charts 的打包格式。通常部署会用到 Helm 仓库,但目前还没有 OpenResty XRay 的 Helm 仓库支持,我们暂时使用本地 chart 包进行部署。
前提条件
在开始之前,请确保您有以下内容:
- 一个运行中的 Kubernetes 集群。
- Helm CLI 已安装并配置为与您的集群协同工作。
- 有足够的权限在集群中部署应用程序。
- 对于 Kubernetes 集群的存储选项有所了解,这将用于配置持久化存储。
安装
添加 Helm 仓库(目前不支持)
注意:目前不支持添加 OpenResty XRay Helm 仓库。Helm chart 将作为本地包分发。
使用本地 Helm Chart 安装
下载提供给您的 OpenResty XRay Helm chart 包,通常是一个
.tar.gz
文件。在您选择的目录中解压 Helm chart 包。
导航到您已解压 Helm chart 的目录:
cd path_to_directory/orxray
在继续安装之前,配置
values.yaml
文件非常重要,以符合您的环境和需求。
配置
Values.yaml 概述
values.yaml
文件包含了所有可配置的选项,用于 OpenResty XRay Helm chart。检查并修改这个文件以匹配您的特定需求至关重要。
Ingress 配置
如果您打算使用 Ingress 控制器或应用网关,您必须相应地配置 values.yaml
文件中的 Ingress 部分。
ingress:
enabled: true
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
paths: []
hosts:
- host: xray-console.example.com
paths: ["/"]
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
持久卷声明覆盖
对于持久化数据存储,persistentVolumeClaimOverride
部分允许您指定自定义的 storageClassName
和 volumeName
。确保这些值根据您的 Kubernetes 集群中可用的存储选项进行设置。
persistentVolumeClaimOverride:
consoleData:
storageClassName: <your-storage-class-name>
volumeName: <your-volume-name>
资源限制和请求
values.yaml
文件中设置了默认的资源请求和限制,但您可以修改它们以适应您 Kubernetes 节点的工作负载。
resources:
console:
limits:
cpu: "2"
memory: 4Gi
requests:
cpu: "500m"
memory: 512Mi
HTTP Proxy 配置 (可选)
如果你的网络环境要求配置 HTTP 代理才能连接互联网,那么你需要在 values.yaml
中这样配置:
customInfo:
env:
httpProxy: "http://proxyserver.example.com:8080"
httpProxyAuthorization: "Basic `base64 'username:password'`"
部署 OpenResty XRay
当上述配置文件确认修改后,要将 OpenResty XRay 部署到您的 Kubernetes 集群,请执行以下命令:
helm install openresty-xray ./orxray -f ./orxray/values.yaml
运维
检查控制台服务器状态
要检查 OpenResty XRay 控制台服务器的状态,请运行:
kubectl get pods -l "app.kubernetes.io/name=orxray"
查看控制台服务器日志
要查看 OpenResty XRay 控制台服务器的日志:
kubectl logs -l "app.kubernetes.io/name=orxray" -c xray-console
升级组件
要升级 OpenResty XRay,请首先下载最新的 chart 包并解压它。然后运行以下命令:
helm upgrade openresty-xray ./orxray -f ./orxray/values.yaml
请记住,如果您的持久卷声明(PVCs)没有随升级发生变化,则无需删除它们。现有数据将不会受到影响。
总结
使用 Helm 在 Kubernetes 集群中部署 OpenResty XRay 可以简化和规范应用程序部署过程。确保您正确地审核并配置您的 values.yaml
文件,尤其是 Ingress 设置和持久卷声明,以匹配您的集群环境和您的应用程序要求。