Использование крючков Кубернетеса

Я хотел бы попробовать крючки Kubernetes, но я не нашел никакого примера, как я должен это делать. Насколько я знаю, с помощью этих крючков я могу запускать сценарии bash в только что созданных контейнерах и до их завершения.

Я нашел только короткую документацию, в которой говорится, что это возможно, но что все.

Есть ли у кого-нибудь пример или что-то полезное?

Спасибо заранее.

Ответы

Ответ 1

Я не вижу никаких примеров .yaml файлов, но Kubernetes API v1 описывает события жизненного цикла таким же образом. В настоящее время определены только PostStart и PreStop, и вы сможете их использовать, добавив раздел жизненного цикла в контейнер в определении вашего контейнера.

Основываясь на чтении определения API, что-то вроде этого должно работать (отказ от ответственности: я сам на самом деле не пробовал):

containers:
  - name: lifecycle
    image: busybox
    lifecycle:
      postStart:
        exec:
          command:
            - "touch"
            - "/var/log/lifecycle/post-start"
      preStop:
        httpGet:
          path: "/abort"
          port: 8080

Ответ 2

С приведенным выше ответом я мог бы попробовать postStart hook, и я нашел ошибку, которая была решена в конце прошлого года, но еще не опубликовала ее в тестовом репозитории Fedora только в режиме сыромятной репо.

Репозиции должны быть обновлены в ближайшие пару дней.

Дополнительная информация: https://github.com/kubernetes/kubernetes/issues/3930