kubernetes-helm - Helm upgrade --install 没有接受新的更改
问题描述
我在我的构建 CI 中使用下面的命令,以便在每个构建上都进行 helm 部署。但是,我注意到未部署更改。
helm upgrade --install --force \
--namespace=default \
--values=kubernetes/values.yaml \
--set image.tag=latest \
--set service.name=my-service \
--set image.pullPolicy=Always \
myService kubernetes/myservice
我需要每次都标记图像吗?如果存在相同的版本,helm 不会进行安装吗?
解决方案
您不必每次都使用新标签来标记图像。只需添加
date: "{{ now | unixEpoch }}"
下spec/template/metadata/labels
并设置imagePullPolicy: Always
。Helm 会检测部署对象的变化,每次都会拉取最新的镜像:
apiVersion: apps/v1
kind: Deployment
metadata:
name: "{{ .Release.Name }}-{{ .Values.app.frontendName }}-deployment"
labels:
app.kubernetes.io/name: {{ .Values.app.frontendName }}
app.kubernetes.io/instance: {{ .Release.Name }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app.kubernetes.io/name: {{ .Values.app.frontendName }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ .Values.app.frontendName }}
app.kubernetes.io/instance: {{ .Release.Name }}
date: "{{ now | unixEpoch }}"
spec:
containers:
- name: {{ .Values.app.frontendName }}
image: "rajesh12/myimage:latest"
imagePullPolicy: Always
运行helm upgrade releaseName ./my-chart
以升级您的版本
推荐阅读
- c++ - 无向图移除
- c++ - Cmake C++ 项目与 src 中的特征标头
- git - 运行子模块更新时,为什么不总是使用--init?
- docker - bitwarden_rs 在 traefik v2.2(坏网关)后面不工作
- wikipedia - 扩展完整维基百科转储的维基文本的最佳方法是什么?
- android - 获取收到短信的号码(双卡)
- c - 从闪存STM32F1中读取特定地址的内容
- server - 从外部本地网络访问托管在 VPS 上的域
- javascript - 无法在两个相同功能中的一个或两个上设置 innerHTML
- javascript - 尽管减速器是正确的,但我的状态是空的/或未定义的