Услуги Kubernetes больше не могут достигать друг друга - PullRequest
0 голосов
/ 07 декабря 2018

Я запускаю Kubernetes на GKE, это работало раньше, но около 2 дней назад что-то изменилось.Я не думаю, что я что-то изменил в моей конфигурации.Мои услуги, похоже, больше не работают.Ни одна из моих служб не может общаться друг с другом.При подключении SSH к работающему модулю я не могу пропинговать их по имени службы, но также по внутренним IP-адресам.Внешний IP-адрес балансировщика нагрузки недоступен.Вот пример того, как я определяю развертывание:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  labels:
    ksonnet.io/component: app-name
  name: app-name
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: app-name

А вот служба:

apiVersion: v1
kind: Service
metadata:
  labels:
    ksonnet.io/component: app-name
  name: app-name
spec:
  loadBalancerIP: x.x.x.x
  ports:
  - port: 4999
    targetPort: 5000
  selector:
    app: app-name
  type: LoadBalancer

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

РЕДАКТИРОВАТЬ:

Вот соответствующие kubectl get services -n test

dashboard       ClusterIP      10.47.242.176   <none>        5000/TCP         1h
app-name        LoadBalancer   10.47.246.63    x.xxx.xx.xx   4999:31439/TCP   1h

Тогда вот kubectl describe service app-name -n test

Name:                     app-name
Namespace:                test
Labels:                   app.kubernetes.io/deploy-manager=ksonnet
                          ksonnet.io/component=app-name
Annotations:              ksonnet.io/managed: {pristine...}
Selector:                 app=app-name
Type:                     LoadBalancer
IP:                       10.47.246.63
IP:                       xx.xxx.xx.x
LoadBalancer Ingress:     xx.xxx.xx.x
Port:                     <unset>  4999/TCP
TargetPort:               5000/TCP
NodePort:                 <unset>  31439/TCP
Endpoints:                10.44.1.141:5000
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

РЕДАКТИРОВАТЬ 2: Я попробовал команду curl на порте по умолчанию, и время ожидания истекло:

curl: (7) Failed to connect to app-name port 80: Connection timed out

При попытке на полной конечной точке соединение было отклонено:

curl: (7) Failed to connect to app-name port 4999: Connection refused

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

Pod Template:
  Labels:  app=app-name
  Containers:
   model-manager:
    Image:      gcr.io/ns-delay/app-name:0.1
    Port:       5000/TCP
    Host Port:  0/TCP

1 Ответ

0 голосов
/ 07 декабря 2018

Поскольку я вижу, что ваш селектор в службе не соответствует меткам в Развертывании, измените на

metadata: labels: app: app-name

в Развертывании, и тогда он должен работать.

...