Part 2: Mengenal Heapster,cAdvisor,Influxdb dan Grafana ::: Cara install dan konfigurasi Grafana
Hai 😉 apa kabar. Pada part 1 (Disini) sebelumnya ayies sudah infokan mengenai apa itu dan fungsi dari Heapster,cAdvisor,Influxdb dan Grafana pada sistem clustering kubernetes. Kali ini ayies akan lanjut ke Part 2 mengenai Cara install dan konfigurasi Grafana.
Grafana digunakan (berkolaborasi dengan Heapster,cAdvisor,Influxdb) sebagai tool visualisasi monitoring dan kondisi pods di cluster kubernetes (monitoring pods,services,dll). Tampilannya kaya gini kira2:
Kali ini ayies akan fokus ke installasi dan konfigurasi. Untuk penjelasan makin mendetail mengenai Heapster,cAdvisor,Influxdb dan Grafana akan ayies jelaskan pada part2 selanjutnya (tenang akan lanjut terus kok!)
Yuk mulai. Pastikan kamu sudah memiliki kubernetes yang sudah terinstall. Kalau belum silahkan kunjungi tutorial ayies yah secara berurutan disini: https://www.ayies.com/cara-install-dan-setup-kubernetes-docker-di-linux-server
LOGIN KE SERVER MASTER
Pastikan kamu sudah install dan setup Heapster dan Influxdb pada langkah part 1. Untuk memastikan services heaspter-influxdb sudah running jalankan perintah berikut:
kubectl cluster-info
Buat file berikut:
nano grafana.yaml
Dan masukan pada file tersebut baris text ini:
--- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: monitoring-grafana namespace: kube-system spec: replicas: 1 template: metadata: labels: task: monitoring k8s-app: grafana spec: containers: - name: grafana image: gcr.io/google_containers/heapster-grafana-amd64:v4.0.2 ports: - containerPort: 3000 protocol: TCP volumeMounts: - mountPath: /var name: grafana-storage env: - name: INFLUXDB_HOST value: monitoring-influxdb - name: GRAFANA_PORT value: "3000" - 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 value: / volumes: - name: grafana-storage emptyDir: {} --- apiVersion: v1 kind: Service metadata: labels: kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana name: monitoring-grafana namespace: kube-system spec: # Uncomment berikut jika ingin bs diakses dari Nodeport expose # type: NodePort ports: - port: 80 targetPort: 3000 selector: k8s-app: grafana
Simpan. Dan jalankan perintah berikut:
kubectl apply -f grafana.yaml
Sehingga outputnya:
Grafana sudah berhasil terdeploy. Oiyah seperti konsep pada clustering kubernetes bahwa kamu bisa akses pod kamu via VPN (karena secara default seluruh POD hanya bisa diakses via IP internal) atau kamu bisa expose pod grafana ini agar bisa diakses dari IP public kamu dengan cara di expose ke port node random (di production kurang aman yah ;))
Caranya jalankan perintah berikut:
sudo kubectl -n kube-system edit service monitoring-grafana
Ubah pada bagian bawah dari ClusterIP menjadi NodePort
Lalu simpan (ini modus vi/vim gunakan cara pencet escape lalu ketik :wq! lalu enter untuk simpan)
Jalankan perintah berikut untuk liat berapa portnya:
kubectl -n kube-system get service monitoring-grafana
Misalkan tertulis Port(s) : 80/31635 maka kamu bisa akses Grafana kamu dialamat:
http://IPPUBLIC:31635
Tampilan browser akan seperti ini:
Tenang tampilannya masih kosong karena memang kita belum deploy aplikasi/pod di cluster ini kan 😉 sabar-sabar… ayies akan jelaskan secara kontinu pada tutorial selanjutnya. Tetap pantau dan kunjungi ayies.com yah…
Selamat kamu berhasil!Â