gpt4 book ai didi

kubernetes - 准备就绪探针失败,连接被拒绝

转载 作者:行者123 更新时间:2023-12-02 11:39:35 24 4
gpt4 key购买 nike

我正在尝试将K8S设置为与两个Windows节点一起使用(2019)。一切似乎都运行良好,并且使用k8s服务可以正常使用和访问容器。但是,一旦我为就绪(或 Activity )探针引入了配置,所有操作都会失败。确切的错误是:

Readiness probe failed: Get http://10.244.1.28:80/test.txt: dial tcp 10.244.1.28:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.


当我尝试使用k8s master 的URL时,它可以很好地工作,我得到200。但是我读到kubelet是执行探针的一个,实际上是从Windows Node尝试时-无法访问它(这看起来很奇怪,因为容器在同一节点上运行)。因此,我认为该问题与某些网络配置有关。
我有一个配置了外部网络虚拟交换机的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
还有一个更新。在此文档中( https://kubernetes.io/docs/setup/windows/intro-windows-in-kubernetes/)编写为:

My Windows node cannot access NodePort service

Local NodePort access from the node itself fails. This is a knownlimitation. NodePort access works from other nodes or externalclients.


我不知道这是否相关,因为如上所述,我无法从其他节点连接到容器。我还尝试了LoadBalancer类型的服务,但没有提供不同的结果。

最佳答案

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

可能的解决方法:

  • 在节点上的C:\ k \ cni \ config的ExceptionList'OutBoundNAT'中插入一个'exception'。如果使用start.ps1启动节点,则有些棘手,因为它每次都会覆盖此文件。我必须在c:\ k \ helper.psm1中调整“Update-CNIConfig”功能,以将类似于“l2bridge”的异常重新插入该文件中。
  • 使用“l2bridge”配置。似乎'overlay'在更安全的隔离中运行,但l2bridge不是。
  • 关于kubernetes - 准备就绪探针失败,连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56316703/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com