我创建了一个Kubernetes部署,其中包含由模板定义的Pod。我需要更新Pod定义以包括准备就绪和生动的探针,因为据我所知,模板不允许创建这些探针。有什么想法吗?
部署的问题在于,它不允许我添加探针定义。如果我使用如下所示的探针定义:
apiVersion: apps/v1
kind: Deployment
metadata:
name: <appdeployment>
labels:
app: <appname>
spec:
replicas: 3
selector:
matchLabels:
app: <appname>
template:
metadata:
labels:
app: <appname>
spec:
containers:
- image: "registry.hub.docker.com/imagename"
name: <appname>-image
readinessProbe:
httpGet:
path: /healthz
port: 80
initialDelaySeconds: 90
periodSeconds: 5
failureThreshold: 20
ports:
- containerPort: 80
protocol: TCP
resources:
requests:
cpu: 1000m
limits:
cpu: 4000m
它失败并显示以下错误:错误解析.yaml:将YAML转换为JSON时发生错误:yaml:第22行:找到了无法启动任何令牌的字符
该行是就绪探针的定义。
答案 0 :(得分:1)
您可以使用命令kubectl get deployment deploymentname -n namespacename -o yaml > deployment.yaml
将打开一个编辑器,您可以在其中编辑yaml以添加准备就绪探针和活动探针,并将其保存直接将更改应用于集群。
或者,您可以使用kubectl apply -f deployment.yaml
将部署保存在yaml文件中,并对其进行编辑以添加准备就绪探针和活动探针,然后{{1}}将更改部署到集群。
答案 1 :(得分:0)
您可以使用:
kubectl edit deploy <deployment name> --namespace <namespace name>
然后内联
答案 2 :(得分:0)
感谢所提供的一切。你不能救我脱离我自己。这是我从Textpad剪切和粘贴中引入的一个非法字符,它位于空白区域。我应该先检查一下。抱歉打扰了。