Беглые инструкции по установке AWS Elasticsearch Service
Мы используем AWS Elasticsearch Service. Мы хотели бы установить fluentd в наш кластер Kubernetes. Fluentd отправляет журналы в AWS Elasticsearch Service. Есть ли какие-нибудь инструкции, как это сделать? По этой ссылкеhttps://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd, он показывает шаги по отправке журналов в модуль Elasticsearch. Это означает, что elasticsearch установлен внутри кластера Kubernetes.
По ссылке выше показано, как внести изменения в fluentd-daemonset-elasticsearch.yaml (см. Ниже) для модуля elasticsearch. Какие изменения конфигурации мне нужно внести для службы 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"
......
Ответы
Предполагая, что у вас есть необходимое подключение. Например, Kubernetes и Elasticsearch в одном VPC или если в разных VPC у вас настроен пиринг VPC .
Кроме того, у вас есть правила брандмауэра ( группы безопасности ), разрешающие порт 9200
из Kubernetes в кластер Elasticsearch.
Это должно быть прямо (просто укажите конфигурации на конечную точку кластера 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"
......
Это если вы используете VPC. Вы также можете использовать общедоступную конечную точку Elasticsearch, если вы настроили свой кластер таким образом. (Но это менее безопасно, поскольку вы используете общедоступное облако). Что-то вроде этого:
https://search-domain-name-identifier.region.es.amazonaws.com
✌️