คำแนะนำในการติดตั้งอย่างคล่องแคล่วสำหรับ AWS Elasticsearch Service
เราใช้บริการ AWS Elasticsearch เราต้องการติดตั้งได้อย่างคล่องแคล่วในคลัสเตอร์ Kubernetes ของเรา Fluentd ส่งบันทึกไปยัง AWS Elasticsearch Service มีคำแนะนำในการทำอย่างไร? ที่ลิงค์นี้https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentdจะแสดงขั้นตอนในการส่งบันทึกไปยัง Elasticsearch Pod หมายความว่ามีการติดตั้ง elasticsearch ภายในคลัสเตอร์ Kubernetes
ลิงค์ด้านบนแสดงการเปลี่ยนแปลงใน fluentd-daemonset-elasticsearch.yaml (ดูด้านล่าง) สำหรับ elasticsearch pod ฉันต้องเปลี่ยนแปลงการกำหนดค่าอะไรบ้างสำหรับบริการ 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
✌️