Kubernetes上的NiFi存在许可问题

f0ofjuux  于 12个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(128)

我们有多个容器,其中一个是在PVC上挂载卷,另一个是nifi容器,试图访问这些挂载的卷,包括nifi目录。
pv(在nfs上)中挂载卷的用户id是10030,而nifi使用1000的用户id,导致pod崩溃,因为它没有足够的权限访问nifi目录。
我们如何在编写文件中将nifi默认用户更改为100030或做其他事情来解决这个问题。谢谢
我们尝试了多种方法,包括给nifi用户设置音量,但它又变回了10030。

yi0zb3m4

yi0zb3m41#

要解决此问题,您需要确保NiFi使用的用户ID与已挂载卷的用户ID匹配。您可以考虑以下几种方法。

**1:**在您的Kubernetes部署中,您可以通过在NiFi容器规范中设置securityContext来指定NiFi应该运行的用户ID。

containers:
  - name: nifi-container
    image: your-nifi-image
    securityContext:
      runAsUser: 10030

字符串
这将确保NiFi使用用户ID 10030运行,与已安装卷的用户ID匹配。

**2:**出于安全考虑,不建议您以root用户身份运行NiFi,然后修改挂载卷的权限,允许NiFi用户(ID 1000)访问。但这种方式可能会带来安全风险,请谨慎使用。
**3:**您可以在NiFi启动前使用initContainer调整挂载卷的权限,initContainer可以对NiFi需要访问的目录/文件设置相应的权限。

initContainers:
  - name: volume-permissions
    image: busybox
    command: ["sh", "-c", "chown -R 1000:1000 /path/to/mounted/volume"]
    volumeMounts:
      - name: your-volume
        mountPath: /path/to/mounted/volume

containers:
  - name: nifi-container
    image: your-nifi-image


在本例中,init容器会在NiFi启动前将挂载卷的所有权更改为用户ID 1000。

相关问题