# Copyright 2020 Adarsh yadav # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- #EFK setup in k8s cluster #*********************************************************************************************************** #copy all yaml to /tmp/files/ #*********************************************************************************************************** - name: copy all yaml to /tmp/files/ copy: src: ../files/ dest: /tmp/files/ #*********************************************************************************************************** #Creating Namespace #*********************************************************************************************************** - name: Creating Namespace k8s: state: present src: /tmp/files/namespace.yaml namespace: logging #*********************************************************************************************************** #creating Storage Class #*********************************************************************************************************** - name: creating Storage Class k8s: state: present src: /tmp/files/storageClass.yaml namespace: logging #*********************************************************************************************************** #creating Persistent Volume #*********************************************************************************************************** - name: creating Persistent Volume k8s: state: present src: /tmp/files/persistentVolume.yaml namespace: logging #*********************************************************************************************************** #add user #*********************************************************************************************************** - name: add user k8s: state: present src: /tmp/files/elasticsearch/user-secret.yaml namespace: logging #*********************************************************************************************************** #Starting Elasticsearch operator #*********************************************************************************************************** - name: Starting Elasticsearch operator shell: kubectl apply -f https://download.elastic.co/downloads/eck/1.2.0/all-in-one.yaml ignore_errors: yes #*********************************************************************************************************** #Starting Elasticsearch #*********************************************************************************************************** - name: Starting Elasticsearch k8s: state: present src: /tmp/files/elasticsearch/elasticsearch.yaml namespace: logging #*********************************************************************************************************** #Starting Kibana #*********************************************************************************************************** - name: Starting Kibana k8s: state: present src: /tmp/files/kibana/kibana.yaml namespace: logging #*********************************************************************************************************** #Starting nginx #*********************************************************************************************************** - name: creating nginx configmap k8s: state: present src: /tmp/files/nginx/nginx-conf-cm.yaml namespace: logging - name: creating nginx key configmap k8s: state: present src: /tmp/files/nginx/nginx-key-cm.yaml namespace: logging - name: creating nginx pod k8s: state: present src: /tmp/files/nginx/nginx.yaml namespace: logging - name: creating nginx service k8s: state: present src: /tmp/files/nginx/nginx-service.yaml namespace: logging #*********************************************************************************************************** #Starting fluentd #*********************************************************************************************************** - name: creating fluentd configmap k8s: state: present src: /tmp/files/fluentd/fluent-cm.yaml namespace: logging - name: creating fluentd pod k8s: state: present src: /tmp/files/fluentd/fluent.yaml namespace: logging - name: creating fluentd service k8s: state: present src: /tmp/files/fluentd/fluent-service.yaml namespace: logging #*********************************************************************************************************** #Starting elastalert #*********************************************************************************************************** - name: creating elastalert config configmap k8s: state: present src: /tmp/files/elastalert/ealert-conf-cm.yaml namespace: logging - name: creating elastalert key configmap k8s: state: present src: /tmp/files/elastalert/ealert-key-cm.yaml namespace: logging - name: creating elastalert rule configmap k8s: state: present src: /tmp/files/elastalert/ealert-rule-cm.yaml namespace: logging - name: creating elastalert pod k8s: state: present src: /tmp/files/elastalert/elastalert.yaml namespace: logging #*********************************************************************************************************** #removing /tmp/files #*********************************************************************************************************** - name: Removing /tmp/files file: path: "/tmp/files" state: absent