EKS Fargate 连接到本地 kubelet

问题描述

我正在尝试从 EKS fargate pod 连接到在“假节点”上运行的 kubelet。

例如,我有两个 nginx pod,其 IP 为 10.0.0.110.0.0.2,托管在两个具有相同 IP 的假节点 10.0.0.110.0.0.2 中。

从 pod 10.0.0.1 我可以正确运行 10.0.0.2

curl -X GET https://10.0.0.2:10250/stats/summary --header "Authorization: Bearer $TOKEN" --insecure

{
 "node": {
  "nodeName": "fargate-ip-10.0.0.2.us-east-2.compute.internal","systemContainers": [
   {
    "name": "pods","startTime": "2021-03-02T11:21:55Z",[...]

  • 但是,如果我尝试卷曲同一个主机 10.0.0.1:10250,我的连接会被拒绝。

  • 对第二个 pod 执行相同操作会导致相反的结果,我可以查询 10.0.0.1 而不是 10.0.0.2

  • 请注意,如果我卷曲端口 80,则 nginx 会正确响应,因此当从 pod 本身连接时,网络似乎无法理解主机可以响应请求

  • 此外,我知道我可以通过代理 (curl -X GET https://172.20.0.1:443/api/v1/nodes/fargate-ip-10-0-0-1.us-east-2.compute.internal/stats/summary --header "Authorization: Bearer $TOKEN" --insecure),但由于某些限制,这在我的场景中不可行

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)