【发布时间】:2021-06-01 08:09:24
【问题描述】:
我正在尝试从 EKS fargate pod 连接到在“假节点”上运行的 kubelet。
例如,我有两个 IP 地址为 10.0.0.1 和 10.0.0.2 的 nginx pod 托管在两个具有相同 IP 地址 10.0.0.1 和 10.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。 -
请注意,如果我 curl 端口 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),但由于某些限制,这在我的场景中是不可行的
【问题讨论】:
-
您想确切了解什么?为什么它不起作用?如何让它发挥作用?我在这个问题中缺少“问题”部分:D
标签: kubernetes amazon-eks aws-fargate kubelet kubernetes-networking