我试图修补部署,但我不断点击部署。extensions/velero not patched.
我尝试了以下几种不同的变体:
kubectl patch deployment velero -n velero -p '{"spec":{"containers":[{"env":[{"name":"AWS_CLUSTER_NAME","value":"test-cluster"}]}]}}'
我的初始部署.yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: velero
labels:
app.kubernetes.io/name: velero
app.kubernetes.io/instance: velero
app.kubernetes.io/managed-by: Tiller
helm.sh/chart: velero-2.1.1
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/instance: velero
app.kubernetes.io/name: velero
template:
metadata:
labels:
app.kubernetes.io/name: velero
app.kubernetes.io/instance: velero
app.kubernetes.io/managed-by: Tiller
helm.sh/chart: velero-2.1.1
spec:
restartPolicy: Always
serviceAccountName: velero-server
containers:
- name: velero
image: "gcr.io/heptio-images/velero:v1.0.0"
imagePullPolicy: IfNotPresent
command:
- /velero
args:
- server
volumeMounts:
- name: plugins
mountPath: /plugins
- name: cloud-credentials
mountPath: /credentials
- name: scratch
mountPath: /scratch
env:
- name: AWS_SHARED_CREDENTIALS_FILE
value: /credentials/cloud
- name: VELERO_SCRATCH_DIR
value: /scratch
volumes:
- name: cloud-credentials
secret:
secretName: cloud-credentials
- name: plugins
emptyDir: {}
- name: scratch
emptyDir: {}
我现在有点卡住了,担心我可能会走错路。任何建议都将不胜感激。
5条答案
按热度按时间57hvy0tb1#
除了kubectl patch命令外,您还可以使用kubectl set env来更新k8s部署的环境变量。
希望这个有用。
o7jaxewo2#
您已经在
default
命名空间中部署了velera部署,并且正在尝试在velera
命名空间中打补丁。此外,您的修补程序字符串无效。请尝试以下修补程序:
**注意:**我的客户端和服务器版本是:
7z5jn7bk3#
当您正在修补部署时,命令中用于修补的JSON不准确。您可能需要尝试以下操作:
kubectl patch deployment velero -p '{"spec":{"template":{"spec":{"containers":[{"env":[{"name":"AWS_CLUSTER_NAME","value":"test-cluster"}]}]}}}}'
cwxwcias4#
除
patch
外,还有另一个选项可用于更改现有部署中的值。也可以执行编辑命令,对YAML格式的值进行新增、修改,然后保存即可。
或者,如果您不喜欢
vi
,也可以使用nano5vf7fwbs5#
根据容器名称选择容器,并更新其中一个环境变量
使用bash变量