Jadhav, see my other email. Kubernetes doesn't handle this the same way that 
Docker does and there are some Docker-isms that explicitly don't work on 
Kubernetes.

Here is the documentation on Security Contexts which allows you to set what UID 
and GID a container runs under.

https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

Here is the information about why Kubernetes doesn't copy volumes from the 
container on init.

https://stackoverflow.com/questions/49991978/kubernetes-not-copying-data-into-mounted-volume

https://github.com/kubernetes/kubernetes/issues/8426

Thanks
Shawn

On 2/13/20, 8:36 AM, "Vishal Jadhav (BLOOMBERG/ 731 LEX)" 
<[email protected]> wrote:

    Hi Natalia,
    
    We use the nifi inside a docker container, and some guidelines from it 
would help you - 
    
    (1) We have a role account user 'nifi' on the host and the exact same user 
is created inside the 'docker image', you need to use the same uuid/group id as 
it exists on the host. Also, please make sure that this 'nifi' user owns the 
directories on the external volumes.
    
    (2) We mount the following directories from outside to persist the state.
    - conf
    - content_repository
    - flowfile_repository
    - provenance_repository
    
    
    From: [email protected] At: 02/13/20 04:50:19To:  [email protected],  
[email protected]
    Cc:  [email protected]
    Subject: RE: Running Nifi on OpenShift
    
    Public
    
    Hi Shawn,
    
    We have internal Jenkins deployment process, which eventually comes down to 
    running yml configs on OpenShift.
    I attached two yml files. One version with storage mounted and one without.
    The one with storage mounted expects nifi properties file, which I think 
should 
    come from image. So there is something wrong about this set up. I would 
expect 
    it to use default properties and don't which ones to give it. See my point 
4 in 
    original email below.
    The one without persistent storage mounted comes up with permission error: 
    /opt/nifi/nifi-current/conf/sedXGg2lo: Permission denied. See original 
email 
    for full story about this.
    I had few goes on trying to resolve it as per my original story below.
    I have read somewhere that the issue could be due to the fact that Nifi 
image 
    tries to run as root but OpenShift doesn't allow it by default. Not sure if 
    this is still true for the latest 1.11.1 version of docker image. 
    If you can suggest what is wrong with these yml files or may be some 
settings 
    need to change on OpenShift admin side it hopefully will help to resolve 
the 
    issue.
    
    Thank you
    
    Natalia Fill
    Analyst Software Developer
    
    -----Original Message-----
    From: Shawn Weeks [mailto:[email protected]]
    Sent: 12 February 2020 21:16
    To: [email protected]; Endre Kovacs
    Cc: Ali, Rizwan
    Subject: Re: Running Nifi on OpenShift
    
    I recognize that running NiFi on Kubernetes isn't quite as easy as starting 
it 
    in Docker but it's also not that hard if you've worked with Kubernetes a 
bit. 
    More than likely the issue is in your Kubernetes Yaml that you used to 
deploy 
    NiFi with. This is separate than nifi.properties and would have been the 
config 
    file you used in the command "kubectl apply -f nifi.yaml" or are you trying 
to 
    deploy with Helm?
    
    Thanks
    Shawn
    
    On 2/12/20, 2:26 PM, "Fill, Natalia" <[email protected]> wrote:
    
        Public
        
        Hi Endre,
        
        I certainly agree with the bare metal option. The reason I have a 
specific 
    request for OpenShift is the requirement to adhere to organisational 
    architectural road map.
        I cannot agree more that it is not a single person task. I was working 
on 
    it for few days with OpenShift administrator (on CC list) helping me out.
        Your links certainly give an impression that this task is not for faint 
    hearted.
        
        Best regards,
        
        Natalia
        
        -----Original Message-----
        From: Endre Kovacs [mailto:[email protected]]
        Sent: 12 February 2020 19:43
        To: [email protected]
        Subject: Re: Running Nifi on OpenShift
        
        Hi,
        
        If to make NiFi work on K8S is a beast, then to make it work on 
