2016-05-03 12 views
2

Wir haben einen Kubernetes 1.1-Cluster auf AWS bereitgestellt unter Verwendung von kube-up.sh.So entfernen Sie Fluentd-Elastisearch von Kubernetes

Ein Teil der Basisinstallation umfasst fluentd-elastisearch. Wir wollen es deinstallieren. Insbesondere konnten wir die statischen Pods, die einen pro Knoten ausführen, nicht entfernen.

Wir verwenden nicht das von Kubernetes gehostete fluentd-elastisearch, sondern verwenden stattdessen eine extern gehostete Instanz. Soweit ich sagen kann, fluentd-elastisearch ist nicht erforderlich, Kubernetes zu betreiben, und so habe ich versuchen, um es aus unserem Cluster zu entfernen.

Es scheint zwei Teile zu der Elastisearch-Setup zu geben. Die erste ist die addon definiert auf dem Master in /etc/kubernetes/addons/fluentd-elasticsearch. Wir haben diese Datei aus dem Addons-Verzeichnis entfernt und die zugehörigen Replikations-Controller manuell gelöscht.

Dies lässt die statischen Schoten:

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 

Wir glauben, dass die statischen Schoten auf jedem Knoten gestartet werden aufgrund der Anwesenheit auf jedem Knoten von /etc/kubernetes/manifests/fluentd-es.yaml.

Diese Datei scheint von salt Konfiguration /srv/pillar/cluster-params.sls platziert zu werden, die enable_node_logging: 'true' enthält.

Wir haben das Flag auf 'false' umgedreht, die vorhandenen Knoten gelöscht und neue über die Auto Scaling Group bereitgestellt. Leider haben die neu erzeugten Hosts immer noch die statischen fluentd-elasticsearch Pods.

Es gibt ein paar andere mögliche Dateien, die wir denken, beteiligt sein kann, auf dem Master-Host:

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

Wir sind eine Wand mit unserem Mangel an Erfahrung salt schlagen. Zeiger sehr willkommen.

+0

Da Sie Sie Ihre Cluster mit kube-up bereit könnte nach dieser Flagge suchen: https://github.com/kubernetes/kubernetes/blob/release-1.2/cluster/aws/config-default.sh#L106 –

+0

Soweit ich sagen kann, 'ENABLE_NODE_LOGGING' hilft nur wenn Erstellen eines neuen Clusters Ich möchte einen vorhandenen Cluster ändern. –

+0

Wie haben Sie fluentd konfiguriert, um auf Ihre externe ES-Instanz zu verweisen? Wir suchen derzeit nach externen ES und deaktivieren die Standard-Fluentd-Elasticsearch-Pods. Es scheint nicht viel Info da draußen zu sein. – sthomps

Antwort

0

Sie können die statischen Pods stoppen, indem Sie die statische Pod-Manifestdatei löschen. Auf allen Knoten laufen:

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

Hier wird die Dokumentation auf statische Pods ist:

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

+0

Dies ist nur eine vorübergehende Lösung. Wenn neue Knoten hochgefahren werden, werden sie mit salt-stack konfiguriert und haben fluentd-es.yaml (und pod). –

0

Sie Konfigurationseinstellungen vor Spinnen bis zwicken kann der Cluster, die überspringen werden einige der optionalen add ons zu installieren . Die Einstellungen sind in cluster/aws/config-default.sh und um Flüssigkeiten zu deaktivieren, sollten Sie KUBE_LOGGING_DESTINATION=none vor der Ausführung kube-up.sh setzen.

+0

In dem Kommentar sagt er, dass er einen bereits laufenden Cluster ändern muss. – dward

+0

Um @dward zu echoten, funktioniert dies nur für neue Cluster. Auf der Suche nach einer Lösung für ein bestehendes Setup. –

6

Ich glaube, dass wir Schritte arbeiten entfernen fluentd aus einem Cluster, die bereits hat es installiert ist.

  1. Löschen fluentd-Elasticsearch Addon (auf Master)
    • rm (oder mv) /etc/kubernetes/addons/fluentd-elasticsearch/
    • Delete Rest ReplicationControllers:

      kubectl --namespace = kube-System löschen rc elasticsearch-logging-v1 kibana-logging-v1

  2. Disable Protokollierung in salzStapel (auf Master). Dies verhindert, dass in der Zukunft erzeugte Knoten den fluentd statischen Pod haben.
    • In /srv/pillar/cluster-params.sls Änderung vorhandenen Einstellungen

      enable_node_logging: 'false'

      logging_destination: 'none'

    • salt '*' saltutil.clear_cache
    • salt '*' saltutil.sync_all
  3. Auf bestehenden Knoten manuell entfernen die statische pod fluentd

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

+0

Das hat bei mir funktioniert. – Vishal

Verwandte Themen