有没有办法service.yaml
使用环境变量设置 Knative 文件中某些键的值?
更多详情
我正在尝试使用 GitLab CI 将 Knative 服务部署到 Kubernetes 集群。我文件中的一些变量service.yaml
取决于 GitLab CI 管道的项目和环境。有没有一种方法可以将这些值无缝插入我的service.yaml
文件中,而无需求助于 hack 之类的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