iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
0

在上一篇的文章中我們已經用go把監控程式開發完成,接下來這會講Dockerfie製作和如何取得gcp身份驗證。

Dockerfie

在開始製做映像檔時,我們需要把之前申請的服務帳號金鑰(json檔案),拿出來準備和Google Cloud API進行身份驗證。

# dockerfile
# Author: 阿榜
# Version: 1.0.0
FROM golang:1.14.8-alpine3.12 AS builder
LABEL stage=aurora-intermediate
ENV GO111MODULE=on

ADD ./ /go/src/k8swatch
RUN cd /go/src/k8swatch && go build -mod vendor

# final stage
FROM google/cloud-sdk:312.0.0-alpine
COPY --from=builder /go/src/k8swatch/k8swatch /go/src/k8swatch/gcp.json /go/src/k8swatch/run.sh ./
RUN chmod +x ./run.sh

ENV GCP_PORJECT "xxxxx"
ENV GCP_CLUSTER "xxx-xxx"
ENV GOOGLE_APPLICATION_CREDENTIALS "./gcp.json"

CMD ["./run.sh"]
  • GCP_PORJECT : 專案ID
  • GCP_CLUSTER : 叢集名稱
  • GOOGLE_APPLICATION_CREDENTIALS : 服務帳號金鑰的JSON檔案路徑

使用gcloud進行身份驗證

#run.sh
#!/bin/bash
gcloud auth activate-service-account --key-file /gcp.json > output.log 2>&1
gcloud container clusters get-credentials $GCP_CLUSTER --zone asia-east1-a --project $GCP_PORJECT > output.log 2>&1
./k8swatch

總結

通過client-go對k8s叢集的操作,我們可以很輕易的達到監控資源的狀況,這次client-go加上telegram可以很容易達成k8s的監控,以便我們能快速掌握系統的變動。

完整範例程式都放在github,有需要請自行下載


上一篇
Day25 k8s監控 (3)
下一篇
Day27 認識ELK
系列文
微服務系統建置與監控30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言