Мониторинг пользовательских путей в 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):
- Отредактируйте /usr/lib/systemd/syste/kubelet.service
Перезагрузите Kubelet:
systemctl daemon-reload systemctl restart kubelet