1

我正在尝试在 Openshift 中运行 SonarQube pod,但它似乎正在以 root 作为所有者安装持久卷。

我们如何将其更改为非 root 用户?我用“hostPath”创建了我的持久卷。

您可以在下面找到更多信息:

Caused by: java.nio.file.AccessDeniedException: /opt/sonarqube/data/es
at java.nio.file.Files.createDirectory(Files.java:674)
at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
at java.nio.file.Files.createDirectories(Files.java:767)
at org.elasticsearch.env.NodeEnvironment.(NodeEnvironment.java:169)
at org.elasticsearch.node.Node.(Node.java:165)
... 6 common frames omitted

这是sonarqube目录截图

在此处输入图像描述

4

1 回答 1

0

您可以设置一个特定securityContext

  • 更改已安装的文件系统组
  • 更改运行 pod 的用户
  • 传递 SELinux 选项。

https://docs.openshift.org/latest/install_config/persistent_storage/pod_security_context.html提供了更多背景信息。

此设置在您的 DeploymentConfig 中完成。密钥securityContext应该已经存在。使用以下内容,目录应该是组可写的:

securityContext:
  fsGroup: <GROUPID OF SONAR>
于 2018-03-15T15:54:52.470 回答