非 root 用户 Helm & AKS



我试图连接和运行一个pod在一个AKS集群(v1.19.6)作为一个非root用户与Helm (v3.5.2),并得到一个崩溃循环与错误I have no name!。docker镜像和服务在运行时以正确的用户在本地运行,没有问题。

helm create mychart之后,我在值中设置了我的安全性。

podSecurityContext:
runAsNonRoot: true
runAsUser: 123

securityContext:
# capabilities:
#   drop:
#   - ALL
#readOnlyRootFilesystem: false
runAsNonRoot: true
runAsUser: 123

部署。下面是Yaml。除了连接到AKS集群的参数之外,我没有修改任何其他内容:

spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "mychart.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}

Dockerfile以

结尾
USER 123
EXPOSE 8080
CMD [ "sh", "-c", "./blah; bash"]

我是否正确,这是最有可能的问题?我该如何着手解决这个问题?支持文档会很有帮助的,我发现的所有东西都过时了。

我创建了一个启动脚本,用声明的用户启动服务。不确定这是否是k8的方法,但它有效。如果有人有更好的解决办法,我就不回答了。

相关内容

  • 没有找到相关文章

最新更新