Instructions d'installation de Fluentd pour AWS Elasticsearch Service

Aug 19 2020

Nous utilisons le service AWS Elasticsearch. Nous aimerions installer fluentd sur notre cluster Kubernetes. Fluentd envoie des journaux à AWS Elasticsearch Service. Y at-il des instructions sur la façon de le faire? Sur ce lien,https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd, il montre les étapes d'envoi des journaux à un pod Elasticsearch. Cela signifie que elasticsearch est installé à l'intérieur du cluster Kubernetes.

Le lien ci-dessus montre comment apporter des modifications à fluentd-daemonset-elasticsearch.yaml (voir ci-dessous) pour le pod elasticsearch. Quelles modifications de configuration dois-je apporter au service 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"
            ......

Réponses

2 Rico Aug 19 2020 at 08:59

En supposant que vous disposez de la connectivité requise. Par exemple, Kubernetes et Elasticsearch sur le même VPC ou si dans différents VPC vous avez configuré l'appairage de VPC .

De plus, vous disposez des règles de pare-feu ( groupes de sécurité ) pour autoriser le port 9200de Kubernetes vers le cluster Elasticsearch.

Cela devrait être simple (pointez simplement les configurations vers le point de terminaison du 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"
            ......

C'est le cas si vous utilisez des VPC. Vous pouvez également utiliser le point de terminaison public Elasticsearch si vous avez configuré votre cluster de cette façon. (Mais c'est moins sécurisé puisque vous passez par le cloud public). Quelque chose comme ça:

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

✌️