Каким образом IP-адрес GKE / EKS Pod доступен из сети? - PullRequest
1 голос
/ 14 марта 2020

Я думал, что по замыслу, доступ к модулю должен осуществляться через открытые сервисы. Тем не менее, я обнаружил, что в GKE и EKS я могу пропинговать адрес модуля из экземпляра вне кластера Kubernetes.

>> kubectl get pods -o wide
NAME                     READY   STATUS    RESTARTS   AGE     IP              NODE                                               NOMINATED NODE   READINESS GATES
dnsutils                 1/1     Running   4          4h5m    10.80.12.19     ip-10-80-26-113.ap-northeast-2.compute.internal    <none>           <none>
network-test             1/1     Running   0          4h11m   10.80.11.192    ip-10-80-26-113.ap-northeast-2.compute.internal    <none>           <none>
ntest-6877545bdb-7h498   1/1     Running   0          8h      10.80.29.36     ip-10-80-60-104.ap-northeast-2.compute.internal    <none>           <none>
ntest2-854bd7cb6-tnbgt   1/1     Running   0          8h      10.80.116.168   ip-10-80-111-130.ap-northeast-2.compute.internal   <none>           <none>

Выше приведен вывод из EKS. Я могу пропинговать 10.80.xx (pod) IP-адрес в пределах того же VPC / su bnet.

. Я не могу сделать это, когда я пытаюсь сделать то же самое на своем локальном кластере Kubernetes.

Предполагается ли это сделать? Если да, как я могу настроить то же самое на своем локальном кластере?

1 Ответ

2 голосов
/ 14 марта 2020

Это возможно с помощью используемого плагина CNI. GKE использует собственный GKE GKE, а EKS использует EKS CNI .

Из документации EKS

Amazon EKS поддерживает встроенную сеть VP C через плагин Amazon VP C CNI для Kubernetes. Использование этого подключаемого модуля CNI позволяет модулям Kubernetes иметь тот же IP-адрес внутри модуля, что и в сети VP C.

В кластере Prem вы не сможете использовать эти CNI.

...