bash - 运行sh文件时在k8s initContainer上获得权限被拒绝

标签 bash kubernetes

我有一个带有 2 个容器的 k8s YAML 文件。 initContainer和主容器。我正在使用卷挂载要在 initContainer 中运行的脚本文件但我收到 permission denied错误。
这是片段。

  volumes:
  - name: casacm-script
    configMap:
      name: {{ include "oxauth.name" . }}-casacm-script 

并在 initContainer我安装它喜欢
 initContainers:
  - name: {{ include "oxauth.name" .}}-init 
    image: gcr.io/cloud-builders/kubectl:latest
    command: 
      - sh
      - -c 
      - /scripts/casacm.sh   
    volumeMounts:
      - name: casacm-script
        mountPath: "/scripts/casacm.sh"
        subPath: casacm.sh

最佳答案

将您的卷更改为以下以添加权限。

volumes:
  - name: casacm-script
    configMap:
      name: {{ include "oxauth.name" . }}-casacm-script 
      defaultMode: 0777

关于bash - 运行sh文件时在k8s initContainer上获得权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59717437/

相关文章:

bash - 理解 find 中的转义括号

docker - 如何从 kubernetes 作业的部署 yml 覆盖 Dockerfile 的入口点 `/bin/sh`?

git - 来自 Git 别名的 Bash 中的错误变量名

kubernetes - 如何在 Kubernetes 中的容器之间共享源自容器的目录?

kubernetes - GKE 上 istio-ingress 和 istio-ingressgateway 的区别

kubernetes - 如何获取在 prometheus 中运行的 Pod 数量

kubernetes - 如何在 Kubernetes Flink 集群中实现 JobManager 高可用?

windows - 将 PowerShell 转换为 Bash

linux - NTILE csv 中的一列 - Linux

regex - Mac OS X 上的 grep/ack 查找多个字符串并尊重文件类型