Sed 无法在aks中启动apache nifi
大家好,我正在Nifi上工作,我正在尝试将其安装在AKS(Azure kubernetes服务)中。 使用nifi 1.9.2版本。在AKS中安装它时,给了我一个错误Sed 无法在aks中启动apache nifi,sed,apache-nifi,azure-aks,Sed,Apache Nifi,Azure Aks,大家好,我正在Nifi上工作,我正在尝试将其安装在AKS(Azure kubernetes服务)中。 使用nifi 1.9.2版本。在AKS中安装它时,给了我一个错误 replacing target file /opt/nifi/nifi-current/conf/nifi.properties sed: preserving permissions for ‘/opt/nifi/nifi-current/conf/sedSFiVwC’: Operation not permitted re
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文件
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
我在nifiDockerfile
中进行了一些定制,它复制了一些与我的配置相关的配置文件。当我在本地运行我的azurecr.io/nifi core产品:1.9.2docker映像时,它会按预期工作
但当我试图在AKS上运行它时,它给出了上面的错误。由于它与权限相关,我在Dockerfile中尝试了用户nifi
和root
在同一资源组中运行的卷my nifi core conf
中提供了所有必需的配置文件。
由于我正在使用docker启动nifi,我的例外是,无论环境如何,它的行为都是一样的。无论是在我的本地还是在AKS。
但错误也表示用户nifi不存在。官方设置了用户需求
有人能帮忙吗,我不能在交互模式下启动容器,因为pods处于非运行模式。提前感谢。我认为您缺少Kubernetes吊舱的安全上下文定义。Nifi在Docker中运行的用户有一个特定的UID和GID,如果您收到错误消息,我会怀疑,因为该用户没有在Pod的安全上下文中定义,所以它没有按预期启动 请看一下Kubernetes文档中有关安全上下文的部分,这应该足以让您开始学习 在测试Kubernetes部署时,我还会考虑使用Minikube之类的工具,因为Kubernetes在Docker这样的容器引擎周围添加了大量控件 安全上下文文档:
Minikube:是的。。。我读过securityContext,并怀疑同样的问题。不知何故,我能够找出文件的所有者及其
root:nifi
,它应该是nifi:nifi
securityContext
只允许整数值。您是否在本地将卷装载到容器内的同一路径,并且效果良好?也许你走错了路。我看到conf
路径是/opt/nifi/conf
。请参见图像nifi。你使用这个图像吗?conf路径是/opt/nifi/nifi current
:ENV nifi_BASE_DIR=/opt/nifi
和ENV nifi_HOME${nifi_BASE_DIR}/nifi current
最后是`mkdir-p${nifi HOME}/conf`好的,我犯了错误。您是否在本地成功装载卷?是。。。问题在于修改文件的权限/opt/nifi/nifi current/conf
只是您要修改的文件?它不是一个目录?