Межузловая связь типа «под модулем» невозможна ... Почему? - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок в k8s, но я знаю, что, как требование k8s, каждый Pod должен быть доступен из любого другого Pod. Однако в моей настройке этого не происходит: я не могу пропинговать из Пода другого Пода в другом Узле.

Вот мои настройки:

У меня есть один главный узел (sauron) и три рабочих (gothmog, angmar, khamul) , Я установил weave сеть через:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

Вот вывод kubectl get pods -n kube-system -o wide

NAME                             READY   STATUS    RESTARTS   AGE    IP                NODE      NOMINATED NODE   READINESS GATES
coredns-5644d7b6d9-bd5qn         1/1     Running   1          59d    10.38.0.2         angmar    <none>           <none>
etcd-sauron                      1/1     Running   44         145d   192.168.201.207   sauron    <none>           <none>
kube-apiserver-sauron            1/1     Running   82         145d   192.168.201.207   sauron    <none>           <none>
kube-controller-manager-sauron   1/1     Running   393        145d   192.168.201.207   sauron    <none>           <none>
kube-proxy-p97vw                 1/1     Running   1          134d   192.168.202.235   angmar    <none>           <none>
kube-proxy-pxpjm                 1/1     Running   5          141d   192.168.201.209   gothmog   <none>           <none>
kube-proxy-rfvcv                 1/1     Running   8          145d   192.168.201.207   sauron    <none>           <none>
kube-proxy-w6p74                 1/1     Running   2          141d   192.168.201.213   khamul    <none>           <none>
kube-scheduler-sauron            1/1     Running   371        145d   192.168.201.207   sauron    <none>           <none>
weave-net-9sk7r                  2/2     Running   0          16h    192.168.202.235   angmar    <none>           <none>
weave-net-khl69                  2/2     Running   0          16h    192.168.201.207   sauron    <none>           <none>
weave-net-rsntg                  2/2     Running   0          16h    192.168.201.213   khamul    <none>           <none>
weave-net-xk2w4                  2/2     Running   0          16h    192.168.201.209   gothmog   <none>           <none>

Вот мое содержимое развертывания yaml:

kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-deployment
  template:
    metadata:
      labels:
        app: my-deployment
    spec:
      containers:
      - name: my-image
        image: my-image:latest
        command: ["/bin/bash", "-c", "/opt/tools/bin/myapp"]
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 15113
        volumeMounts:
        - mountPath: /tmp
          name: tempdir
      imagePullSecrets:
      - name: registrypullsecret
      volumes:
      - name: tempdir
        emptyDir: {}

После применения развертывания через kubectl apply -f mydeployment.yaml я убедился, что модули запущены. Но просто не может ничего пропинговать за пределами своего внутреннего (pod) IP-адреса.

# kubectl get pods -o wide
NAME                             READY   STATUS    RESTARTS   AGE    IP          NODE      NOMINATED NODE   READINESS GATES
my-deployment-77bbb7579c-4cnsk   1/1     Running   0          110s   10.38.0.0   angmar    <none>           <none>
my-deployment-77bbb7579c-llm2x   1/1     Running   0          110s   10.44.0.2   khamul    <none>           <none>
my-deployment-77bbb7579c-wbbmv   1/1     Running   0          110s   10.32.0.2   gothmog   <none>           <none>

Как будто неспособности пинговать недостаточно, модуль my-deployment-77bbb7579c-4cnsk, работающий в angmar, имеет IP 10.38.0.0, который я нахожу слишком странным ... почему это так?

Кроме того, каждый из контейнеров имеет /etc/resolv.conf с nameserver 10.96.0.10, который недоступен ни изнутри любой из контейнеров / контейнеров.

Что мне нужно сделать, чтобы я мог пропинговать 10.44.0.2 (модуль, работающий в khamul), скажем, из модуля в gothmog (10.32.0.2) ?

Обновление 1:

# kubectl get nodes -o wide
NAME      STATUS   ROLES    AGE    VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
angmar    Ready    <none>   134d   v1.16.3   192.168.202.235   <none>        CentOS Linux 7 (Core)   3.10.0-957.10.1.el7.x86_64   docker://1.13.1
gothmog   Ready    <none>   142d   v1.16.2   192.168.201.209   <none>        CentOS Linux 7 (Core)   3.10.0-957.10.1.el7.x86_64   docker://1.13.1
khamul    Ready    <none>   142d   v1.16.2   192.168.201.213   <none>        CentOS Linux 7 (Core)   3.10.0-957.10.1.el7.x86_64   docker://1.13.1
sauron    Ready    master   146d   v1.16.2   192.168.201.207   <none>        CentOS Linux 7 (Core)   3.10.0-957.10.1.el7.x86_64   docker://1.13.1

Некоторые ошибки вывода модуля плетения на каждом узле: sauron (мастер):

