【问题标题】:Kubernetes Engine (GCP), how to change Arguments?Kubernetes Engine (GCP),如何更改参数?
【发布时间】:2021-01-01 19:09:32
【问题描述】:
我正在使用 Google Cloud Platform 的 Kubernetes Engine 的“工作负载”服务来部署我的应用程序。
单击部署后,我可以在“Cloud Build”中看到 GCP 启动了哪些命令:
当前构建命令为:build -t gcr.io/ma...g:9e4dab3 -d Dockerfile
有没有办法改变构建命令?点赞:build -t gcr.io/ma...g:9e4dab3 -d Dockerfile --build-arg APP_ENV=dev
【问题讨论】:
标签:
kubernetes
google-cloud-platform
google-kubernetes-engine
【解决方案1】:
工作负载是一项测试版功能,不包含任何添加或修改构建命令的选项,您可以为此功能打开feature request。
作为一种解决方法,您可以使用 Cloud build 直接创建映像并将其存储在 Container Registry 中,并包含映像所需的所有参数。
此外,您可以创建一个构建来自动执行此过程,例如:
steps:
#Building Red Velvet Image
- name: 'gcr.io/cloud-builders/docker'
id: build-redvelvet
args:
- build
- --tag=${_RV}:$SHORT_SHA
- --tag=${_RV}:latest
- --build-arg APP_ENV=dev
- .
dir: 'redvelvet/'
#Pushing Red Velvet Image
- name: 'gcr.io/cloud-builders/docker'
id: push-redvelvet
args:
- push
- ${_RV}
#Deploying to GKE
- name: "gcr.io/cloud-builders/gke-deploy"
id: deploy-gke
args:
- run
- --filename=something.yaml
- --location=${_COMPUTE_ZONE}
- --cluster=${_CLUSTER_NAME}
#Update Red Velvet Image
- name: 'gcr.io/cloud-builders/kubectl'
id: update-redvelvet
args:
- set
- image
- deployment/redvelvet-deployment
- redvelvet=${_RV}:$SHORT_SHA
env:
- 'CLOUDSDK_COMPUTE_ZONE=${_COMPUTE_ZONE}'
- 'CLOUDSDK_CONTAINER_CLUSTER=${_CLUSTER_NAME}'
waitFor:
- deploy-gke
substitutions:
_RV: gcr.io/${PROJECT_ID}/redvelvet
_CLUSTER_NAME: something
_COMPUTE_ZONE: us-central1