如何将 kubernetes 事件从 GKE 集群传播到谷歌云日志

Rui*_*ang 4 kubernetes google-kubernetes-engine

反正有没有将所有 kubernetes 事件传播到谷歌云日志?

例如,Pod 创建/删除或活性探测失败,我知道我可以在控制台中使用 kubectl get 事件。
但是,我想将这些事件与其他 pod 级别的日志一起保存在云日志中的日志文件中。
这是非常有用的信息。

Bra*_*vis 6

OP 似乎找到了日志,但我无法使用 Stackdriver 在 GKE (1.4.7) 上找到日志。弄清楚有点棘手,所以我想我会分享给其他人。我能够通过使用 gcl 接收器创建 eventer 部署来获取它们。

例如:

部署.yaml

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  labels:
    k8s-app: eventer
  name: eventer
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: eventer
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        k8s-app: eventer
    spec:
      containers:
      - name: eventer
        command:
        - /eventer
        - --source=kubernetes:''
        - --sink=gcl
        image: gcr.io/google_containers/heapster:v1.2.0
        imagePullPolicy: IfNotPresent
        resources:
          limits:
            cpu: 100m
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        terminationMessagePath: /dev/termination-log
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
Run Code Online (Sandbox Code Playgroud)

然后,使用高级过滤器搜索日志(替换您的 GCE 项目名称):

resource.type="global"
logName="projects/project-name/logs/kubernetes.io%2Fevents"
Run Code Online (Sandbox Code Playgroud)