gpt4 book ai didi

Kubernetes imagePullPolicy :Always is not pulling image automatically

转载 作者:行者123 更新时间:2023-12-05 00:45:51 24 4
gpt4 key购买 nike

我希望每次创建带有 latest 标签的新镜像时,Kubernetes 都会自动拉取新镜像。我在 pod 规范中添加了 imagePullPolicy: Always 但它不会用新图像更新旧图像。

apiVersion: apps/v1
kind: Deployment
metadata:
name: node
namespace: dev
labels:
app: my-node-app
spec:
replicas: 2
selector:
matchLabels:
app: my-node-app
template:
metadata:
labels:
app: my-node-app
spec:
hostNetwork: true
securityContext:
fsGroup: 1000
containers:
- name: node
imagePullPolicy: Always
image: gcr.io/my-repo/my-node-app:latest
ports:
- containerPort: 3000
envFrom:
- configMapRef:
name: my-configmap
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 2
memory: 8Gi
restartPolicy: Always

最佳答案

imagePullPolicy 仅在创建或重新启动 POD 时被 Kubernetes 考虑。 POD 运行时不考虑它,这意味着它不会在 POD 运行时随时检查镜像更新。

即使将另一个具有相同镜像的 POD 调度到同一个 Kubernetes 节点上,已经运行的 POD 也不受影响,即使 Kubernetes 执行拉取然后将新镜像用于新 POD。

如果您想要所需的功能,则必须实现自己的解决方案。您可以通过实现一个 sidecar 来定期检查 Docker 存储库以了解对给定标签的更改。当它检测到这种变化时,它可能会触发 POD 的重启,然后强制重新拉取图像。

可以通过简单地退出边车或使用边车内的 Kubernetes API 来触发 POD 的重启。然而,后一种解决方案变得更加复杂,因为您还需要服务帐户和 RBAC 规则才能在 sidecar 容器内获得适当的权限。它还具有安全隐患,您必须授予整个 POD 升级权限。

关于Kubernetes imagePullPolicy :Always is not pulling image automatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62809496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com