首页
/ Fission-All Helm Chart 完全指南:在Kubernetes上部署Serverless框架

Fission-All Helm Chart 完全指南:在Kubernetes上部署Serverless框架

2025-07-07 00:54:06作者:霍妲思

什么是Fission?

Fission是一个基于Kubernetes的Serverless函数框架,它允许开发者在Kubernetes集群上快速部署和运行无服务器函数。通过Fission,开发者可以专注于编写业务逻辑代码,而无需关心底层基础设施的管理。

前置准备

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

  • Kubernetes集群版本1.23或更高
  • Helm 3或更高版本已安装并配置

安装Fission-All Helm Chart

1. 添加Helm仓库

首先需要将Fission的Helm仓库添加到本地:

helm repo add fission-charts https://fission.github.io/fission-charts
helm repo update

2. 创建命名空间

Fission需要运行在独立的命名空间中:

export FISSION_NAMESPACE="fission"
kubectl create namespace $FISSION_NAMESPACE

3. 安装CRDs

Fission使用自定义资源定义(CRDs)来管理其资源:

kubectl create -k "github.com/fission/fission/crds/v1?ref={{version}}"

请将{{version}}替换为最新的Fission版本号。

4. 安装Fission-All

使用Helm安装Fission-All图表:

helm install [RELEASE_NAME] fission-charts/fission-all --namespace fission

图表依赖项

Fission-All Helm Chart默认会安装以下依赖项:

  • Prometheus监控组件

如果您不希望安装这些依赖项,可以在安装时通过参数禁用。

卸载Fission-All

要卸载Fission-All,执行以下命令:

helm uninstall [RELEASE_NAME]

注意:卸载操作不会删除CRDs,需要手动清理:

kubectl delete -k "github.com/fission/fission/crds/v1?ref={{version}}"

或者列出所有Fission CRDs并逐个删除:

kubectl get crds| grep ".fission.io"

升级Fission-All

1. 升级CRDs

升级前需要先手动更新CRDs:

kubectl replace -k "github.com/fission/fission/crds/v1?ref={{version}}"

2. 升级Helm Release

helm upgrade [RELEASE_NAME] fission-charts/fission-all

重要版本升级说明

从1.18.x升级到1.20.x

1.20.x版本移除了controller服务。

从1.17.x升级到1.18.x

1.18.x版本对Fission的部署方式进行了重大变更:

  • 新增了defaultNamespaceadditionalFissionNamespacesfunctionNamespacebuilderNamespace参数
  • Fission现在只管理通过defaultNamespaceadditionalFissionNamespaces配置的特定命名空间中的资源

从1.16.x升级到1.17.x

1.17.x版本增加了安全上下文设置,默认情况下Fission会以root用户运行。您可以在安装时启用推荐的安全上下文设置。

从1.15.x升级到1.16.x

1.16.x版本移除了Prometheus依赖,如果需要Prometheus监控,建议使用社区支持的Prometheus图表。

从fission-core迁移

从Fission v1.15.x开始,fission-core图表已被移除。fission-all图表现在与fission-core完全相同,可用于迁移:

helm upgrade [RELEASE_NAME] fission-charts/fission-all --namespace fission

配置选项

要查看所有可配置选项:

helm show values fission-charts/fission-all

您还可以查看此图表依赖项的配置选项。

多实例部署

同一个图表可以在同一集群中运行多个Fission实例,只需为每个实例使用不同的发布名称即可。

最佳实践

  1. 命名空间隔离:建议为Fission创建专用命名空间,避免与其他应用冲突
  2. 资源限制:为Fission组件设置适当的资源请求和限制
  3. 监控集成:建议启用Prometheus监控以获取Fission运行指标
  4. 安全配置:在生产环境中启用安全上下文设置

通过本指南,您应该能够在Kubernetes集群上成功部署和管理Fission Serverless框架。Fission提供了强大的无服务器功能,同时保持了Kubernetes原生集成的优势,是构建现代云原生应用的理想选择。