无论是通过命令行参数 --set endpointRoutes.enabled=false
还是清单文件
endpointRoutes:
enabled: false
都无法把 enable-endpoint-routes 的值设置为 false
,而设置 true
没这个问题,只能手动修改 cilium-config ConfigMap,请问如何解决?
使用的 helm 部署命令
helm upgrade cilium cilium/cilium --version 1.11.4 \
--install \
--namespace kube-system \
--set alibabacloud.enabled=true \
--set ipam.mode=alibabacloud \
--set enableIPv4Masquerade=false \
--set tunnel=disabled \
--set kubeProxyReplacement=strict \
--set k8sServiceHost=k8s-api \
--set k8sServicePort=6443 \
--set endpointRoutes.enabled=false
看看cilium-config里对应的行是否真的引用了 {{ .Values.endpointRoutes.enabled }} 这个变量吧,可能直接写死的true
helm 模板中的代码如下(cilium-configmap.yaml#L625)
{{- if and .Values.endpointRoutes .Values.endpointRoutes.enabled }}
enable-endpoint-routes: {{ .Values.endpointRoutes.enabled | quote }}
{{- end }}
目前来看似乎在部署过程中 enable-endpoint-routes
的值被自动重置为 true
@dudu: {{- if and .Values.endpointRoutes .Values.endpointRoutes.enabled }}跟{{- end }}仙注释掉部署下试试,false情况下enable-endpoint-routes这个值也不会走逻辑了,可能他原始默认值是true