Не удалось подключиться к Curl из реплики модуля Kubernetes к другому модулю replica. Отказано в подключении

#kubernetes #ip-address

#kubernetes #ip-адрес

Вопрос:

У меня сбой проверки работоспособности и готовности со следующей ошибкой, видимой в описании модуля:

Readiness probe failed: dial tcp 10.123.1.23:5000: connect: connection refused

Когда я выполняю curl из реплики модуля в https://10.123.1.23:5000 , я получаю аналогичную ошибку ( Failed to connect to ...the IP.. port 5000: Connection refused ). Я прочитал кое-что, предполагающее, что если я смогу выполнить curl из другого модуля, если адрес / порт действителен. Я не понимаю, почему это так, поскольку я не до конца понимаю внутренние компоненты кластерной сети.

Поэтому я предполагаю, что адрес фактически недействителен для проверки готовности. Почему я не могу подключиться с помощью curl? Номер IP совпадает с IP-адресом моего модуля, и я вижу это в разделе Контейнеры в описании модуля:

 Containers:
....
Port:           5000/TCP
  

Это мой yaml, показывающий настройку проверки работоспособности:

 apiVersion: apps/v1
kind: Deployment
metadata:
   name: myApp
spec:
   ... 
   template:
     metadata:
       labels:
         app: myApp
     spec:
        ...
        containers:
          - name: myApp
            ...
            ports:
              - containerPort: 5000          
            ...
            readinessProbe:
              tcpSocket:
                  port: 5000
              initialDelaySeconds: 300
              periodSeconds: 5
              successThreshold: 1
              failureThreshold: 3
            livenessProbe:
               tcpSocket:
                  port: 5000
               periodSeconds: 30 
               initialDelaySeconds: 300
               successThreshold: 1
               failureThreshold: 3

...
  

Я также попытался и http-зонд вызвать индексную страницу, но получил аналогичную ошибку Readiness probe failed: Get http://...myIP...:5000/index.html: dial tcp ...myIP...:5000: connect: connection refused

         readinessProbe:
          httpGet:
            path: /index.html
            port: 5000
          initialDelaySeconds: 500
          periodSeconds: 5
          successThreshold: 1
          failureThreshold: 3
        livenessProbe:
           httpGet:
            path: /index.html
            port: 5000
           periodSeconds: 30 
           initialDelaySeconds: 500
           successThreshold: 1
           failureThreshold: 3
  

Комментарии:

1. Вы проверили журналы из модулей? Возможно, ваше приложение не запущено.

2. @Kamol Hasan — да, приложение обычно запускается. Если я удалю датчики живучести / готовности, приложение будет работать нормально

3. Можете ли вы поделиться настройкой проверки? Поддерживает ли ваше приложение проверку работоспособности? Я имею в виду, реализовали обработчик «/ healthz» или что-то в этом роде?

4. @Kamol Hasan — добавлено

5. вы решили или все еще имеете ту же проблему?