apiVersion: v1 kind: Service metadata: name: nginx namespace: default labels: app: nginx spec: selector: app: nginx ports: - port: 80 nodePort: 30080 type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: nginx namespace: default spec: replicas: 1 minReadySeconds: 15 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.17.0 ports: - containerPort: 80 volumeMounts: - name: nginx-log mountPath: /var/log/nginx - name: filebeat image: elastic/filebeat:7.10.1 args: [ "-c", "/etc/filebeat/filebeat.yml", "-e", ] env: - name: POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP - name: pod_name valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name resources: limits: cpu: 100m memory: 100Mi requests: cpu: 100m memory: 100Mi securityContext: runAsUser: 0 volumeMounts: - name: config mountPath: /etc/filebeat readOnly: true - name: data mountPath: /usr/share/filebeat/data - name: nginx-log mountPath: /nginxlog volumes: - name: config configMap: name: filebeat-config items: - key: filebeat.yml path: filebeat.yml - name: data emptyDir: {} - name: nginx-log emptyDir: {}