【问题标题】:Fail to make HTTPS requests in pod internal networkPod 内网 HTTPS 请求失败
【发布时间】:2019-01-16 14:55:08
【问题描述】:

在 pod 网络 (192.168.0.0/16) 中发出 HTTPS 请求失败

我新建了一套k8s集群,10.100.1.1(master),10.100.1.2...10.100.1.5,pod内网是192.168.0.0/16

例如metrics-server 分配给 node3 (10.100.1.3),pod ip 地址为192.168.12.123

当我 ssh 到 node3 并进行 curl (curl -k https://192.168.12.123) 时,它可以返回结果

但是如果我 ssh 到 node3 以外的节点,并做一个 curl (curl -k https://192.168.12.123), 它将返回curl: (28) Operation timed out after 0 milliseconds with 0 out of 0 bytes received

基本上所有跨节点 pod HTTPS 请求 (192.168.x.x) 都会失败

【问题讨论】:

  • 你用的是什么CNI,你能把kubectl get pods -o wide命令的输出放上去吗?

标签: kubernetes


【解决方案1】:

我认为集群中节点之间的防火墙存在问题。 确保在 Kubernetes 集群的主节点和工作节点之间打开所需的 ports

希望对你有帮助

【讨论】:

    【解决方案2】:

    终于找到问题了。

    根据 calico 配置,MTU 为 1500 从ifconfig看,接口的MTU是1450

    解决办法是kubectl edit configmap calico-config,将MTU值从1500改为1430,然后重启。

    这解决了问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多