Istruzioni di installazione Fluentd per AWS Elasticsearch Service

Aug 19 2020

Utilizziamo AWS Elasticsearch Service. Vorremmo installare fluent nel nostro cluster Kubernetes. Fluentd invia i log ad AWS Elasticsearch Service. C'è qualche istruzione su come farlo? A questo link,https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd, mostra i passaggi per l'invio dei log a un pod Elasticsearch. Significa che elasticsearch è installato all'interno del cluster Kubernetes.

Il collegamento sopra mostra le modifiche in fluentd-daemonset-elasticsearch.yaml (vedi sotto) per il pod elasticsearch. Quali modifiche alla configurazione devo apportare per il servizio AWS elasticsearch?

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: kube-system
  ...
spec:
    ...
    spec:
      containers:
      - name: fluentd
        image: quay.io/fluent/fluentd-kubernetes-daemonset
        env:
          - name:  FLUENT_ELASTICSEARCH_HOST
            value: "elasticsearch-logging"
          - name:  FLUENT_ELASTICSEARCH_PORT
            value: "9200"
            ......

Risposte

2 Rico Aug 19 2020 at 08:59

Supponendo che tu abbia la connettività richiesta. Ad esempio, Kubernetes ed Elasticsearch sullo stesso VPC o se in diversi VPC hai configurato il peering VPC .

Inoltre, hai le regole del firewall ( Security Groups ) per consentire la porta 9200da Kubernetes al cluster Elasticsearch.

Dovrebbe essere semplice (basta puntare le configurazioni all'endpoint del cluster AWS Elasticsearch):

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: kube-system
  ...
spec:
    ...
    spec:
      containers:
      - name: fluentd
        image: quay.io/fluent/fluentd-kubernetes-daemonset
        env:
          - name:  FLUENT_ELASTICSEARCH_HOST
            value: "vpc-domain-name-identifier.region.es.amazonaws.com" 
          - name:  FLUENT_ELASTICSEARCH_PORT
            value: "9200"
            ......

Questo è se stai utilizzando VPC. Puoi anche utilizzare l'endpoint pubblico di Elasticsearch se hai configurato il tuo cluster in questo modo. (Ma è meno sicuro poiché stai passando attraverso il cloud pubblico). Qualcosa come questo:

https://search-domain-name-identifier.region.es.amazonaws.com

✌️