当前位置: 首页 > 知识库问答 >
问题:

更新pod定义以定义现有kubernetes部署的准备就绪探测

师俊健
2023-03-14

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

该行是就绪情况探测器的定义。

共有3个答案

韩捷
2023-03-14

感谢所有提供的。你救不了我。这是一个非法字符,是我从Textpad中剪切和粘贴引入的,位于空白处。我应该先检查一下。对不起,麻烦了。

宣煜
2023-03-14

您可以使用:

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

并做内联

邵奇
2023-03-14

可以使用命令 kubectl 编辑部署名称 -n 命名空间名称,这将打开一个编辑器,您可以在其中编辑 yaml 以添加就绪情况探测和活动探测,保存它将直接将更改应用到群集。

或者,您可以使用< code > ku bectl get deployment deployment name-n namespace name-o YAML

 类似资料:
  • 我遇到了一个问题: 获取健康检查以成功。尝试使用容器本机负载平衡(CNLB)时,在IIS容器中运行的Net app。 我有一个网络endpoint组(NEG),由GKE中的入口资源定义和VPC本机集群创建。 当我通过公开NodePort或制作LoadBalancer类型的服务来规避CNLB时,站点会毫无问题地解决。 所有的吊舱条件从一个描述看起来不错:吊舱准备就绪 运行时会显示网络endpoint

  • 在上使用helm upgrade命令运行容器时,出现了以下错误: “准备探测失败:获取http://172.17.0.6:3003/:拨号tcp 172.17.0.6:3003:GetSockopt:连接拒绝”。

  • 1)kafka消息已被我的应用程序使用并保存到数据库中。 2)无法访问rest api。 我假设如果Pod的准备探测失败,应用程序既不能接收kafka消息,也不能接收rest请求。但为什么在我的测试中,REST请求和Kafka消息的处理方式不同。 根据Kubernete文档:

  • 我正在使用Spring开发一个服务,并将其部署在OpenShift上。目前,我正在使用Spring Actuctor health endpoint作为Kubernetes的活跃度和就绪度探测器。 但是,我将在执行器健康endpoint中添加一个对另一个服务的调用,在这种情况下,我认为我需要为我的服务实现新的活跃度探测。如果我不这样做,那么第二个服务的失败将导致活跃度探测失败,Kubernetes

  • 我使用的是标准的skydns RC/SVC YAMLS。 吊舱描述: (etcd) 我还将放入kube2sky容器中,ca.crt与服务器上的ca.crt匹配。

  • 给出一个Python应用程序,它在无限循环中轮询Kafka主题,并在处理接收到的Kafka消息后将结果上传到s3 bucket。 null 并且活性探测只检查轮询循环是否尚未退出。 严格来说,在准备调查中检查这样的事情是不好的做法吗?