AWS Elasticsearch Service에 대한 유창한 설치 지침
AWS Elasticsearch Service를 사용합니다. Kubernetes 클러스터에 fluentd를 설치하고 싶습니다. Fluentd는 AWS Elasticsearch Service에 로그를 보냅니다. 그것을 수행하는 방법에 대한 지침이 있습니까? 이 링크에서https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd, Elasticsearch Pod로 로그를 보내는 단계를 보여줍니다. Elasticsearch가 Kubernetes 클러스터 내부에 설치되었음을 의미합니다.
위의 링크는 elasticsearch pod에 대한 fluentd-daemonset-elasticsearch.yaml (아래 참조) 변경을 보여줍니다. 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 피어링이 구성되어 있습니다.
또한 Kubernetes에서 Elasticsearch 클러스터로의 포트를 허용 하는 방화벽 규칙 ( 보안 그룹 )이 9200
있습니다.
간단해야합니다 (구성을 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
✌️