2016-03-30 7 views
1

Я попытался создать контроллер репликации через файл JSON, и я упомянул restartPolicy как «Никогда» для стручок restartPolicy.Создание kubernetes ReplicationController терпит неудачу из-за restartPolicy

, но я получаю сообщение об ошибке, что

Ошибка: ReplicationController "ngnix-гс" является недействительным. * spec.template.spec.restartPolicy: неподдерживаемое значение: «Никогда»: поддерживаемые значения: Всегда

Есть ли какие-либо изменения в v1.2, что он поддерживает только «Всегда» в качестве опции для restartPolicy ? Я смущен.

Я попробовал другой сценарий, где я столкнулся с странным поведением. я определил политику перезагрузки, «никогда», и я получил ошибку, как,

Ошибка: ReplicationController «ngnix-гс» является недействительным. * spec.template.spec.restartPolicy: неподдерживаемое значение: "никогда": поддерживаемые значений: Всегда, OnFailure, Никогда * spec.template.spec.restartPolicy: неподдерживаемое значение: "никогда": поддерживаются значения: Всегда

Как найдено, в этом сценарии есть две ошибки. Я не знаю, в чем проблема.

файл JSON, который я использовал для создания RC приведен ниже

{ 
    "kind":"ReplicationController", 
    "apiVersion":"v1", 
    "metadata":{ 
    "name":"ngnix-rc", 
    "labels":{ 
     "app":"webserver" 
    } 
    }, 
    "spec":{ 
    "replicas":1, 
    "selector":{ 
     "app":"webserver1" 
    }, 
    "template":{ 
     "metadata":{ 
     "name":"ngnix-pod", 
     "labels":{ 
      "app":"webserver1" 
     } 
     }, 
     "spec":{ 
     "containers":[ 
      { 
      "image":"ngnix", 
      "name":"nginx" 
      } 
     ], 
     "restartPolicy":"Never" 
     } 
    } 
    } 
} 
+1

Я обнаружил, что ** ReplicationController ** позволит только ** restartPolicy **, равное ** «Всегда» **. Действительно ли это? Else Мне нужно использовать функцию Job for ** OnFailure ** или ** Never **. Но мне нужно развернуть веб-сервер, который я не могу развернуть как ** Job **, и он должен быть развернут как ** RC **. В этом случае при развертывании как ** RC **, контейнер перезапускается часто, что делает веб-сервер бесполезным. Какое решение для этого? –

ответ

4

Чтобы расширить ответ ЖБ в: в то время как различные политики перезагрузок имеют смысл для отдельных капсул , или даже для выполнения заданий, выполняемых до завершения, задача контроллера контроллера репликации состоит в том, чтобы сохранить N экземпляров подкачки, так что вы не хотите, чтобы перезагруженные модули не отлично сочетались с концепцией.

Часть из документации, которая объясняет это: http://kubernetes.io/docs/user-guide/pod-states/#restartpolicy

+1

Я понял. Но проблема в том, что стручок часто перезапускается. Ранее я использовал один и тот же образ контейнера с v1.1, я не сталкивался с этой проблемой. Теперь я использую то же изображение с v1.2, и контейнер перезапускается часто. Я буду отлаживать и пытаться найти проблему с веб-сервером, если таковой существует. –

+1

Если pod перезагружается, должно быть что-то не так с ним, что отключение перезапуска не исправит. Я бы рекомендовал обратиться к руководству по устранению неполадок: http: // kubernetes.io/docs/user-guide/debugging-pods-and-replication-controllerlers/ –

+1

Я попробовал отладку модуля, и я обнаружил, что демон-докеры, запущенные в узле, сам перезапускает, что приводит к перезапуску контейнеров. –