【发布时间】:2025-12-21 03:50:11
【问题描述】:
有没有办法使用环境变量设置 Knative service.yaml 文件中某些键的值?
更多细节
我正在尝试使用 GitLab CI 将 Knative 服务部署到 Kubernetes 集群。我的service.yaml 文件中的一些变量取决于 GitLab CI 管道的项目和环境。有没有办法可以将这些值无缝插入到我的service.yaml 文件中,而无需诉诸sed -i ... 之类的黑客手段?
例如,给定以下脚本,我希望将 $(KUBE_NAMESPACE)、$(CI_ENVIRONMENT_SLUG) 和 $(CI_PROJECT_PATH_SLUG) 值替换为相应命名的环境变量。
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: design
namespace: "$(KUBE_NAMESPACE)"
spec:
template:
metadata:
name: design-v1
annotations:
app.gitlab.com/env: "$(CI_ENVIRONMENT_SLUG)"
app.gitlab.com/app: "$(CI_PROJECT_PATH_SLUG)"
spec:
containers:
- name: user-container
image: ...
timeoutSeconds: 600
containerConcurrency: 8
【问题讨论】:
标签: kubernetes gitlab-ci knative