我创建了一个新的 kubernetes 集群 (GKE) 并使用 helm 安装了一个应用程序。
我能够使用以下命令找到部署我的 pod 的 gke-node:
kubectl get pod -n namespace -o wide
发布我登录到 kubernetes-node,但是在这个节点上我无法查看 docker 图像。v1.21.4-gke.2300 上就是这种情况
在旧版本 v1.19.13-gke.1200 中,当从存储库中提取节点时,我能够观察节点上的 docker 镜像
我可以使用以下命令查看 v1.21.4-gke.2300 上的 docker-images 列表
kubectl get pods -n geo-test -o jsonpath="{.items[*].spec.containers[*].image}" | tr -s '[[:space:]]' '\n' | sort | uniq -c
但我想知道这些图像存储在集群中的哪个位置以及为什么我无法像在旧版本中那样在节点中观察它们
我问的原因是,因为在版本 v1.19.13-gke.1200 中,我能够在 docker-image 中执行微小的更改,构建自定义映像并使用它进行安装,而不是将映像存储在 gcr 中并拉取关于如何在新的环境中进行操作的任何建议
我有一个定义如下的 configmap 文件
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-dashboard-cm-conf
namespace: {{ .Release.Namespace }}
data:
{{ (tpl (.Files.Glob "conf/*").AsConfig . ) | indent 2 }}
Run Code Online (Sandbox Code Playgroud)
正如您在上面看到的,它占用了“conf”文件夹的内容作为数据。一切正常,但是当我尝试使用“部署文件中的以下行”实施“注释”以触发“POD 重新启动”时,会观察到问题。
annotations:
checksum/config-map: {{ include (print .Template.BasePath "/dashboard-conf-map.yaml") . | sha256sum }}
Run Code Online (Sandbox Code Playgroud)
即使“conf”文件夹的内容发生更改并且执行“helm 升级”,POD 也不会重新启动。
如果我使用一个简单的配置映射,其数据定义如下,参数的更改和“helm 升级”确实会导致 POD 重新启动
data:
parameter1: testparam1
parameter2: testparam2
Run Code Online (Sandbox Code Playgroud)
我在这里有以下问题
有没有办法对文件夹执行校验和。
有没有办法在 configmap.txt 中获取像下面这样的 linux-command 的输出?
find dashboard/conf/ -type f -exec md5sum {} \; |md5sum
annotations:
checksum: {{ include (print .Template.BasePath "/logback-spring.xml") . | …Run Code Online (Sandbox Code Playgroud)