Мониторинг пользовательских путей в Kubelet

Я использую kubernetes 1.8.5, и мне было интересно, есть ли способ сказать Kubelet контролировать /var/lib/docker вместо / на хосте.

1 ответ

Согласно странице документации Kubelet:

Кроме PodSpec от apiserver, существует три способа предоставления манифеста контейнера для Kubelet.

  • Файл: путь передается как флаг в командной строке. Файлы по этому пути будут периодически проверяться на наличие обновлений. Период мониторинга составляет 20 с по умолчанию и настраивается с помощью флага.

  • Конечная точка HTTP: конечная точка HTTP, переданная в качестве параметра в командной строке. Эта конечная точка проверяется каждые 20 секунд (также настраивается с помощью флага).

  • Сервер HTTP: Кублет также может прослушивать HTTP и отвечать на простой API (в настоящее время он не указан) для отправки нового манифеста.

Не совсем понятно, что вы подразумеваете под "мониторингом", поэтому вот список всех связанных с путем аргументов командной строки для двоичного файла Kubelet:

--boot-id-file string Разделенный запятыми список файлов для проверки на загрузочный идентификатор. Используйте первый, который существует. (по умолчанию "/proc/sys/kernel/random/boot_id")

--bootstrap-checkpoint-path string Путь к каталогу, где хранятся контрольные точки

--bootstrap-kubeconfig string Путь к kubeconfig файл, который будет использоваться для получения сертификата клиента для kubelet. Если файл указан --kubeconfig не существует, загрузчик kubeconfig используется для запроса сертификата клиента с сервера API. В случае успеха kubeconfig файл, ссылающийся на сгенерированный клиентский сертификат и ключ, записывается по пути, указанному --kubeconfig, Сертификат клиента и файл ключа будут храниться в каталоге, указанном --cert-dir,

--cert-dir string Каталог, в котором находятся сертификаты TLS. Если --tls-cert-file а также --tls-private-key-file предоставляются, этот флаг будет игнорироваться. (дефолт /var/lib/kubelet/pki)

--cloud-config string Путь к файлу конфигурации облачного провайдера.

--cni-bin-dir string Полный путь к каталогу для поиска бинарных файлов плагинов CNI. По умолчанию: /opt/cni/bin

--cni-conf-dir string Полный путь к каталогу для поиска файлов конфигурации CNI. По умолчанию: /etc/cni/net.d

--container-hints string расположение файла подсказок контейнера (по умолчанию /etc/cadvisor/container_hints.json)

--docker-tls-ca string путь к доверенному ЦС (по умолчанию ca.pem)

--docker-tls-cert string путь к клиентскому сертификату (по умолчанию cert.pem)

--docker-tls-key string путь к закрытому ключу (по умолчанию key.pem)

--dynamic-config-dir string Kubelet будет использовать этот каталог для проверки загруженных конфигураций и отслеживания работоспособности конфигурации. Kubelet создаст этот каталог, если он еще не существует. Путь может быть абсолютным или относительным; относительные пути начинаются с текущего рабочего каталога Kubelet. Указание этого флага включает динамическую настройку Kubelet. В настоящее время вы также должны включить DynamicKubeletConfig особенность ворот, чтобы пройти этот флаг.

--experimental-mounter-path string [Экспериментальный] Путь монтера бинарный. Оставьте пустым, чтобы использовать монтирование по умолчанию.

--init-config-dir string Kubelet будет искать в этом каталоге конфигурацию init. Путь может быть абсолютным или относительным; относительные пути начинаются с текущего рабочего каталога Kubelet. Опустите этот аргумент, чтобы использовать встроенные значения конфигурации по умолчанию. В настоящее время вы также должны включить KubeletConfigFile особенность ворот, чтобы пройти этот флаг.

--kubeconfig string Путь к файлу kubeconfig, указывающий, как подключиться к серверу API. (дефолт /var/lib/kubelet/kubeconfig)

--lock-file string Путь к файлу для kubelet для использования в качестве файла блокировки.

--log-dir string Если не пусто, запишите файлы журналов в этот каталог

--pod-manifest-path string Путь к каталогу, содержащему файлы манифеста pod, или путь к одному файлу манифеста pod. Файлы, начинающиеся с точек, будут игнорироваться.

--resolv-conf string Файл конфигурации резольвера, используемый в качестве основы для конфигурации разрешения DNS-контейнера. (дефолт /etc/resolv.conf)

--rkt-path string Путь бинарного rkt. Оставьте пустым, чтобы использовать первый rkt в $PATH.

--root-dir string Путь к каталогу для управления файлами kubelet (монтирование томов и т. Д.). (дефолт /var/lib/kubelet)

--seccomp-profile-root string Путь к каталогу для профилей seccomp. (дефолт /var/lib/kubelet/seccomp)

--tls-cert-file string Файл, содержащий сертификат x509, используемый для обслуживания HTTPS (с промежуточными сертификатами, если таковые имеются, объединенными после сертификата сервера). Если --tls-cert-file а также --tls-private-key-file не предоставляются, самоподписанный сертификат и ключ генерируются для публичного адреса и сохраняются в каталог, переданный --cert-dir,

--tls-private-key-file string Файл, содержащий закрытый ключ x509 --tls-cert-file,

Вы можете установить конфигурацию Kubelet, предоставив файл конфигурации с --config параметр во время запуска Kubelet.

Чтобы изменить существующие параметры Kubelet (пример CentOS):

  1. Отредактируйте /usr/lib/systemd/syste/kubelet.service
  2. Перезагрузите Kubelet:

    systemctl daemon-reload  
    systemctl restart kubelet
    
Другие вопросы по тегам