Предоставление нескольких URL-адресов проверки работоспособности для зондов kubernetes

Я использую зонды контейнера, чтобы проверить работоспособность приложения, запущенного внутри контейнера в модуле kubernetes. На данный момент мой пример конфигурации модуля выглядит так:

"spec":{
   "containers":[
      {
        "image":"tomcat",
        "name":"tomcat",
        "livenessProbe":{
           "httpGet":{
              "port": 80
            },
            "initialDelaySeconds": 15,
            "periodSeconds": 10
        }
      }
   ]
}

В моем случае мне нужно отслеживать два порта для одного и того же контейнера. 80 и 443. Но я не могу найти способ предоставить оба порта для одного и того же контейнера в файле конфигурации. Есть ли альтернативный способ сделать это?


person Sujai Sivasamy    schedule 11.04.2017    source источник
comment
Я попробовал команду докера HEALTHCHECK при создании образа докера. Но даже если контейнер неисправен, описание контейнера не содержит этих подробностей. Я просто заявляю, что контейнер находится в рабочей фазе.   -  person Sujai Sivasamy    schedule 11.04.2017


Ответы (3)


Если у вас есть curl / wget в контейнере, вы можете просто запустить проверку работоспособности контейнера exec и сделать что-то вроде curl localhost:80 && curl localhost:443.

person Chris Stryczynski    schedule 16.08.2018
comment
Вот как это выглядит: raw.githubusercontent.com/kubernetes/website/master/content/en/ - person Tillerino; 24.07.2020

Это невозможно, попробуйте инкапсулировать проверку работоспособности внутри вашего приложения.

Пример: http://localhost:80/health_check?full => (прокси для) => http://localhost:443/health_check?full

может помочь вам https://github.com/kubernetes/kubernetes/issues/37218

person Giancarlo Rubio    schedule 11.04.2017
comment
Я не могу прикоснуться к своему приложению. Это нужно делать с внешнего уровня. Я ищу другое решение. - person Sujai Sivasamy; 11.04.2017

Это была бы очень полезная функция, но ее нет. Как уже упоминалось ранее, вы можете использовать сценарий для проверки работоспособности вместо httpget и проверять оба URL-адреса в этом сценарии.
Еще один вариант - создать контейнер работоспособности sidecar, чтобы отслеживать оба URL-адреса основного контейнера и принимать меры.

person techuser soma    schedule 19.09.2018