openYuanrong 部署指南:K8s 与进程模式的高效实践 openYuanrong 部署指南K8s 与进程模式的高效实践【免费下载链接】yuanrongopenYuanrong runtimeopenYuanrong 多语言运行时提供函数分布式编程支持 Python、Java、C 语言实现类单机编程高性能分布式运行。项目地址: https://gitcode.com/openeuler/yuanrong前往项目官网免费下载https://ar.openeuler.org/ar/openYuanrong 是一个强大的多语言运行时为开发者提供函数分布式编程能力支持 Python、Java、C 语言实现类单机编程高性能分布式运行。本文将为您详细介绍 openYuanrong 的两种核心部署方式Kubernetes 容器化部署和进程模式部署帮助您根据实际需求选择最适合的部署方案。 部署方案概览openYuanrong 提供两种灵活的部署模式适应不同的使用场景进程模式部署- 直接在 Linux 主机上以进程方式运行适合快速开发和测试Kubernetes 部署- 在 K8s 集群上以容器方式运行适合生产环境和云原生架构 快速开始单节点进程模式部署对于学习和开发环境推荐使用进程模式进行单节点部署。这是最简单快捷的入门方式。步骤 1安装 openYuanrong在所有部署主机上安装 openYuanrong 命令行工具yr# 安装 Python 3.9 版本的 openYuanrong pip install https://openyuanrong.obs.cn-southwest-2.myhuaweicloud.com/release/0.8.0/linux/x86_64/openyuanrong-0.8.0-cp39-cp39-manylinux_2_34_x86_64.whl pip install https://openyuanrong.obs.cn-southwest-2.myhuaweicloud.com/release/0.8.0/linux/x86_64/openyuanrong_runtime-0.8.0-cp39-cp39-manylinux_2_34_x86_64.whl pip install https://openyuanrong.obs.cn-southwest-2.myhuaweicloud.com/release/0.8.0/linux/x86_64/openyuanrong_datasystem-0.8.0-cp39-cp39-manylinux_2_34_x86_64.whl步骤 2部署主节点任选一台主机作为主节点执行以下命令yr start --master部署成功后终端会显示从节点加入集群的命令格式如下To join an existing cluster, execute the following commands in your shell on worker nodes: yr start -s values.etcd.address[{ipx.x.x.x,peer_portxxxx,portxxxx}] -s values.ds_master.ipx.x.x.x -s values.ds_master.portxxxx -s values.function_master.ipx.x.x.x -s values.function_master.global_scheduler_portxxxx步骤 3部署从节点可选如果需要多节点集群在其他主机上执行主节点提供的命令yr start --master_address http://主节点IP:端口步骤 4验证部署在主节点上检查集群状态yr status正常情况下ReadyAgentsCount应与实际部署节点数量一致。️ 进程模式详细部署指南架构组件解析openYuanrong 进程模式集群由以下核心组件构成主节点组件function master- 负责拓扑管理、全局函数调度和实例生命周期管理function scheduler- 函数服务调度器frontend- 提供 REST API 用于服务调用meta service- 函数创建和资源池管理 APIdashboard- 运维平台展示集群指标和任务状态etcd- 第三方组件存储集群元数据从节点组件function proxy- 消息转发和本地函数调度function agent- 最小资源单元负责代码包下载和解压runtime manager- 资源采集和函数进程管理data worker- 数据对象存取服务collector- 指标和日志收集器生产环境部署配置对于生产环境建议使用配置文件进行部署。创建配置文件/etc/yuanrong/config.toml[values.etcd] address [ {ip 192.168.1.100, peer_port 2380, port 2379} ] [values.ds_master] ip 192.168.1.100 port 8080 [values.function_master] ip 192.168.1.100 global_scheduler_port 9090 [values.resource] cpu 8 memory 16G然后执行部署yr start高级配置选项进程模式支持丰富的配置选项可以通过配置文件或命令行参数进行调优资源限制为函数运行设置 CPU 和内存配额网络配置自定义端口绑定和网络策略日志管理配置日志级别和存储路径安全设置启用 TLS 加密和访问控制 Kubernetes 容器化部署K8s 部署架构在 Kubernetes 环境中openYuanrong 采用容器化部署每个组件对应特定的 K8s 资源类型主节点 Pod 组件function master- 以 Deployment 形式部署支持一主多备function manager- 租约申请与回收的系统函数meta service- 管理 API 服务IAM adaptor- 多租户鉴权认证可选etcd- 集群元数据存储MinIO- 函数代码包存储可选从节点 Pod 组件function proxy- 以 DaemonSet 形式部署在每个节点function agent- 与 runtime manager 共容器部署data worker- 以 DaemonSet 形式部署Helm Chart 部署openYuanrong 提供完整的 Helm Chart 支持简化 K8s 部署# 添加 Helm 仓库 helm repo add openyuanrong https://charts.openyuanrong.org # 安装 openYuanrong helm install openyuanrong openyuanrong/openyuanrong \ --namespace yuanrong \ --create-namespace \ --set global.image.repositoryopenyuanrong/runtime \ --set global.image.tag0.8.0自定义配置示例通过 values.yaml 文件进行高级配置# deploy/k8s/charts/openyuanrong/values.yaml 配置示例 global: image: repository: openyuanrong/runtime tag: 0.8.0 pullPolicy: IfNotPresent functionMaster: replicaCount: 3 resources: limits: cpu: 2 memory: 4Gi requests: cpu: 1 memory: 2Gi functionProxy: daemonSet: enabled: true resources: limits: cpu: 1 memory: 2Gi storage: etcd: persistence: enabled: true storageClass: standard size: 10Gi 部署模式对比与选择指南进程模式 vs K8s 模式对比特性进程模式K8s 模式部署复杂度简单直接运行中等需要 K8s 环境资源隔离进程级别容器级别更强隔离弹性伸缩手动配置自动弹性伸缩高可用性需手动配置原生支持适用场景开发测试、边缘计算生产环境、云原生应用选择建议选择进程模式当您需要快速原型开发和测试资源受限的边缘环境简单的单机或小规模集群避免容器化开销选择 K8s 模式当您需要生产级高可用部署自动弹性伸缩能力与其他云原生服务集成完善的监控和运维体系 监控与运维Dashboard 可视化监控openYuanrong 提供内置的 Dashboard 组件通过以下方式启用# 进程模式启用 Dashboard yr start --master --enable_dashboard # 或通过配置文件 [values.dashboard] enabled true port 3000Dashboard 提供以下关键功能集群节点状态监控函数实例运行状态资源使用情况统计任务执行日志查看日志收集与分析openYuanrong 支持多种日志输出方式标准输出- 适用于开发和调试文件日志- 生产环境推荐支持日志轮转集中式日志- 集成 ELK 或 Loki 等日志系统配置日志级别[values.log] level INFO # DEBUG, INFO, WARN, ERROR path /var/log/yuanrong max_size 100MB max_backups 10 常见问题与故障排除部署失败排查步骤检查端口冲突# 查看端口占用情况 netstat -tlnp | grep :2379 # etcd 默认端口验证组件健康状态# 检查各组件进程 ps aux | grep yuanrong # 查看组件日志 tail -f /var/log/yuanrong/function_master.log网络连通性检查# 测试节点间通信 ping 其他节点IP telnet 其他节点IP 2379性能优化建议资源分配优化为 function agent 预留足够 CPU 和内存根据工作负载调整数据系统 worker 数量网络配置优化使用高性能网络插件如 Calico、Cilium配置合适的 MTU 大小存储优化使用 SSD 存储提高 etcd 性能配置适当的持久化存储策略 升级与维护平滑升级策略进程模式升级# 停止旧版本 yr stop # 安装新版本 pip install --upgrade openyuanrong-*.whl # 启动新版本 yr start --masterK8s 模式升级# Helm 升级 helm upgrade openyuanrong openyuanrong/openyuanrong \ --namespace yuanrong \ --set global.image.tag新版本号备份与恢复定期备份关键数据etcd 数据备份使用 etcdctl snapshot save配置文件备份保存 /etc/yuanrong/ 目录函数代码包备份 MinIO 或本地存储 最佳实践总结部署最佳实践环境准备确保所有节点时间同步配置正确的 DNS 解析设置合适的 ulimit 值安全配置启用 TLS 加密通信配置网络访问控制定期更新安全补丁监控告警配置 Prometheus 监控设置关键指标告警定期审计日志性能调优技巧资源规划根据工作负载预留 20% 的系统资源为系统组件分配固定的资源配额网络优化使用 RDMA 或高速网络硬件优化容器网络配置存储优化使用本地 SSD 提高 I/O 性能配置合理的缓存策略 扩展与集群管理集群扩展操作增加新节点到现有集群# 在新节点上执行 yr start --master_address http://主节点IP:端口节点维护操作安全移除节点# 在要移除的节点上执行 yr stop # 在主节点上验证节点状态 yr status 结语openYuanrong 提供了灵活多样的部署方案无论是简单的进程模式还是企业级的 Kubernetes 部署都能满足不同场景的需求。通过本文的指南您可以快速搭建开发测试环境部署生产级高可用集群根据业务需求选择合适的部署模式掌握集群运维和故障排查技能记住选择部署模式时需要考虑团队的技术栈、运维能力和业务需求。对于大多数场景建议从进程模式开始随着业务增长逐步迁移到 Kubernetes 部署。开始您的 openYuanrong 分布式计算之旅吧 如有任何部署问题欢迎参考项目文档或社区支持。【免费下载链接】yuanrongopenYuanrong runtimeopenYuanrong 多语言运行时提供函数分布式编程支持 Python、Java、C 语言实现类单机编程高性能分布式运行。项目地址: https://gitcode.com/openeuler/yuanrong创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考