你好,我正在使用github操作部署kubernetes yaml文件。例如,我有下面的部署yaml文件
apiVersion: apps/v1
kind: Deployment
metadata: #Dictionary
name: cepgateway
namespace: "#{KUBERNETES_NAMESPACE}#"
在github操作中,我有不同的任务,比如deploytodev,deploytotest等等。
在deploytodev中,我设置了如下env变量
Deploy-Dev:
runs-on: 'ubuntu-latest'
environment: 'Dev'
env:
KUBERNETES_NAMESPACE: cep-dev
我已经将KUBERNETES_NAMESPACE设置为某个值,并尝试在我的部署中访问yaml
名称空间:"#{KUBERNETES_NAMESPACE} #"
这不起作用并引发错误
from server for: "Kubernetes/ingress.yml": ingresses.networking.k8s.io "cep-ingress" is forbidden: User "system:serviceaccount:serviceaccounts:cep-ci-sa" cannot get resource "ingresses" in API group "networking.k8s.io" in the namespace "#{KUBERNETES_NAMESPACE}#"
我可以知道这是正确的方法吗?有人能帮我解决这个问题吗?任何帮助都将不胜感激。谢谢
1条答案
按热度按时间ebdffaop1#
您可以将envsubst命令与
kubectl apply
步骤结合使用,例如:namespace.yaml
然后
所以
将打印:
在GitHub Action中将其组合为如下所示: