gpt4 book ai didi

bash - 字段是不可变的 k8s

转载 作者:行者123 更新时间:2023-12-02 07:17:56 24 4
gpt4 key购买 nike

我正在尝试将应用程序部署到 kubernetes 上的 GCP,但是,部署失败并显示错误 the job spec is invalid ... the field is immutable .

在迁移作业中,我有一段 bash 格式如下:

args:
- |
/cloud_sql_proxy -instances=xxxxxxxxxxx:europe-west1:xxxxxxxxxxx=tcp:5432 -credential_file=/secrets/cloudsql/credentials.json -log_debug_stdout=true &
CHILD_PID=$!
(while true; do echo "waiting for termination file"; if [[ -f "/tmp/pod/main-terminated" ]]; then kill ; echo "Killed as the main container terminated."; fi; sleep 1; done) &
wait
if [[ -f "/tmp/pod/main-terminated" ]]; then exit 0; echo "Job completed. Exiting..."; fi

但是当文件被执行时,在 GCP 上的 yaml 中,我看到该命令已用引号括起来,然后它返回上述错误。

最佳答案

我收到消息 the job spec is invalid ... the field is immutable出于不同的原因,想在这里简单分享一下。

我试图应用这个 yaml 文件:

apiVersion: extensions/v1beta1
kind: Deployment
spec:
selector:
matchLabels:
app: application-name
...

事实证明,这个 yaml 将替换同一部署的先前版本。当我跑 kubectl get deployment application-name -o yaml我看见了这个:
apiVersion: extensions/v1beta1
kind: Deployment
spec:
selector:
matchLabels:
app: application-name
track: stable
...

显然是 spec.selector.matchLabels当前是一个数组,我试图用单个字符串替换它。我的修复是删除部署并重新部署它。

关于bash - 字段是不可变的 k8s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56264165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com