【问题标题】:Updating pod definition to define readiness probe on existing kubernetes deployment更新 pod 定义以在现有 kubernetes 部署上定义就绪探测
【发布时间】:2020-04-16 04:23:31
【问题描述】:

我创建了一个 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 行:找到无法启动任何令牌的字符

那一行是就绪探测的定义。

【问题讨论】:

    标签: kubernetes kubernetes-pod azure-aks


    【解决方案1】:

    您可以使用命令kubectl edit deployment deploymentname -n namespacename 将打开一个编辑器,您可以在其中编辑 yaml 以添加就绪探针和活跃度探针,保存它将直接将更改应用到集群。

    或者,您可以使用kubectl get deployment deploymentname -n namespacename -o yaml &gt; deployment.yaml 将部署保存在 yaml 文件中并对其进行编辑以添加就绪探针和活跃度探针,然后使用kubectl apply -f deployment.yaml 将更改部署到集群。

    【讨论】:

      【解决方案2】:

      你可以使用:

      kubectl edit deploy <deployment name> --namespace <namespace name>
      

      然后内联完成

      【讨论】:

        【解决方案3】:

        感谢所有提供。你不能把我从自己身边救出来。这是一个非法字符,是我从 Textpad 剪切和粘贴时引入的,位于空白处。我应该先检查一下。打扰了。

        【讨论】:

          猜你喜欢
          • 2021-12-03
          • 2020-11-25
          • 1970-01-01
          • 2020-07-14
          • 1970-01-01
          • 2019-12-05
          • 2018-07-10
          • 1970-01-01
          • 2019-07-22
          相关资源
          最近更新 更多