- Create the namespace
kubectl create ns monitoring
- Deploy influxdb
kubectl apply -f influxdb.yml
- Deploy chronograf
kubectl apply -f chronograf.yml
| --- | |
| # Section: chronograf configmap | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| namespace: monitoring | |
| name: chronograf | |
| labels: | |
| app: chronograf | |
| component: chronograf | |
| data: | |
| monitor.src: |- | |
| { | |
| "id": "5000", | |
| "name": "internal", | |
| "url": "http://{{ .INFLUXDB_SERVICE_HOST }}:{{ .INFLUXDB_SERVICE_PORT}}", | |
| "type": "influx", | |
| "insecureSkipVerify": false, | |
| "default": true, | |
| "telegraf": "cloud", | |
| "organization": "influx" | |
| } | |
| --- | |
| # Section: chronograf service | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| namespace: monitoring | |
| name: chronograf | |
| spec: | |
| ports: | |
| - port: 80 | |
| targetPort: 8888 | |
| name: server | |
| selector: | |
| app: chronograf | |
| --- | |
| # Section: chronograf deployment | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| namespace: monitoring | |
| name: chronograf | |
| labels: | |
| app: chronograf | |
| component: chronograf | |
| spec: | |
| strategy: | |
| type: "Recreate" | |
| selector: | |
| matchLabels: | |
| app: chronograf | |
| replicas: 1 | |
| template: | |
| metadata: | |
| name: chronograf | |
| labels: | |
| app: chronograf | |
| component: chronograf | |
| spec: | |
| containers: | |
| - name: chronograf | |
| image: quay.io/influxdb/chronograf:nightly | |
| env: | |
| - name: RESOURCES_PATH | |
| value: "/usr/share/chronograf/resources" | |
| - name: LOG_LEVEL | |
| value: "error" | |
| ports: | |
| - containerPort: 8888 | |
| name: server | |
| volumeMounts: | |
| - name: data | |
| mountPath: /var/lib/chronograf | |
| - name: config | |
| mountPath: /usr/share/chronograf/resources | |
| volumes: | |
| - name: data | |
| persistentVolumeClaim: | |
| claimName: chronograf | |
| - name: config | |
| configMap: | |
| name: chronograf | |
| --- | |
| # Section: chronograf service | |
| kind: PersistentVolumeClaim | |
| apiVersion: v1 | |
| metadata: | |
| namespace: monitoring | |
| name: chronograf | |
| labels: | |
| app: chronograf | |
| component: chronograf | |
| spec: | |
| accessModes: | |
| - "ReadWriteOnce" | |
| resources: | |
| requests: | |
| storage: 1Gi | |
| --- | |
| # vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^#\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': |
| # Section: influxdb service | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| namespace: monitoring | |
| name: influxdb | |
| labels: | |
| component: influxdb | |
| app: influxdb | |
| spec: | |
| clusterIP: None | |
| ports: | |
| - port: 8086 | |
| name: server | |
| selector: | |
| component: influxdb | |
| publishNotReadyAddresses: true | |
| --- | |
| # Section: influxdb statefulset | |
| apiVersion: apps/v1 | |
| kind: StatefulSet | |
| metadata: | |
| namespace: monitoring | |
| name: influxdb | |
| labels: | |
| component: influxdb | |
| app: influxdb | |
| spec: | |
| serviceName: influxdb | |
| selector: | |
| matchLabels: | |
| component: influxdb | |
| replicas: 1 | |
| template: | |
| metadata: | |
| name: influxdb | |
| labels: | |
| component: influxdb | |
| app: influxdb | |
| spec: | |
| containers: | |
| - name: influxdb | |
| image: docker.io/influxdb:1.6 | |
| lifecycle: | |
| postStart: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - "-c" | |
| - until curl -s http://localhost:8086/ping; do sleep 1; done; influx -execute "CREATE DATABASE \"${MONITOR_DATABASE}\" WITH DURATION 30d NAME ${MONITOR_RP}" | |
| env: | |
| - name: INFLUXDB_IFQL_ENABLED | |
| value: "true" | |
| - name: INFLUXDB_LOGGING_LEVEL | |
| value: "error" | |
| - name: INFLUXDB_HTTP_LOG_ENABLED | |
| value: "false" | |
| - name: MONITOR_RP | |
| value: "monthly" | |
| - name: MONITOR_DATABASE | |
| value: "monitor" | |
| volumeMounts: | |
| - name: data | |
| mountPath: /var/lib/influxdb | |
| ports: | |
| - containerPort: 8086 | |
| name: server | |
| - containerPort: 8082 | |
| name: ifql | |
| volumeClaimTemplates: | |
| - metadata: | |
| namespace: monitoring | |
| name: data | |
| spec: | |
| accessModes: | |
| - "ReadWriteOnce" | |
| resources: | |
| requests: | |
| storage: 10Gi | |
| --- | |
| # vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^#\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': |