apiVersion: v1 kind: Service metadata: name: tomcat namespace: default labels: app: tomcat spec: selector: app: tomcat ports: - port: 8080 nodePort: 30880 type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: tomcat namespace: default spec: replicas: 1 minReadySeconds: 15 selector: matchLabels: app: tomcat template: metadata: labels: app: tomcat spec: terminationGracePeriodSeconds: 30 containers: - name: tomcat image: tomcat:8.0.51-alpine ports: - containerPort: 8080 volumeMounts: - name: tomcat-log mountPath: /usr/local/tomcat/logs - 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: tomcat-log mountPath: /tomcatlog volumes: - name: config configMap: name: filebeat-config items: - key: filebeat.yml path: filebeat.yml - name: data emptyDir: {} - name: tomcat-log emptyDir: {}