【问题标题】:standard_init_linux.go:211: exec user process caused "permission denied"standard_init_linux.go:211:exec 用户进程导致“权限被拒绝”
【发布时间】:2020-05-03 04:38:23
【问题描述】:

当尝试以非 root 身份运行 gcr.io/google_containers/defaultbackend 时,当我在日志中看到以下错误时,pod 进入 crashLoopBackOff 状态

standard_init_linux.go:211: exec 用户进程导致“权限被拒绝”

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: ingress-default-backend
  name: ingress-default-backend
  namespace: ingress-haproxy
spec:
  replicas: 1
  selector:
    matchLabels:
      run: ingress-default-backend
  template:
    metadata:
      labels:
        run: ingress-default-backend
    spec:
      containers:
        - name: ingress-default-backend
          image: gcr.io/google_containers/defaultbackend:1.0
          ports:
          - containerPort: 8080
          securityContext:
            runAsGroup: 1000
            runAsNonRoot: true
            runAsUser: 1000

操作系统:Ubuntu 18.04.1 LTS

注意:此问题仅适用于 ubuntu 18.04.1

【问题讨论】:

  • 您好,您的集群是如何部署的,您使用的是哪个 k8s 版本?
  • 我已经在 AWS ec2 主机(ubuntu 18.04.1)上部署了 1.15 集群。

标签: kubernetes ubuntu-18.04 kubernetes-ingress


【解决方案1】:

看起来问题是由于您尝试在部署中运行此容器的用户缺少可执行权限。

您可以尝试修改映像 dockerfile 并添加几行代码,以允许正确的用户执行类似 github 问题中的命令。

this StackOverflow 帖子中也有很多有用的信息。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    相关资源
    最近更新 更多