Menjalankan Node KEEP Menggunakan Kubernetes dan Pantau Dengan Prometheus & Grafana

Translated by Xavi_Hernandez

Metode ini akan menunjukkan kepada anda:

  • Menjalankan node KEEP ECDSA menggunakan Kubernetes di Helm

  • Memantau pergerakan node dengan metrik Prometheus

  • Menginstal dashboard di Grafana

Metode ini ditujukan kepada audiens yang sedikit paham mengenai teknik, dan pandai membuat beberapa asumsi berdasarkan contoh yang ada. Jika anda seorang pemula yang ingin menjalankan node KEEP, anda bisa menemukan metode lainnya yang lebih mudah untuk anda di channel #staking-resources

Metode ini telah dicoba dengan menggunakan Cluster Kubernetes lokal (k3d), meskipun begitu metode ini juga dapat dilakukan pada cluster Kubernetes lainnya baik itu didalam cloud publik atau perangkat metal lainnya. Anda mungkin akan melakukan beberapa perubahan pada parameter berdasarkan spesifikasi cloud anda seperti penyeimbangan-beban(load-balancing) dan konfigurasi volum persistent, silahkan gunakan tabel konfigurasi ini untuk melihat apa yang didukung.

Anda juga bisa mengatur metode penginstalan ini untuk menjalankan node beacon dengan menggunakan tabel alternatif keep-client

Prasyarat

Metode ini berasumsi bahwa anda telah memiliki/menginstal:

  • K8s cluster yang berjalan dan memiliki akses kubectl

  • helmterinstal, lihat ini untuk menginstalnya

  • Ethereum wallet terotorisasi dan memiliki KEEP dan ETH didalamnya

  • KEEP Docker dengan layanan metrik (seluruh docker terbaru seharusnya dapat digunakan atau anda bisa membuatnya sendiri)

  • Versi terbaru golangterinstal didalam server anda

Instal Prometheus

Anda bisa melewati sesi ini apabila anda telah melakukan konfigurasi Prometheus didalam cluster anda

Untuk menginstal Prometheus & Grafana dengan cepat kita akan menginstal tabel prometheus-operator. Anda dapat melihat tabel yang tersedia sebagai pilihan, tetapi untuk saat ini kita akan menggunakan yang default saja.

Kita menggunakan tabel Help dari repo dan menginstalnya seperti biasa. Ini akan memungkinkan Prometheus, Grafana dan host untuk melakukan export pada Kubernetes.

$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
$ kubectl create ns monitoring
$ helm install -n monitoring prometheus-operator stable/prometheus-operator

Instal Node

Untuk penginstalan node kita akan menggunakan Helm untuk membuat proses penginstalannya agar lebih mudah dan gampang untuk di upgrade nantinya.

Penginstalan ini menggunakan config & wallet yang telah disediakan, silahkan lihat tabel repo

README untuk melihat contoh dan informasi lebih lanjutnya.

Dimulai dengan mendownload table ke lokal

$ git clone https://github.com/ajcrowe/keep-helm-chart
$ cd keep-helm-chart/keep-ecdsa

Buat local.yaml dan copy wallet anda kedalam wallet.json

$ touch local.yaml
$ cp /path/to/my/wallet.json wallet.json

Edit local.yaml dengan parameter yang dibutuhkan. Anda bisa melihat seluruh pilihan yang tersedia disini

Anda diharuskan untuk mengganti konfigurasi Ethereum dengan endpoint yang benar dan atur address wallet ETH anda.

# set our Ethereum backend settings
config:
  ethereum:
    url: "wss://<network>.infura.io/ws/v3/<mykey>"
    urlRpc: "https://<network>.infura.io/v3/<mykey>"
    account: "0xmyaddress"# set your wallet password
# or set with --set keyPass.password="password" on install
keyPass:
  password: "password"# enables the metrics section of our config.toml
metrics:
  enabled: true# enables the creation of a ServiceMonitor resource
serviceMonitor:
  enabled: true
  additionalLabels
    release: prometheus-operator# set an image which has metrics support builtin
image:
  repository: ajcrowe/keep-ecdsa
  tag: master

Setelah anda mengisi semuanya, anda bisa memilai penginstalan dengan

$ helm install keep-ecdsa -f local.yaml .

Lihat logs untuk memastikan node berjalan dan terkoneksi kedalam jaringan

$ kubectl logs -f -l app.kubernetes.io/instance=keep-client
...
22:43:06.883  INFO keep-net-l: number of connected peers: [83] libp2p.go:237
...

Dashboard Grafana

Sesi ini akan membahas bagaimana caranya menginstal dashboard Grafana dan juga memberikan kita informasi atas kesehatan dan juga performa node kita.

Dimulai dengan menginstal alat-alat yang dibutuhkan dan meng-cloning template dashboard

go get -u github.com/grafana/grizzly/cmd/grr
go get -u github.com/jsonnet-bundler/jsonnet-bundler/cmd/jbgit clone https://github.com/ajcrowe/keep-grafana-dashboard
cd keep-grafana-dashboard

Kita membutuhkan akses kedalam Grafana. Kita bisa melakukan ini dengan command kubectl port-forwarduntuk mengakses cluster lokal kita.

Anda membutuhkan layanan Ingress atauLoadBalancer untuk mengirimkan data metrik kedalam layanan cloud anda seperti Grafana

$ kubectl port-forward svc/prometheus-operator-grafana 8080:80 -n monitoring
Forwarding from 127.0.0.1:8080 -> 3000
Forwarding from [::1]:8080 -> 3000

Hubungkan ke http://localhost:8080dan login admin / prom-operator. Pada saat ini anda bisa memastikan bahwa anda telah menelima metrik dari node anda.

Pilih “Explore” dari menu

Lalu masukkan connected_peers_count dan jalankan querynya, anda seharusnya akan melihat hal yang seperti ini

peer count menunjukkan berjalannya node

Dengan data ini kita bisa menginstalnya kedalam dashboard kita

$ export GRAFANA_URL="http://admin:prom-operator@localhost:8080
$ grr apply keep-dashboard.jsonnet

Lalu anda bisa melihat data node anda secara langsung dan akan menampilkan hal yang seperti ini

Last updated