部署控制器只能控制由它创建的Pods。如果需要控制其他Pods,可以使用其他类型的控制器,如DaemonSet或StatefulSet。以下为使用DaemonSet控制器控制其他Pods的示例代码:
首先,创建一个DaemonSet控制器文件,以指定要控制的Pod。在这个例子中,我们将控制所有运行在Node上的kube-proxy Pod:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: my-daemonset
spec:
selector:
matchLabels:
name: kube-proxy
template:
metadata:
labels:
name: kube-proxy
spec:
containers:
- name: my-container
image: my-image
然后,将这个控制器文件应用到Kubernetes集群中,以便开始控制Pods:
kubectl apply -f my-daemonset.yaml
现在,这个DaemonSet控制器将会控制所有运行在Node上、标签为“kube-proxy”的Pod,而不管它们是否由这个控制器创建。