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

准备状态探测失败,连接被拒绝

桂宏旷
2023-03-14

我有一个配置了外部网络虚拟交换机的HyperV。K8S被配置为使用法兰绒覆盖(vxlan),如下所示:https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/network-topologies。

你知道如何解决这个问题吗?

更新:提供YAML:

apiVersion: v1
kind: Service
metadata:
  name: dummywebapplication
  labels:
    app: dummywebapplication
spec:
  ports:
    # the port that this service should serve on
  - port: 80
    targetPort: 80
  selector:
    app: dummywebapplication
  type: NodePort
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: dummywebapplication
  name: dummywebapplication
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: dummywebapplication
      name: dummywebapplication
    spec:
      containers:
      - name: dummywebapplication
        image: <my image>
        readinessProbe:
          httpGet:
            path: /test.txt
            port: 80
          initialDelaySeconds: 15
          periodSeconds: 30
          timeoutSeconds: 60
      nodeSelector:
        beta.kubernetes.io/os: windows

我不知道这是否相关,因为我不能像上面所说的那样从不同的节点连接到容器。我还尝试了LoadBalancer类型的服务,但没有提供不同的结果。

共有1个答案

夏景同
2023-03-14

网络配置假设是正确的。似乎对于'overlay',默认情况下,节点上的kubelet无法到达容器的IP。因此它不断返回超时和连接拒绝消息。

可能的变通办法:

  1. 在节点上C:\k\cni\config的ExceptionList“OutboundNat”中插入一个“Exception”。如果您使用start.ps1启动节点,这有点棘手,因为它每次都会覆盖这个文件。我不得不调整C:\k\helper.psm1中的“update-cniconfig”函数,以便在该文件中重新插入类似于“l2bridge”的异常。
  2. 使用'L2Bridge'配置。似乎'overlay'是在一个更安全的隔离中运行的,但l2bridge不是。
 类似资料:
  • 我在k8s https://github.com/paveldemyanenko/kubernetes-keycloak/tree/master/kubernetes中准备了一些Keycloak的基本示例,在这里我遇到了一个问题,当我在部署结束时部署Keycloak Helm Chart时,我会出现这样一个错误: 配置有什么问题,为什么它不能检查就绪探测?

  • 我正在尝试设置istio1。5.1在minicube kubernetes集群中,我遵循Knative的官方文档,在不使用侧车注入的情况下设置istio。我我面临istio入口网关服务的问题,该服务将入口网关服务的外部ip显示为。我已经浏览了这里发布的其他答案,以及许多其他论坛,但没有一个对我有帮助。 使用Minikube v1.9.1与驱动=无头盔v2.16.5 kubectl v1.18.0

  • ReadInessProbe:指示容器是否准备好响应请求。如果就绪探测失败,endpoint控制器将从与POD匹配的所有服务的endpoint中删除POD的IP地址。初始延迟之前的默认就绪状态是失败。如果容器不提供就绪探测,则默认状态为成功 如果准备状态探测失败(并且Pod的IP地址从endpoint移除),接下来会发生什么?是否会再次检查吊舱的准备状态?在最初的延迟后,它会再次检查吗?Pod的I

  • 当我执行部署并描述pod时,我看到在输出底部的'Events'下列出了以下内容: (这是令人困惑的,因为它将年龄声明为2m1s-但大于这个值-所以我不确定它为什么将这个值报告为年龄) 就绪探测随后以相同错误失败。IP号与我的pod的IP匹配,我在pod描述中的下看到了这一点: 活性和就绪探针的失败导致pod不断终止和重新启动。 该应用程序有一个默认的页面,所以我相信如果健康探测能够连接,它应该会收

  • 我使用Java连接MySQL和Json将数据发送到android,当我通过URL地址将数据从Java发送到Json时: 一切都很好,但是当我在Android中解析数据时,我收到了一个错误结果,如下所示: logcat: (192.168.1.221)IP地址是我的PC机,如果我从192.168.1.221更改为本地主机,我仍然会收到相同的错误。

  • 我正在尝试调试一个远程应用程序。我已经在服务器上启动了一个SOCKS代理: ssh-D 9999主机名 然后,我尝试从eclipse调试设置连接到它,其中主机名相同,端口=9999。 但是我得到了错误: 我还更新了eclipse网络连接以允许SOCKS代理。该配置在同一网络中的不同主机名上工作。 我无法解释此错误消息。有人能帮助我哪里出错了吗?我看了看这个:SSH连接成功,但localhost端口