--- # tasks file for deploy-influxdb.yml - name: Create persistent volume for influxdb k8s: state: present definition: apiVersion: v1 kind: PersistentVolume metadata: name: pv-influxdb-eom-dev spec: capacity: storage: {{ influxdb_production_storage }} accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: standard hostPath: path: /data/vault-0/pv-influxdb-eom-dev 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: pv-claim-influxdb-eom-dev namespace: production spec: accessModes: - ReadWriteOnce resources: requests: storage: {{ influxdb_production_storage }} storageClassName: standard volumeName: pv-influxdb-eom-dev - name: Create a deployment k8s: definition: apiVersion: apps/v1 kind: Deployment metadata: name: deployment-influxdb-eom-dev namespace: production spec: replicas: 1 selector: matchLabels: app: eom.dev template: metadata: labels: app: eom.dev spec: containers: - name: influxdb image: influxdb volumeMounts: - name: pv-influxdb-eom-dev mountPath: /var/lib/influxdb2 ports: containerPort: 8086 env: # TODO: are these defined? - name: DOCKER_INFLUXDB_INIT_MODE value: "setup" - name: DOCKER_INFLUXDB_INIT_USERNAME value: "{{ influxdb_init_username }}" - name: DOCKER_INFLUXDB_INIT_PASSWORD value: "{{ influxdb_init_password }}" - name: DOCKER_INFLUXDB_INIT_ORG value: "{{ influxdb_init_org }}" - name: DOCKER_INFLUXDB_INIT_BUCKET value: "{{ influxdb_init_bucket }}" volumes: - name: pv-influxdb-eom-dev persistentVolumeClaim: claimName: pv-claim-influxdb-eom-dev - name: Expose deployment as a service k8s: definition: apiVersion: v1 kind: Service metadata: name: service-influxdb-eom-dev namespace: production spec: selector: app: eom.dev ports: - port: 8086 protocol: TCP name: influxdb-port-8086 type: ClusterIP