私有化部署
作者:chonlon
更新于:2023.05.22
本文主要介绍了分形三维的私有化部署的相关内容。
产品概览
这里主要是分形三维的不同产品的看图纸的示意图,其中,SaaS 指的是我们的在线服务,私有化部署指的是我们服务的私有化部署版本。
公有云版本
公有云版本请在 这里 查看具体细节。
K3S 版本
K3S 版本请在 这里 查看具体细节。
API 概览
本节主要是分形三维的 API 使用概览。
服务架构
调用时序
注意事项
-
ApiKey 与 ApiToken 所有 api 调用都需要有一个 api key 或者 api token,为了安全考虑,最好不要将 api key 或者 api token 暴露在前端,可以将其放在后端,然后通过后端的 api 来调用分形三维的 api 获取 token。
-
服务地址 默认的服务地址是
fratal.serving
以及fractal.s3
,您可以在安装的时候指定服务地址。对于非公网域名,需要将其加入到 hosts 文件中或者私有的 dns 服务,以便能够正常访问。请注意:直接使用 ip 地址访问是不行的,因为服务端会根据域名进行路由。
K3S
系统和硬件要求
在开始安装前,你需要确保你的硬件设备和操作系统满足以下要求:
硬件要求
- CPU:至少有 8 个核心,架构为 amd64(x64)
- 内存:至少有 32 GiB
- 硬盘:至少有 500 GiB 的存储空间
操作系统要求
- Ubuntu:版本 20.04 或更高
- Arch Linux:滚动版本发布于 2023.06 或之后
- CentOS:版本 8 或更高,CentOS 用户请留意此处
获取和理解安装包
安装分形三维需要获取一个安装包,这个安装包由分形三维客服提供。安装包中包含了以下文件:
bin/manage
:这是安装程序的主要执行文件config.template.yaml
:这是一个示例配置文件,列出了所有可配置的选项及其含义fractal-<version>-amd64-airgap.tar.gz
:这是安装包,用于实际安装程序
安装过程
分形三维的安装过程分为四个主要步骤:安装、校验安装状态、校验网络状态和运行 Demo 进行校验。
安装
安装过程主要使用 bin/manage
程序,详细命令如下:
./bin/manage ai <package> --values <config.yaml>
:这条命令将使用给定的配置文件进行安装。请注意,此命令默认以升级方式进行安装,意味着如果已经安装过,则配置文件不会被覆盖,包括数据库密码等配置。如果需要改变配置,推荐先卸载再重新安装。./bin/manage ai <package> --values <config.yaml> --force-overwrite
:如果需要重新安装并覆盖已有的配置,可以添加--force-overwrite
参数。
校验安装状态
安装完成后,可以使用 ./bin/manage status
命令查看安装状态。如果安装成功,对应的 POD 会显示为 Running
状态。
校验网络状态
安装完成后,可以使用 ./bin/manage network
命令查看网络状态。如果列出的 ingress 的 address 已经绑定,并且 hosts 为配置中设置的域名,则网络配置成功。
运行 Demo 进行校验
安装并配置完成后,我们建议运行一个 demo 来验证服务的整体状态。
配置网络和 HTTPS
我们的系统默认使用 HTTP,但是你可以选择自行配置 HTTPS。配置 HTTPS 需要在 ingress 中配置 tls 项目。一种通用的方案是使用 cert-manager。
运维操作
重启服务
使用 sudo systemctl restart k3s
命令重启分形三维后端服务。
卸载服务
使用 sudo ./dist/bin/manage uk3
卸载分形三维后端服务。
常见问题与解决方案
CentOS 系统常见问题
如果遇到下列问题,可尝试提供的解决方案:
- 安装过程中提示 k3s-selinux 未安装:按照命令行提示,安装缺失的 container-selinux 和 k3s-selinux
- 安装过程中提示 k3s/kubectl 找不到命令:手动将 k3s、 kubectl 和 helm 从 /usr/local/bin 目录复制到到 /usr/bin 目录
- 安装过程中提示“the server is currently unable to handle the request":关闭防火墙,
sudo systemctl stop firewalld.service
- 或者您可以找到安装完成以后 Kubernetes 的 API Server 的 IP,然后将它添加到防火墙的白名单中。
使用外部存储服务
如果你想使用外部的存储服务,例如 S3,你可以在配置文件中更改 S3 的配置以指向你具体部署的存储服务。
公有云
安装系统要求
硬件要求
后端部分至少需要一台机器作为 Node。要求如下:
项目 | 要求 |
---|---|
CPU | 4 核心以上 amd64(x64) |
内存 | 16 GiB 以上 |
硬盘 | 500GiB 以上 |
软件要求
后端部分
系统软件环境 | 要求 |
---|---|
kubelet | 安装时需要 kubelet 已经配置为可以直接执行,也就是 KUBECONFIG 环境配置完成 |
helm | 安装时需要 helm 已经配置为可以直接执行,也就是 KUBECONFIG 环境配置完成 |
网络 | 安装时需要联网 |
安装流程
1. 下载安装包
请在 下载页面 下载最新的安装包。
2. 安装
安装包内文件清单: - bin/manage
:这是安装程序的主要执行文件 - config.template.yaml
是安装示例配置文件(config.yaml),此处描述了所有可配置项以及含意。 - fractal-<version>-amd64-online.tar.gz
是安装包(package)
使用方式: - ./bin/manage install <package> --values <config.yaml>
- 请注意,install 默认是以升级方式安装,即如果已经安装过,配置文件不会被覆盖,也就是设置的 数据库密码以及 postgresql 的密码等不会不覆盖,如果希望修改,请参考此处修改配置文件 - 如果希望重新安装,可以使用 ./bin/manage install <package> --values <config.yaml> --force-overwrite
- ./bin/manage --help
查看更多使用方式
3. 校验安装状态
安装完成后,可以通过以下命令查看安装状态: - ./bin/manage status
如果安装成功,会显示如下信息:
如果安装成功,对应的 POD 会显示为 Running
状态,如下所示:
NAME READY STATUS RESTARTS AGE
kn-blade-3o-00004-deployment-7c48fc7f6f-q89jb 2/2 Running 2 (19h ago) 2d
portal-5d9ccb5bc-xp7sk 1/1 Running 2 (19h ago) 4d4h
kn-blade-i-00003-deployment-796b4f87c-zp84b 2/2 Running 2 (19h ago) 2d
fractal-redis-master-0 1/1 Running 2 (19h ago) 4d23h
seaweedfs-volume-0 1/1 Running 2 (19h ago) 4d23h
seaweedfs-master-0 1/1 Running 2 (19h ago) 4d23h
turbine-64ccd64477-d9qmf 1/1 Running 5 (19h ago) 4d23h
hub-6d94d56c98-8p4xs 1/1 Running 5 (19h ago) 4d23h
seaweedfs-filer-0 1/1 Running 2 (19h ago) 4d23h
seaweedfs-s3-676bb4d48f-g2lpj 1/1 Running 2 (19h ago) 4d23h
cabin-85fcb7fc76-xsd8j 1/1 Running 6 (19h ago) 4d23h
fractal-tmpost-0 1/1 Running 2 (19h ago) 4d23h
4. 校验网络状态
安装完成以后,可以通过以下命令查看网络状态: - ./bin/manage network
如果列出的 ingress 的 address 已经绑定,且 hosts 为配置中设置的域名,说明网络配置成功,如下所示:
如果列出的 ingress 的 address 已经绑定,并且 hosts 为配置中设置的域名,则网络配置成功。
5. 运行 demo 进行校验
我们推荐用户在安装完成后,运行 demo 进行校验。
进阶配置
网络配置
我们的系统默认使用 HTTP 提供服务(我们也不能直接向您提供 https 所需的密钥,这样不安全),但是你可以选择自行配置。配置方式为:在 ingress 中配置 tls 项目。另外一种通用的方案是使用 cert-manager。
API 手册
本节主要是所有分形三维的 API 明细。 此处是分形三维中你需要注意的所有 api。