簡體   English   中英

如何在 Google Container VM 鏡像中安裝 Stackdriver 監控代理?

[英]How to install Stackdriver monitoring agent in Google Container VM images?

我按照此說明https://cloud.google.com/monitoring/agent/install-agent#linux-install

$ curl -O "https://repo.stackdriver.com/stack-install.sh"
$ sudo bash stack-install.sh --write-gcm
Unidentifiable or unsupported platform.

/etc/os-release 的內容。

$ cat /etc/os-release
BUILD_ID=8820.0.0
NAME="Container-VM Image"
GOOGLE_CRASH_ID=Lakitu
VERSION_ID=55
BUG_REPORT_URL=https://crbug.com/new
PRETTY_NAME="Google Container-VM Image"
VERSION=55
GOOGLE_METRICS_PRODUCT_ID=26
HOME_URL="https://cloud.google.com/compute/docs/containers/vm-image/"
ID=gci

https://cloud.google.com/compute/docs/containers/vm-image/faq#what_is_the_software_package_manager_for_container-vm_image

為了更新特定的包,需要更新整個操作系統映像

因此,似乎我們必須等到更新堆棧驅動程序代理安裝版本的圖像或放棄它。

此外,這個 vm 圖像不是我的選擇。 新創建的 GKE 節點默認使用 Container-VM 映像。 所以現在我將嘗試通過gcloud container node-pools create --image-type創建節點

您可以在容器操作系統虛擬機實例上啟用 Stackdriver Monitoring Agent,只需運行此命令(並重新啟動它)即可啟用監控代理:

gcloud compute instances add-metadata instance-name --metadata=google-monitoring-enabled=true

你可以做

sudo systemctl start stackdriver-logging
sudo systemctl start stackdriver-monitoring

它將在代理運行時啟動一些容器。 幾分鍾后,數據將顯示在您的 Stackdriver 儀表板中。

我沒有在任何地方找到它的記錄,所以我無法確定在哪些圖像中可以使用它。 但我在Container-Optimized OS 77-12371.114.0 stable對其進行了測試

據我所知(以及 Google 向我確認的內容),新的 Chromium OS 映像目前不支持 Stackdriver 代理。 作為一種解決方法,我使用以下命令將節點池升級回“container-vm”(具有 Debian 映像):

$ gcloud container clusters upgrade YOUR_CLUSTER_NAME --image-type=container_vm --node-pool=YOUR_NODE_POOL

替換集群名稱並將節點池名稱設置為之前升級到 gci 的名稱(在我的情況下為“default-pool”)。 節點版本將升級到最新版本。 但是,您可以添加一個選項來部署另一個版本。

您現在應該能夠像習慣一樣安裝 Stackdriver 代理並設置所需的自定義指標。

我能夠解決代理與新 Chromium 映像不兼容的問題的方法是將代理部署為以特權模式運行的容器(方便地已經構建: https : //github.com/wikiwi/stackdriver-agent )在 kubernetes DaemonSet 中,因此它在每個主機上運行。 這是我最終使用的 YAML(空格很重要):

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: stackdriver-agent
spec:
  template:
    metadata:
      labels:
        app: stackdriver-agent
    spec:
      containers:
      - name: stackdriver-agent
        image: wikiwi/stackdriver-agent
        securityContext:
          privileged: true
        volumeMounts:
        - mountPath: /mnt/proc
          name: procmnt
        env:
          - name: MONITOR_HOST
            value: "true"
      volumes:
      - name: procmnt
        hostPath:
          path: /proc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM