# 系统部署
使用 helm 部署 FogEdge
# 1 配置要求
# 架构
- x86_64
- armhf
- arm64/aarch64
# 操作系统
支持大多数现代 Linux 系统
# 硬件
spec | 最低 |
CPU | 1 核 |
RAM | 1GB |
# 镜像地址
registry.cn-shanghai.aliyuncs.com/fogcloud/fogcore:latest
registry.cn-shanghai.aliyuncs.com/fogcloud/fogagent:latest
registry.cn-shanghai.aliyuncs.com/fogcloud/fogevent:latest
registry.cn-shanghai.aliyuncs.com/fogcloud/mqtt-webhook
# 2 安装前准备
# 3 获取 chart
helm repo add fogedge-charts https://fogcloud-io.github.io/fogedge-charts
helm repo update
helm pull fogedge-charts/fogedge --untar
运行后在当前目录会生成fogedge-charts
文件夹
# 4 安装
拷贝
fogedge-charts
目录的values.yaml
文件,并命名为myvalues.yaml
编辑
myvalues.yaml
文件,参考配置说明安装 fogedge-charts
export NAMESPACE_NAME=fogedge
export RELEASE_NAME=fogedge
kubectl create namespace ${NAMESPACE_NAME}
helm install -f myvalues.yaml ${RELEASE_NAME} -n ${NAMESPACE_NAME} ./fogedge
- 升级 fogedge-charts
helm upgrade -f myvalues.yaml ${RELEASE_NAME} -n ${NAMESPACE_NAME} ./fogedge
# 5 卸载
helm uninstall ${RELEASE_NAME} -n ${NAMESPACE_NAME}
注意:默认启用了 helm 的资源保留,卸载时不会释放 persistent volume 资源;
# 附录
# 安装参数说明
配置项 | 说明 | 默认值 |
| 镜像拉取策略 |
|
expose | ||
| 如何暴露服务: 、 、 或 ,其他值将被忽略,服务的创建将被跳过。 |
|
| 不安全的 oss 下载 |
|
| api 服务域名,用于前端服务访问后端 api |
|
| mqtt 服务域名,用于前端服务访问 mqtt-websocket 服务 |
|
| 是否启用 HTTP 接口 tls |
|
| api 服务证书的来源: 或 ;1) :生成自签名证书;2) :手动设置证书 |
|
| api 服务所用证书对应的 k8s secret 资源名 |
|
| 当 = 时,用于生成 x509 证书 |
|
| 当 = 时,用于生成 x509 证书 |
|
| 当 = 时可用,用于设置 ca 证书 | |
| ingress class 资源名 |
|
| ingress controller 类型 |
|
| ingress 注释,可以用来设置 ingress 部分参数 |
|
| web 服务域名,用于 ingress 路由 |
|
| api 服务域名,用于 ingress 路由 |
|
| ||
| 流量策略: 或 ;1) :流量可以转发到其他 k8s 节点的 pod,2) :流量只转发给本机的 pod |
|
| web 服务的 NodePort 端口,可用于外网暴露 web 服务 |
|
| api 服务的 NodePort 端口,可用于外网暴露 api 服务 |
|
| ||
| 流量策略: 或 ;1) :流量可以转发到其他 k8s 节点的 pod,2) :流量只转发给本机的 pod |
|
| 健康检查端口,用于外部 slb 检测 web 服务是否正常运行 |
|
| 健康检查端口,用于外部 slb 检测 api 服务是否正常运行 |
|
imagePullSecrets | ||
| 配置私有镜像仓库源 | |
| 私有镜像仓库地址 |
|
| k8s dockerconfigjson secret 名称 |
|
| 私有镜像仓库用户名 |
|
| 私有镜像仓库密码 |
|
|
| |
fogcore | api 服务相关配置 | |
| pod 重启策略: |
|
| 镜像地址 |
|
| deployment 复制节点数量 |
|
| 应用更新策略: , ;1) 滚动更新;2) 重启更新 |
|
| 应用更新时最大新版本 pod 新增数量比例 |
|
| 应用更新时的最大不可用 pod 数量 |
|
mqttBroker | ||
| mqtt-broker 类型: |
|
| mqtt-broker 镜像 |
|
| ||
| 是否使用已存在的 pvc |
|
| pvc 名称 |
|
| pvc 绑定的 |
|
| 是否启用 pod 节点选择 |
|
| k8s 节点名 | |
| mqtt 应用是否启用 tls | |
| 是否使用证书文件创建 mqtt 应用的 sercret 对象,启用 mqttBroker.internal.tls 时有效;若为 true,可将.crt(证书), .key(密钥)文件放到 fogcloud-charts/configs/cert/mqtt 目录下 |