Почему мои службы Kubernetes работают в разных подсетях? - PullRequest
0 голосов
/ 22 февраля 2019

У меня проблема со связью Spring Boot и PostgreSQL с использованием имени службы.

Я создал кластер, использующий Calico для работы в сети, следующим образом:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16  --apiserver-advertise-address=178.12.1.10

и присоединился к рабочему узлуиспользуя вывод, полученный из приведенной выше команды.

Когда я развертываю модуль и службу, оба работают в разных подсетях.Я что-то упустил?

kubectl get svc
NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
backend-service     ClusterIP      10.110.149.43   <none>        8091/TCP      12s
postgres            ClusterIP      10.108.1.52     <none>        5432/TCP      14m

Конечная точка службы не генерируется.

kubectl get endpoints
NAME                   ENDPOINTS             AGE

backend-service                              20m
postgres               <none>                21m
kubectl get pods --all-namespaces
default       backend-service-6dbd64ff4d-gqkq8           0/1     CrashLoopBackOff   12         57m
default       postgres-7564bcc778-578fx                  1/1     Running            0          57m
kube-system   calico-etcd-b7wqf                          1/1     Running            1          2d3h
kube-system   calico-kube-controllers-74887d7bdf-wxhkd   1/1     Running            1          2d3h
kube-system   calico-node-689b5                          0/1     Running            0          47h
kube-system   calico-node-smkq5                          0/1     Running            1          47h
kube-system   coredns-86c58d9df4-7ncdk                   1/1     Running            1          2d3h
kube-system   coredns-86c58d9df4-g4jcp                   1/1     Running            1          2d3h
kube-system   etcd-kmaster                               1/1     Running            1          2d3h
kube-system   kube-apiserver-kmaster                     1/1     Running            1          2d3h
kube-system   kube-controller-manager-kmaster            1/1     Running            3          2d3h
kube-system   kube-proxy-njx5c                           1/1     Running            1          2d3h
kube-system   kube-proxy-pkxx5                           1/1     Running            1          2d3h
kube-system   kube-scheduler-kmaster                     1/1     Running            3          2d3h
kube-system   kubernetes-dashboard-57df4db6b-zcvcc       1/1     Running            1          2d3h

1 Ответ

0 голосов
/ 22 февраля 2019

Необходимо проверить CIDR service-cluster-ip-range, который указан флагом для сервера API.Service clusterIP назначается из service-cluster-ip-range.

вы инициализировали кластер с помощью --pod-network-cidr = 192.168.0.0 / 16

обратите внимание, что pod-network-Диапазон cidr используется для назначения IP-адреса для стручков.он отличается от кластера сервисов IP

, вы должны проверить service-cluster-ip-range, который определен в параметрах запуска сервера API

...