Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- influxdb.yaml:
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: monitoring-influxdb
- namespace: kube-system
- spec:
- replicas: 1
- selector:
- matchLabels:
- k8s-app: influxdb
- template:
- metadata:
- labels:
- task: monitoring
- k8s-app: influxdb
- spec:
- containers:
- - name: influxdb
- image: gcr.io/google_containers/heapster-influxdb-amd64:v1.3.3
- volumeMounts:
- - mountPath: /data
- name: influxdb-storage
- volumes:
- - name: influxdb-storage
- emptyDir: {}
- ---
- apiVersion: v1
- kind: Service
- metadata:
- labels:
- task: monitoring
- # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons)
- # If you are NOT using this as an addon, you should comment out this line.
- kubernetes.io/cluster-service: 'true'
- kubernetes.io/name: monitoring-influxdb
- name: monitoring-influxdb
- namespace: kube-system
- spec:
- ports:
- - port: 8086
- targetPort: 8086
- selector:
- k8s-app: influxdb
- grafana.yaml:
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: monitoring-grafana
- namespace: kube-system
- spec:
- replicas: 1
- selector:
- matchLabels:
- k8s-app: grafana
- template:
- metadata:
- labels:
- task: monitoring
- k8s-app: grafana
- spec:
- containers:
- - name: grafana
- image: gcr.io/google_containers/heapster-grafana-amd64:v4.4.3
- ports:
- - containerPort: 3000
- protocol: TCP
- volumeMounts:
- - mountPath: /etc/ssl/certs
- name: ca-certificates
- readOnly: true
- - mountPath: /var
- name: grafana-storage
- env:
- - name: INFLUXDB_HOST
- value: monitoring-influxdb
- - name: GF_SERVER_HTTP_PORT
- value: "3000"
- # The following env variables are required to make Grafana accessible via
- # the kubernetes api-server proxy. On production clusters, we recommend
- # removing these env variables, setup auth for grafana, and expose the grafana
- # service using a LoadBalancer or a public IP.
- - name: GF_AUTH_BASIC_ENABLED
- value: "false"
- - name: GF_AUTH_ANONYMOUS_ENABLED
- value: "true"
- - name: GF_AUTH_ANONYMOUS_ORG_ROLE
- value: Admin
- - name: GF_SERVER_ROOT_URL
- # If you're only using the API Server proxy, set this value instead:
- # value: /api/v1/proxy/namespaces/kube-system/services/monitoring-grafana/
- value: /
- volumes:
- - name: ca-certificates
- hostPath:
- path: /etc/ssl/certs
- - name: grafana-storage
- emptyDir: {}
- ---
- apiVersion: v1
- kind: Service
- metadata:
- labels:
- # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons)
- # If you are NOT using this as an addon, you should comment out this line.
- kubernetes.io/cluster-service: 'true'
- kubernetes.io/name: monitoring-grafana
- name: monitoring-grafana
- namespace: kube-system
- spec:
- # In a production setup, we recommend accessing Grafana through an external Loadbalancer
- # or through a public IP.
- # type: LoadBalancer
- # You could also use NodePort to expose the service at a randomly-generated port
- type: NodePort
- ports:
- - port: 80
- targetPort: 3000
- selector:
- k8s-app: grafana
- heapster_with_RBAC.yaml:
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: heapster
- namespace: kube-system
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: heapster
- namespace: kube-system
- spec:
- replicas: 1
- selector:
- matchLabels:
- k8s-app: heapster
- template:
- metadata:
- labels:
- task: monitoring
- k8s-app: heapster
- spec:
- serviceAccountName: heapster
- containers:
- - name: heapster
- image: gcr.io/google_containers/heapster-amd64:v1.5.4
- imagePullPolicy: IfNotPresent
- command:
- - /heapster
- - --source=kubernetes.summary_api:https://kubernetes.default?kubeletHttps=true&kubeletPort=10250
- - --sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086
- ---
- apiVersion: v1
- kind: Service
- metadata:
- labels:
- task: monitoring
- # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons)
- # If you are NOT using this as an addon, you should comment out this line.
- kubernetes.io/cluster-service: 'true'
- kubernetes.io/name: Heapster
- name: heapster
- namespace: kube-system
- spec:
- ports:
- - port: 80
- targetPort: 8082
- selector:
- k8s-app: heapster
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: heapster
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: system:heapster
- subjects:
- - kind: ServiceAccount
- name: heapster
- namespace: kube-system
- dashboard-rbac.yaml:
- apiVersion: rbac.authorization.k8s.io/v1beta1
- kind: ClusterRoleBinding
- metadata:
- name: kubernetes-dashboard
- labels:
- k8s-app: kubernetes-dashboard
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin
- subjects:
- - kind: ServiceAccount
- name: kubernetes-dashboard
- namespace: kube-system
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement