我创建了一个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 行:找到无法启动任何令牌的字符
该行是就绪情况探测器的定义。
感谢所有提供的。你救不了我。这是一个非法字符,是我从Textpad中剪切和粘贴引入的,位于空白处。我应该先检查一下。对不起,麻烦了。
您可以使用:
kubectl edit deploy <deployment name> --namespace <namespace name>
并做内联
可以使用命令 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 并且活性探测只检查轮询循环是否尚未退出。 严格来说,在准备调查中检查这样的事情是不好的做法吗?