我有一个小的cloudbuild.yaml
文件,在其中构建Docker映像,将其推送到Google container registry(GCR),然后将所做的更改应用于我的Kubernetes集群。看起来像这样:
steps:
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: [
'-c','docker pull gcr.io/$PROJECT_ID/frontend:latest || exit 0'
]
- name: "gcr.io/cloud-builders/docker"
args:
[
"build","-f","./services/frontend/prod.Dockerfile","-t","gcr.io/$PROJECT_ID/frontend:$REVISION_ID","gcr.io/$PROJECT_ID/frontend:latest",".",]
- name: "gcr.io/cloud-builders/docker"
args: ["push","gcr.io/$PROJECT_ID/frontend"]
- name: "gcr.io/cloud-builders/kubectl"
args: ["apply","kubernetes/gcp/frontend.yaml"]
env:
- "CLOUDSDK_COMPUTE_ZONE=europe-west3-a"
- "CLOUDSDK_CONTAINER_CLUSTER=cents-ideas"
- name: "gcr.io/cloud-builders/kubectl"
args: ["rollout","restart","deployment/frontend-deployment"]
env:
- "CLOUDSDK_COMPUTE_ZONE=europe-west3-a"
- "CLOUDSDK_CONTAINER_CLUSTER=cents-ideas"
构建顺利进行,直到最后一步。 args: ["rollout","deployment/frontend-deployment"]
。它具有以下日志输出:
Already have image (with digest): gcr.io/cloud-builders/kubectl
Running: gcloud container clusters get-credentials --project="cents-ideas" --zone="europe-west3-a" "cents-ideas"
Fetching cluster endpoint and auth data.
kubeconfig entry generated for cents-ideas.
Running: kubectl rollout restart deployment/frontend-deployment
error: unknown command "restart deployment/frontend-deployment"
See 'kubectl rollout -h' for help and examples.
据称restart
是未知命令。但是当我手动运行kubectl rollout restart deployment/frontend-deployment
时,它可以工作。
如何解决此问题?