Openshift, 
    is a category-5 Kaiju [1][2].
        
        This is definitely not a few days task for a single person.
        
        Why not run NiFi just in docker (docker-compose)? Or on bare metal?
        
        Best regards,
        Endre
        
        
        [1] https://en.wikipedia.org/wiki/Kaiju
        [2] https://en.wikipedia.org/wiki/Pacific_Rim_(film)
        
        Sent with ProtonMail Secure Email.
        
        ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
        On Wednesday, February 12, 2020 8:14 PM, Fill, Natalia 
    <[email protected]> wrote:
        
        > Public
        >
        > Hi,
        > I am trying to run Nifi pod on OpenShift for several days now and 
    unfortunately unsuccessfully.
        >
        > The error that I am getting persistently is replacing target file 
        > /opt/nifi/nifi-current/conf/nifi.properties
        > sed: couldn't open temporary file 
        > /opt/nifi/nifi-current/conf/sedXGg2lo: Permission denied
        >
        > I have tried several things to resolve the issue:
        > My images are downloaded from https://hub.docker.com/r/apache/nifi
        >
        > 1.        First I run 1.10.0 image which resulted in error above
        >
        >
        >
        > 2. Upgraded to 1.11.1 image, the error still persist
        >
        > 3. Tried wrapping the above images in my own image with following 
        > modifications to docker file (used various paths to chmod opt/ 
        > opt/nifi), still the same error
        >
        > FROM xxxRegistry/apache-nifi:1.11.1
        > USER root
        > RUN chmod -R 777 /opt
        > USER 1000
        >
        > 4. Mounted volume opt/nifi, but this resulted in nifi properties file 
        > not being found, so removed volume as it overwrites Nifi paths
        >
        > 5. Involved OpenShift administrators to create privileged account for 
        > nifi and altered my yml to use that account (SUPPLEMENTAL_GROUP is 
        > what all our pods run under and sn_nif was created specially to 
        > resolve this case)
        >
        > securityContext:
        > supplementalGroups:
        >
        > -   ${SUPPLEMENTAL_GROUP}
        >     serviceAccount: sn-nif
        >     serviceAccountName: sn-nif
        >
        >
        > 6.        Removed securityContext to ensure serviceAccount is used
        >
        >
        >
        > Can someone please suggest how to resolve this issue. Otherwise I 
will 
    have to give up on Nifi as I don't have any more time on this project to 
spend 
    on Nifi config.
        >
        > Thank you
        >
        > Natalia
        >
        > Natalia Fill
        > Analyst Software Developer
        > Legal and General Investment Management One Coleman Street, London, 
        > EC2R 5AA
        > 020 3124 3430
        > www.lgim.com
        > This e-mail (and any attachments) may contain privileged and/or 
    confidential information. If you are not the intended recipient please do 
not 
    disclose, copy, distribute, disseminate or take any action in reliance on 
it. 
    If you have received this message in error please reply and tell us and 
then 
    delete it. Should you wish to communicate with us by e-mail we cannot 
guarantee 
    the security of any data outside our own computer systems.
        >
        > Any information contained in this message may be subject to 
applicable 
    terms and conditions and must not be construed as giving investment advice 
    within or outside the United Kingdom or Republic of Ireland.
        >
        > Telephone Conversations may be recorded for your protection and to 
        > ensure quality of service
        >
        > Legal & General Investment Management Limited (no 2091894), LGIM Real 
        > Assets (Operator) Limited (no 05522016), LGIM (International) Limited 
        > (no 7716001) Legal & General Unit Trust Managers (no 1009418), GO ETF 
        > Solutions LLP (OC329482) and LGIM Corporate Director Limited (no 
        > 7105051) are authorised and regulated by the Financial Conduct 
        > Authority. All are registered in England & Wales with a registered 
        > office at One Coleman Street, London, EC2R 5AA
        >
        > Legal & General Assurance (Pensions Management) Limited (no 1006112) 
is 
    authorised by the Prudential Regulation Authority and regulated by the 
    Financial Conduct Authority and the Prudential Regulation Authority. It is 
    registered in England & Wales with a registered office at One Coleman 
Street, 
    London, EC2R 5AA.
        >
        > Legal & General Property Limited (no 2091897) is authorised and 
regulated 
    by the Financial Conduct Authority for insurance mediation activities. It 
is 
    registered in England & Wales with a registered office at One Coleman 
Street, 
    London, EC2R 5AA.
        >
        > LGIM Managers (Europe) Limited is authorised and regulated by the 
Central 
    Bank of Ireland (C173733). It is registered in the Republic of Ireland (no 
    609677) with a registered office at 33/34 Sir John Rogerson's Quay, Dublin 
2, 
    D02 XK09.
        >
        > Legal & General Group PLC, Registered Office One Coleman Street, 
London, 
    EC2R 5AA.
        >
        > Registered in England no: 1417162
        >
        > **** This email has come from the internet and has been scanned for 
        > all viruses and potentially offensive content by Messagelabs on 
behalf 
        > of Legal & General ****
        
        
        ________________________________________________________________________
        *** This email has come from the internet and has been scanned for all 
    viruses and potentially offensive content by Messagelabs on behalf of Legal 
& 
    General. Please report unwanted spam email to [email protected] ***
        
        Please consider the environment before printing this email.
        
        ________________________________________________________________________
        **** This email has come from the internet and has been scanned for all 
    viruses and potentially offensive content by Messagelabs on behalf of Legal 
& 
    General ****
        
    
    
    ________________________________________________________________________
    *** This email has come from the internet and has been scanned for all 
viruses 
    and potentially offensive content by Messagelabs on behalf of Legal & 
General. 
    Please report unwanted spam email to [email protected] ***
    
    Please consider the environment before printing this email.
    
    ________________________________________________________________________
    **** This email has come from the internet and has been scanned for all 
viruses 
    and potentially offensive content by Messagelabs on behalf of Legal & 
General 
    ****
    
    
    

Reply via email to