EKS fargate ポッドから「偽のノード」で実行されている kubelet に接続しようとしています。
たとえば、IP を持つ 2 つの nginx ポッドがあり、同じ IP10.0.0.1
と.10.0.0.2
10.0.0.1
10.0.0.2
ポッドから、次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
をカールしようとすると、接続が拒否されます。2 番目のポッドから同じことを行うと、反対の結果が得られ
10.0.0.1
ます10.0.0.2
。ポート 80 をカールすると、nginx が正しく応答することに注意してください。したがって、ポッド自体から接続する場合、ホストが要求に応答できることをネットワークが理解できないようです。
さらに、プロキシ ( ) を通過できることはわかっていますが
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
、いくつかの制限により、これは私のシナリオでは実行できません。