首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在ak中启动apache-nifi。

无法在ak中启动apache-nifi。
EN

Stack Overflow用户
提问于 2019-07-22 07:36:31
回答 3查看 2.4K关注 0票数 2

嗨,我所有的工作是在Nifi和我试图安装在AKS (Azure kubernetes服务)。使用nifi 1.9.2版本。在AKS中安装它时会给出一个错误

代码语言:javascript
复制
replacing target file  /opt/nifi/nifi-current/conf/nifi.properties
sed: preserving permissions for ‘/opt/nifi/nifi-current/conf/sedSFiVwC’: Operation not permitted
replacing target file  /opt/nifi/nifi-current/conf/nifi.properties
sed: preserving permissions for ‘/opt/nifi/nifi-current/conf/sedK3S1JJ’: Operation not permitted
replacing target file  /opt/nifi/nifi-current/conf/nifi.properties
sed: preserving permissions for ‘/opt/nifi/nifi-current/conf/sedbcm91T’: Operation not permitted
replacing target file  /opt/nifi/nifi-current/conf/nifi.properties
sed: preserving permissions for ‘/opt/nifi/nifi-current/conf/sedIuYSe1’: Operation not permitted
NiFi running with PID 28.
The specified run.as user nifi
 does not exist. Exiting.
Received trapped signal, beginning shutdown...

下面是我的nifi.yml文件

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nifi-core
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nifi-core
  template:
    metadata:
      labels:
        app: nifi-core
    spec:
      containers:
        - name: nifi-core
          image: my-azurecr.io/nifi-core-prod:1.9.2
          env:
            - name: NIFI_WEB_HTTP_PORT
              value: "8080"
            - name: NIFI_VARIABLE_REGISTRY_PROPERTIES
              value: "./conf/custom.properties"
          resources:
            requests:
              cpu: "6"
              memory: 12Gi
            limits:
              cpu: "6"
              memory: 12Gi
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: my-nifi-core-conf
              mountPath: /opt/nifi/nifi-current/conf
      volumes:
        - name: my-nifi-core-conf
          azureFile:
            shareName: my-file-nifi-core/nifi/conf
            secretName: my-nifi-secret
            readOnly: false

我在nifi Dockerfile中进行了一些定制,它复制了一些与我的配置相关的配置文件。当我在我的本地上运行my-azurecr.io/nifi-core-prod:1.9.2对接映像时,它像预期的那样工作,但是当我试图在AKS上运行它时,它会出现上述错误。由于它与权限相关,我在Dockerfile中尝试过用户nifiroot

在同一资源组中运行的卷my-nifi-core-conf中提供了所有所需的配置文件。由于我使用的是码头启动nifi,我的例外是,不管环境如何,它的行为都是一样的。无论是在我的本地人还是在AKS。但是错误也说用户nifi不存在。官方的nifi图像设置了用户需求。

任何人都可以帮忙,我不能在交互模式下启动容器,而不是在运行模式下启动容器。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2019-07-22 12:18:03

我认为你错过了你的库伯内特斯球的安全上下文定义。Nifi在Docker中运行的用户有一个特定的UID和GID,使用您得到的错误消息,我怀疑因为该用户不是在Pod的安全上下文中定义的,所以它没有按预期启动。

看一看关于安全上下文的Kubernetes文档部分,这应该足够让您开始工作了。

我还想看看在测试Kubernetes部署时使用类似Minikube之类的东西,因为Kubernetes在一个容器引擎(如Docker )周围增加了大量的控件。

安全上下文文档:https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ Minikube:https://kubernetes.io/docs/setup/learning-environment/minikube/

票数 1
EN

Stack Overflow用户

发布于 2021-09-02 16:57:45

如果您不知道这一点,我就可以在主容器之前运行一个initContainer,并在那里更改目录。

代码语言:javascript
复制
initContainers:
      - name: init1
        image: busybox:1.28
        volumeMounts:
        - name: nifi-pvc
          mountPath: "/opt/nifi/nifi-current"
        command: ["sh", "-c", "chown -R 1000:1000 /opt/nifi/nifi-current"] #or whatever you want to do as root
票数 1
EN

Stack Overflow用户

发布于 2021-09-20 12:01:11

更新:不适用于nifi 1.14.0 -适用于1.13.2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57141136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档