INFO: 2020/04/08 21:52:31.042120 ->[192.168.202.235:6783|fe:da:ea:36:b0:ea(angmar)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [22:eb:02:7c:
57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])
INFO: 2020/04/08 21:52:33.675287 ->[192.168.201.209:6783] error during connection attempt: dial tcp :0->192.168.201.209:6783: connect: connection refused
INFO: 2020/04/08 21:52:34.992875 Error checking version: Get https://checkpoint-api.weave.works/v1/check/weave-net?arch=amd64&flag_docker-version=none&flag_kernel-version=3.10.0-957.10.1.el7.x
86_64&flag_kubernetes-cluster-size=3&flag_kubernetes-cluster-uid=428158f7-f097-4627-9dc0-56f5d77a1b3e&flag_kubernetes-version=v1.16.3&flag_network=fastdp&os=linux&signature=TQKdZQISNAlRStpfj1W
vj%2BHWIBhqTt9XQ2czf6xSYNA%3D&version=2.6.2: dial tcp: i/o timeout
INFO: 2020/04/08 21:52:49.640011 ->[192.168.201.209:6783] error during connection attempt: dial tcp :0->192.168.201.209:6783: connect: connection refused
INFO: 2020/04/08 21:52:53.202321 ->[192.168.202.235:6783|fe:da:ea:36:b0:ea(angmar)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [22:eb:02:7c:
57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])

khamul (рабочий):

INFO: 2020/04/09 08:05:52.101683 ->[192.168.201.209:49220|22:eb:02:7c:57:6a(gothmog)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [[663/1858]c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])
INFO: 2020/04/09 08:06:46.642090 ->[192.168.201.209:6783|22:eb:02:7c:57:6a(gothmog)]: connection shutting down due to error: no working forwarders to 22:eb:02:7c:57:6a(gothmog)
INFO: 2020/04/09 08:08:40.131015 ->[192.168.202.235:6783|fe:da:ea:36:b0:ea(angmar)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [22:eb:02:7c:
57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])
INFO: 2020/04/09 08:09:39.378853 Error checking version: Get https://checkpoint-api.weave.works/v1/check/weave-net?arch=amd64&flag_docker-version=none&flag_kernel-version=3.10.0-957.10.1.el7.x
86_64&flag_kubernetes-cluster-size=3&flag_kubernetes-cluster-uid=428158f7-f097-4627-9dc0-56f5d77a1b3e&flag_kubernetes-version=v1.16.3&flag_network=fastdp&os=linux&signature=Oarh7uve3VP8qo%2BlV
R6lukCi40hprasXxlwmmBYd5eI%3D&version=2.6.2: dial tcp: i/o timeout
INFO: 2020/04/09 08:09:48.873936 ->[192.168.201.209:6783|22:eb:02:7c:57:6a(gothmog)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [22:eb:02:7c
:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])
INFO: 2020/04/09 08:11:18.666790 ->[192.168.201.209:45456|22:eb:02:7c:57:6a(gothmog)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [22:eb:02:7
c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])

gothmog (рабочий):

INFO: 2020/04/09 16:50:08.818956 ->[192.168.201.207:6783|fe:5a:2a:52:86:22(sauron)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52:86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])
INFO: 2020/04/09 16:52:52.751021 ->[192.168.201.213:54822|e2:f6:ed:71:63:cb(khamul)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52:86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])
INFO: 2020/04/09 16:53:18.934143 ->[192.168.201.207:34423|fe:5a:2a:52:86:22(sauron)]: connection shutting down due to error: no working forwarders to fe:5a:2a:52:86:22(sauron)
INFO: 2020/04/09 16:53:49.773876 ->[192.168.201.213:6783|e2:f6:ed:71:63:cb(khamul)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52:86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])
INFO: 2020/04/09 16:53:57.784587 ->[192.168.201.207:6783|fe:5a:2a:52:86:22(sauron)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52:86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])

angmar (рабочий):

INFO: 2020/04/09 16:01:46.081118 ->[192.168.201.207:51620|fe:5a:2a:52:86:22(sauron)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52
:86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])
INFO: 2020/04/09 16:01:50.166722 ->[192.168.201.207:6783|fe:5a:2a:52:86:22(sauron)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52:
86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])
INFO: 2020/04/09 16:06:48.277791 ->[192.168.201.213:34950|e2:f6:ed:71:63:cb(khamul)]: connection shutting down due to error: read tcp 192.168.202.235:6783->192.168.201.213:34950: read: connect
ion reset by peer
INFO: 2020/04/09 16:07:13.270137 ->[192.168.201.207:58071|fe:5a:2a:52:86:22(sauron)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [fe:5a:2a:52
:86:22(sauron)], ours: [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)])

Обновление 2: Все модули моего развертывания (независимо от того, где они работают) содержит точно такой же /etc/resolv.conf файл:

nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local testnet.ssd.com
options ndots:5

Спасибо!

1 Ответ

1 голос
/ 10 апреля 2020

Решил проблему, введя каждый рабочий узел и выполнив следующие действия:

rm /var/lib/weave/weave-netdata.db
reboot

Объяснение:

Показаны мои файлы журнала переплетения выдержка:

INFO: 2020/04/08 21:52:31.042120->[192.168.202.235:6783|fe:da:ea:36:b0:ea(angmar)]: connection shutting down due to error: IP allocation was seeded by different peers (received [22:eb:02:7c:57:6a(gothmog) e2:f6:ed:71:63:cb(khamul)], ours: [fe:5a:2a:52:86:22(sauron)])

Вывод журнала переплетения, описанный выше, получается следующим образом:

kubectl logs -n kube-system <a-weave-pod-id> weave | grep -i error

Для справки см. здесь .

Спасибо всем, кто принял участие, и особенно спасибо @kitt за ответ.

...