У меня есть один основной и один рабочий кластер Kubernetes с Calico, развернутым с здесь без изменений в манифестах.Мастер имеет внутренний IP-адрес 10.132.0.30
, и я пытаюсь выставить свой сервис (работающий на рабочем) на мастере следующим образом:
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
type: ClusterIP
externalIPs: [10.132.0.30]
ports:
- port: 80
targetPort: 80
selector:
app: nginx
curl http://10.132.0.30
от мастера работает, как ожидается,но зависание мастера с моего ноутбука на его внешнем IP-адресе зависает, хотя я вижу соединения, используя tcpdump
:
# tcpdump -i eth0 dst 10.132.0.30 and dst port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:52:16.692059 IP cpc102582-walt20-2-0-cust85.13-2.cable.virginm.net.62882 > fail5-luke-master.c.jetstack-luke.internal.http: Flags [S], seq 3014275997, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 181016377 ecr 0,sackOK,eol], length 0
...
Выполнение других команд tcpdump
на других интерфейсах, похоже, что пакеты достигают nginx, ноне возвращается (cali3561fc118c0
- это интерфейс моего модуля nginx Pod на рабочем месте в пространстве имен корневой сети, а 192.168.1.4
- его назначенный IP-адрес):
# tcpdump -i cali3561fc118c0 dst 192.168.1.4
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on cali3561fc118c0, link-type EN10MB (Ethernet), capture size 262144 bytes
23:00:23.626170 IP 192.168.0.1.65495 > 192.168.1.4.http-alt: Flags [S], seq 2616662679, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 181480911 ecr 0,sackOK,eol], length 0
...
Я думаю, что есть много возможных проблем, но естьчто-нибудь очевидное, что мне не хватает?
РЕДАКТИРОВАТЬ: Я последовал совету Calico Docs здесь без везения
Kubernetes версия: 1.13.4