--- # tasks file for deploy-influxdb.yml - name: Create persistent volume for influxdb k8s: state: present definition: apiVersion: v1 kind: PersistentVolume metadata: name: influxdb spec: capacity: storage: "{{ influxdb_storage }}" accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: standard hostPath: path: "/data/store-0/eom/influxdb" nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - alpha-worker-0 - name: Create persistent volume claim for influxdb k8s: state: present definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: influxdb namespace: eom spec: accessModes: - ReadWriteOnce resources: requests: storage: "{{ influxdb_storage }}" storageClassName: standard volumeName: influxdb - name: Create a deployment k8s: definition: apiVersion: apps/v1 kind: Deployment metadata: name: influxdb namespace: eom spec: replicas: 1 selector: matchLabels: app: influxdb template: metadata: labels: app: influxdb spec: containers: - name: influxdb image: influxdb volumeMounts: - name: influxdb mountPath: /var/lib/influxdb2 ports: - containerPort: 8086 volumes: - name: influxdb persistentVolumeClaim: claimName: influxdb - name: Expose deployment as a service k8s: definition: apiVersion: v1 kind: Service metadata: name: influxdb namespace: eom spec: selector: app: influxdb ports: - port: 8086 protocol: TCP name: influxdb-port-8086 type: ClusterIP