I have installed Elasticsearch 7.14.1 .The Elasticsearch is working fine. Then i have deployed Logstash.The issue is logstash cannot communicate with Elasticsearch
My elasticsearch.yaml file is
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name:elasticsearch
spec:
version: 7.14.1 #Make sure you use the version of your choice
http:
service:
spec:
type: LoadBalancer #Adds a External IP
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
My logstash yaml file is
apiVersion: v1
kind: ConfigMap
metadata:
name: logstash-config
labels:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
data:
logstash.yml: |
http.host: "0.0.0.0"
path.config: /usr/share/logstash/pipeline
---
apiVersion: v1
kind: ConfigMap
metadata:
name: logstash-pipeline
labels:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
data:
logstash.conf: |
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => [ "https://elastisearch:9200" ]
user => "elastic"
password => "XXXXXX"
cacert => '/etc/logstash/certificates/ca.crt'
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: logstash
labels:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
template:
metadata:
labels:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
spec:
containers:
- name: logstash
image: docker.elastic.co/logstash/logstash:7.14.1
ports:
- name: "tcp-beats"
containerPort: 5044
env:
- name: ES_HOSTS
value: "https://elastisearch:9200"
- name: ES_USER
value: "elastic"
- name: ES_PASSWORD
valueFrom:
secretKeyRef:
name: elasticsearch
key: elastic
volumeMounts:
- name: config-volume
mountPath: /usr/share/logstash/config
- name: pipeline-volume
mountPath: /usr/share/logstash/pipeline
- name: ca-certs
mountPath: /etc/logstash/certificates
readOnly: true
volumes:
- name: config-volume
configMap:
name: logstash-config
- name: pipeline-volume
configMap:
name: logstash-pipeline
- name: ca-certs
secret:
secretName: veehive-elasticsearch-es-http-certs-public
---
apiVersion: v1
kind: Service
metadata:
name: logstash
labels:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
spec:
ports:
- name: "tcp-beats"
port: 5044
targetPort: 5044
selector:
app.kubernetes.io/name: eck-logstash
app.kubernetes.io/component: logstash
I am getting the issue as "Warning FailedMount pod/logstash-69ccf8868f-hjpnx Unable to attach or mount volumes: unmounted volumes=[ca-certs], unattached volumes=[config-volume pipeline-volume ca-certs kube-api-access-9qcws]: t""
Any inputs on how to resolve this ca certification issue and where to find the path of it in kubernetes cluster