【发布时间】:2020-11-22 04:53:32
【问题描述】:
关注this和this后,如何在Pod中观察容器状态(如果容器崩溃、完成等)并在Pod中容器状态发生变化时触发事件?
假设我有一个带有 2 个容器的 Pod:
apiVersion: v1
kind: Pod
metadata:
name: busybox
labels:
app: busybox
spec:
containers:
- image: busybox
name: busybox5
command:
- sleep
- "5"
imagePullPolicy: IfNotPresent
- image: busybox
name: busybox50
command:
- sleep
- "50"
imagePullPolicy: IfNotPresent
restartPolicy: Never
我想在busybox5 容器完成执行而不是busybox50 时收到通知。我使用告密者做了以下类似的事情:
UpdateFunc: func(oldObj, obj interface{}) {
mObj := obj.(v1.Object)
log.Printf("%s: Updated", mObj.GetName())
},
这很简单。但它如何在多容器 Pod 中工作?如果我只想在 Pod 中处理关于 busybox5 容器的事件怎么办。如何在 Go 中实现这一点?
【问题讨论】:
标签: go kubernetes kubernetes-go-client