2016-05-03 3 views
2

У нас есть кластер Kubernetes 1.1 на AWS, созданный с использованием kube-up.sh.Как удалить fluentd-elastisearch из Kubernetes

Часть базовой установки включает в себя fluentd-elastisearch. Мы хотим удалить его. В частности, мы удалили статические контейнеры, работающие по одному на узел.

Мы не используем Kubernetes-размещенный fluentd-elastisearch, а вместо этого используем внешний экземпляр. Насколько я могу судить, fluentd-elastisearch не требуется для запуска Kubernetes, поэтому я был , попробовав, чтобы удалить его из нашего кластера.

Кажется, есть две части для установки elastisearch. Первый - addon, определенный на главном в /etc/kubernetes/addons/fluentd-elasticsearch. Мы перенесли этот файл из каталога аддонов и вручную удалили связанные контроллеры репликации.

Это оставляет статические стручки:

kube-ac --namespace=kube-system get pods 
NAME                READY  STATUS RESTARTS AGE 
fluentd-elasticsearch-ip-10-0-5-105.us-west-2.compute.internal 1/1  Running 1   6d 
fluentd-elasticsearch-ip-10-0-5-124.us-west-2.compute.internal 1/1  Running 0   6d 
fluentd-elasticsearch-ip-10-0-5-180.us-west-2.compute.internal 1/1  Running 0   6d 
fluentd-elasticsearch-ip-10-0-5-231.us-west-2.compute.internal 1/1  Running 0   6d 

Мы считаем, что статические стручки запускаются на каждом узле из-за присутствия на каждом узле /etc/kubernetes/manifests/fluentd-es.yaml.

Этот файл представляется помещателем salt/srv/pillar/cluster-params.sls который содержит enable_node_logging: 'true'.

Мы перевернули флаг до 'false', уничтожили существующие узлы, позволяя создавать новые с помощью группы автоматического масштабирования. К сожалению, вновь созданные хозяева по-прежнему имеют статические пакеты fluentd-elasticsearch.

Есть несколько других возможных файлов мы думаем, могут быть вовлечены, на мастер-хосте:

/var/cache/kubernetes-install/kubernetes/saltbase/salt/fluentd-es/fluentd-es.yaml 
/var/cache/salt/minion/files/base/fluentd-es/fluentd-es.yaml 

Мы ударяя стену с нашим отсутствием salt опыта. Указатели наиболее приветствуются.

+0

Поскольку вы предоставлен кластером с помощью Кубэ-вверх по вам мог бы искать этот флаг: https://github.com/kubernetes/kubernetes/blob/release-1.2/cluster/aws/config-default.sh#L106 –

+0

Насколько я могу судить, 'ENABLE_NODE_LOGGING' помогает только тогда, когда создавая новый кластер. Я хочу изменить существующий кластер. –

+0

Как вы настроили fluentd для указания на внешний экземпляр ES? В настоящее время мы используем внешние ES и дезактивируем по умолчанию фильтры fluentd-elasticsearch. Похоже, на этом не так много информации. – sthomps

ответ

0

Вы можете остановить статические контейнеры, удалив файл манифеста статического элемента. На всех узлах запуска:

sudo rm /etc/kubernetes/manifests/fluentd-es.yaml 

Вот документация на статических стручков:

http://kubernetes.io/docs/admin/static-pods/

+0

Это временное решение. Когда новые узлы вращаются вверх, они настраиваются с использованием соляного стека и будут иметь fluentd-es.yaml (и pod). –

0

Вы можете настроить параметры конфигурации до раскручивания кластера, который будет пропустить установку некоторых дополнительных дополнений, , Настройки находятся в cluster/aws/config-default.sh и для отключения fluentd-es вы должны установить KUBE_LOGGING_DESTINATION=none перед запуском kube-up.sh.

+0

В комментарии он говорит, что ему нужно изменить уже запущенный кластер. – dward

+0

Для echo @dward это будет работать только для новых кластеров. Ищете решение по существующей настройке. –

6

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

  1. Удалить fluentd-elastisearch аддон (на мастер)
    • rm (или mv) /etc/kubernetes/addons/fluentd-elasticsearch/
    • Удаление остаточных ReplicationControllers:

      kubectl --namespace = Kube-системы delete rc elasticsearch-logging-v1 kibana-logging-v1

  2. Отключить ведение журнала в соленой-стека (на мастер). Это предотвратит появление в будущем узлов, имеющих fluentd static pod.
    • В /srv/pillar/cluster-params.sls изменения существующих настроек

      enable_node_logging: 'ложь'

      logging_destination: 'ни'

    • salt '*' saltutil.clear_cache
    • salt '*' saltutil.sync_all
  3. На существующих узлах, вручную удалить fluentd статического стручка

    ет /etc/kubernetes/manifests/fluentd-es.yaml

+0

Это сработало для меня. – Vishal