11

我按照这个说明 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

4

4 回答 4

8

您可以在容器操作系统虚拟机实例上启用 Stackdriver Monitoring Agent,只需运行此命令(并重新启动它)即可启用监控代理:

gcloud compute instances add-metadata instance-name --metadata=google-monitoring-enabled=true
于 2020-01-23T13:43:44.667 回答
7

你可以做

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

它将在代理运行的情况下启动一些容器。几分钟后,数据将显示在您的 stackdriver 仪表板中。

我没有在任何地方找到它的文档,所以我无法确定它到底在哪些图像中可用。但我在Container-Optimized OS 77-12371.114.0 stable

于 2019-11-06T13:31:14.503 回答
6

据我所知(以及 Google 已向我确认的内容),新的 Chromium OS 映像目前不支持 Stackdriver 代理。作为一种解决方法,我使用以下命令将节点池升级回“container-vm”(具有 Debian 映像):

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

替换集群名称并将节点池名称设置为之前升级到 gci 的名称(在我的情况下为“默认池”)。节点版本将升级到最新版本。但是,您可以添加一个选项来部署另一个版本。

您现在应该能够像以前一样安装 Stackdriver 代理并设置所需的自定义指标。

于 2016-11-29T14:42:46.727 回答
2

我能够解决代理与新 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
于 2017-12-06T20:00:28.690 回答