参考
https://github.com/influxdata/tick-charts
Step 1: Install helm & check tilller installed
brew install kubernetes-helm
helm init
kubectl get pods --namespace kube-system
显示
$ kubectl get pods --namespace kube-system
NAME READY STATUS RESTARTS AGE
etcd-minikube 1/1 Running 0 4d
kube-addon-manager-minikube 1/1 Running 5 5d
kube-apiserver-minikube 1/1 Running 0 4d
kube-controller-manager-minikube 1/1 Running 0 4d
kube-dns-86f4d74b45-4zzs2 3/3 Running 17 5d
kube-proxy-4lr75 1/1 Running 0 4d
kube-scheduler-minikube 1/1 Running 2 4d
kubernetes-dashboard-5498ccf677-xbc5f 1/1 Running 13 5d
storage-provisioner 1/1 Running 15 5d
tiller-deploy-f9b8476d-2wnzh 1/1 Running 0 3d
Step 2:
cd ~
git clone git clone git@github.com:influxdata/tick-charts.git
cd tick-charts
helm install --name data --namespace tick ./influxdb/
helm install --name polling --namespace tick ./telegraf-s/
helm install --name hosts --namespace tick ./telegraf-ds/
helm install --name alerts --namespace tick ./kapacitor/
helm install --name dash --namespace tick ./chronograf/
显示
GuoweiHedeMacBook-Pro:tick-charts guowei.he$ helm install --name data --namespace tick ./influxdb/
NAME: data
LAST DEPLOYED: Mon May 21 17:07:39 2018
NAMESPACE: tick
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
data-influxdb 1 1s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
data-influxdb ClusterIP 10.109.7.9 <none> 8086/TCP 1s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
data-influxdb 1 0 0 0 1s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
data-influxdb-ff95b6484-p5cnt 0/1 Pending 0 1s
NOTES:
InfluxDB can be accessed via port 8086 on the following DNS name from within your cluster:
- http://data-influxdb.tick:8086
You can easily connect to the remote instance with your local influx cli. To forward the API port to localhost:8086 run the following:
- kubectl port-forward --namespace tick $(kubectl get pods --namespace tick -l app=data-influxdb -o jsonpath='{ .items[0].metadata.name }') 8086:8086
You can also connect to the influx cli from inside the container. To open a shell session in the InfluxDB pod run the following:
- kubectl exec -i -t --namespace tick $(kubectl get pods --namespace tick -l app=data-influxdb -o jsonpath='{.items[0].metadata.name}') /bin/sh
To tail the logs for the InfluxDB pod run the following:
- kubectl logs -f --namespace tick $(kubectl get pods --namespace tick -l app=data-influxdb -o jsonpath='{ .items[0].metadata.name }')
GuoweiHedeMacBook-Pro:tick-charts guowei.he$ helm install --name polling --namespace tick ./telegraf-s/
NAME: polling
LAST DEPLOYED: Mon May 21 17:09:37 2018
NAMESPACE: tick
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
polling-telegraf-s 1 1s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
polling-telegraf-s ClusterIP 10.97.252.29 <none> 8125/UDP 1s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
polling-telegraf-s 1 0 0 0 1s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
polling-telegraf-s-84cf9b648f-hs2td 0/1 Pending 0 0s
NOTES:
To open a shell session in the container running Telegraf run the following:
- kubectl exec -i -t --namespace tick $(kubectl get pods --namespace tick -l app=polling-telegraf-s -o jsonpath='{.items[0].metadata.name}') /bin/sh
To tail the logs for a Telegraf pod run the following:
- kubectl logs -f --namespace tick $(kubectl get pods --namespace tick -l app=polling-telegraf-s -o jsonpath='{ .items[0].metadata.name }')
GuoweiHedeMacBook-Pro:tick-charts guowei.he$ helm install --name hosts --namespace tick ./telegraf-ds/
NAME: hosts
LAST DEPLOYED: Mon May 21 17:10:36 2018
NAMESPACE: tick
STATUS: DEPLOYED
RESOURCES:
==> v1beta1/DaemonSet
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
hosts-telegraf-ds 0 0 0 0 0 <none> 0s
==> v1/ConfigMap
NAME DATA AGE
hosts-telegraf-ds 1 0s
NOTES:
To open a shell session in the container running Telegraf run the following:
- kubectl exec -i -t --namespace tick $(kubectl get pods --namespace tick -l app=hosts-telegraf-ds -o jsonpath='{.items[0].metadata.name}') /bin/sh
To tail the logs for a Telegraf pod in the Daemonset run the following:
- kubectl logs -f --namespace tick $(kubectl get pods --namespace tick -l app=hosts-telegraf-ds -o jsonpath='{ .items[0].metadata.name }')
To list the running Telegraf instances run the following:
- kubectl get pods --namespace tick -l app=hosts-telegraf-ds -w
GuoweiHedeMacBook-Pro:tick-charts guowei.he$ helm install --name alerts --namespace tick ./kapacitor/
NAME: alerts
LAST DEPLOYED: Mon May 21 17:11:14 2018
NAMESPACE: tick
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
alerts-kapacitor 1 1s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alerts-kapacitor ClusterIP 10.111.121.190 <none> 9092/TCP 1s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
alerts-kapacitor 1 0 0 0 1s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
alerts-kapacitor-5958df56d4-6f8wq 0/1 Pending 0 1s
NOTES:
Kapacitor can be accessed via port 9092 on the following DNS name from within your cluster:
- http://alerts-kapacitor.tick:9092
You can easily connect to the remote instance from a local kapacitor cli. Forward the api port to localhost:9092
- kubectl port-forward --namespace tick $(kubectl get pods --namespace tick -l app=alerts-kapacitor -o jsonpath='{ .items[0].metadata.name }') 9092:9092
You can also connect to the container running Kapacitor. To open a shell session in the pod run the following:
- kubectl exec -i -t --namespace tick $(kubectl get pods --namespace tick -l app=alerts-kapacitor -o jsonpath='{.items[0].metadata.name}') /bin/sh
To tail the logs for the Kapacitor pod run the following:
- kubectl logs -f --namespace tick $(kubectl get pods --namespace tick -l app=alerts-kapacitor -o jsonpath='{ .items[0].metadata.name }')
uoweiHedeMacBook-Pro:tick-charts guowei.he$ helm install --name dash --namespace tick ./chronograf/
NAME: dash
LAST DEPLOYED: Mon May 21 17:11:45 2018
NAMESPACE: tick
STATUS: DEPLOYED
RESOURCES:
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
dash-chronograf-7c79fc5dd4-ldgwc 0/1 Pending 0 0s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dash-chronograf ClusterIP 10.109.251.124 <none> 80/TCP 0s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
dash-chronograf 1 0 0 0 0s
NOTES:
Chronograf can be accessed via port 80 on the following DNS name from within your cluster:
- http://dash-chronograf.tick
You can easily connect to the remote instance from your browser. Forward the webserver port to localhost:8888
- kubectl port-forward --namespace tick $(kubectl get pods --namespace tick -l app=dash-chronograf -o jsonpath='{ .items[0].metadata.name }') 8888
You can also connect to the container running Chronograf. To open a shell session in the pod run the following:
- kubectl exec -i -t --namespace tick $(kubectl get pods --namespace tick -l app=dash-chronograf -o jsonpath='{.items[0].metadata.name}') /bin/sh
To trail the logs for the Chronograf pod run the following:
- kubectl logs -f --namespace tick $(kubectl get pods --namespace tick -l app=dash-chronograf -o jsonpath='{ .items[0].metadata.name }')
显示IP
kubectl get svc -w --namespace tick -l app=dash-chronograf
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dash-chronograf ClusterIP 10.109.251.124 <none> 80/TCP 3m
运行端口映射,打开浏览器
kubectl port-forward --namespace tick $(kubectl get pods --namespace tick -l app=dash-chronograf -o jsonpath='{ .items[0].metadata.name }') 8888
open http://localhost:8888
设置influxdb链接信息
- Connection string: http://data-influxdb.tick:8086
- Name: Influx 1
- Username: telegraf
- Password: telegraf
- Telegraf database: telegraf