Hi, you should move ignite-kubernetes (and others optional libs you're
going to use) from optional to $IGNITE_HOME/libs/

On Wed, Nov 17, 2021 at 6:50 PM Surinder Mehra <redni...@gmail.com> wrote:

> Thanks for the suggestion. I tried to fix dependencies and it works with
> default-ignite-config.xml, which means when CONFIG_URI ARG is not provided.
> When I pass my custom node configuration file which contains KubernetesIP
> finder, the container fails to find the K8 Ip finder class.
> I have verified that the container /libs/optional/ directory has
> ignite-kuberenetes and zookeper jars in it.
> So is it genuine error or if I deploy this in kubernetes as stateful set
> after using this image, it would work
>
> Here is my updated Dockerfile
>
> FROM adoptopenjdk/openjdk11
>
> # Settings
> ARG IGNITE_CFG_XML="node-configuration.xml"
> ARG IGNITE_VERSION="2.11.0"
> ENV IGNITE_HOME /opt/ignite/apache-ignite
> ENV CONFIG_URI config/$IGNITE_CFG_XML
> # Disabling quiet mode.
> ENV IGNITE_QUIET=false
> WORKDIR /opt/ignite
>
> # Add missing software
> RUN apt-get update &&\
>     apt-get install bash && \
>     apt-get install -y wget && \
>     apt-get install unzip && \
>     wget 
> https://dlcdn.apache.org//ignite/${IGNITE_VERSION}/apache-ignite-${IGNITE_VERSION}-bin.zip
>  && \
>     unzip -o apache-ignite-${IGNITE_VERSION}-bin.zip && \
>     mv apache-ignite-${IGNITE_VERSION}-bin apache-ignite && \
>     rm apache-ignite-${IGNITE_VERSION}-bin.zip
> # Copy main binary archive
> #COPY apache-ignite* apache-ignite
>
> # Copy sh files and set permission
> COPY run.sh $IGNITE_HOME/
> COPY ./$IGNITE_CFG_XML $IGNITE_HOME/config
> # Grant permission to copy optional libs
> RUN chmod 777 ${IGNITE_HOME}/libs
>
> # Grant permission to create work directory
> RUN chmod 777 ${IGNITE_HOME}
>
> # Grant permission to execute entry point
> RUN chmod 555 $IGNITE_HOME/run.sh
>
> # Entry point
> CMD $IGNITE_HOME/run.sh
>
> # Container port exposure
> EXPOSE 11211 47100 47500 49112 10800 8080
>
>
> On Wed, Nov 17, 2021 at 5:49 PM Surinder Mehra <redni...@gmail.com> wrote:
>
>> Yes, thanks for replying. I tried doing that but it assumes the ignite
>> binary is present in the local directory somewhere. " COPY
>> apache-ignite* apache-ignite  "
>> Could you please explain
>> 1. where is it reading ignite binaries from and
>> 2. ignite binaries zip doesn't have run.sh. If I copy run.sh as well
>> along with Dockerfile from github, does it have any other dependency.
>>
>> On Wed, Nov 17, 2021 at 4:51 PM Stephen Darlington <
>> stephen.darling...@gridgain.com> wrote:
>>
>>> I’d just take the original Dockerfile (Dockerfile
>>> <https://github.com/apache/ignite/blob/master/deliveries/docker/apache-ignite/x86_64/Dockerfile>)
>>> and replace the reference to Java 8 with Java 11
>>>
>>> On 17 Nov 2021, at 10:50, Surinder Mehra <redni...@gmail.com> wrote:
>>>
>>> Hi,
>>> I tried to build one with two approaches. I was thinking the 1st one is
>>> simple and should work but it didn't so I tried the 2nd approach which
>>> seems to be missing something. Can you point out the missing piece please.
>>>
>>> 1. Extend base image and update java home as below
>>> FROM apacheignite/ignite
>>>
>>> ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
>>> # Install OpenJDK-11
>>> RUN apt-get update && \
>>>    apt-get install -y openjdk-11-jdk && \
>>>    export JAVA_HOME && \
>>>    apt-get clean;
>>> RUN export JAVA_HOME="$(dirname $(dirname $(readlink -f $(which java))))"
>>>
>>> This throws an error "apt-get not found". I tried with yum as well, but
>>> it throws the same error. Not sure why it doesn't have package manager
>>>
>>> 2. On the 2nd approach I tried to use jdk11 as base image and install
>>> ignite on it and run /bin/ignite.sh. It throws an error saying it cant find
>>> executable on path.
>>>
>>> FROM adoptopenjdk/openjdk11
>>>
>>> # Set Apache Ignite configuration file name.
>>> ARG IGNITE_CFG_XML="node-configuration.xml"
>>>
>>> # Set Apache Ignite version.
>>> ARG IGNITE_VERSION="2.11.0"
>>>
>>> # Set IGNITE_HOME variable.
>>> ENV IGNITE_HOME /opt/ignite/apache-ignite-${IGNITE_VERSION}-bin
>>>
>>> # Set a path to the Apache Ignite configuration file. Use the run.sh script 
>>> below:
>>> ENV CONFIG_URI ${IGNITE_HOME}/config/$IGNITE_CFG_XML
>>>
>>> # Make sure the Kubernetes lib is copied to the 'libs' folder.
>>> #ENV OPTION_LIBS ignite-kubernetes
>>>
>>> # Disabling quiet mode.
>>> ENV IGNITE_QUIET=false
>>> WORKDIR /opt/ignite
>>> # Install or update needed tools.
>>> #RUN apt-get update && apt-get install -y --no-install-recommends unzip
>>> RUN apt-get update && \
>>>  apt-get install -y wget && \
>>>  apt-get install unzip && \
>>>  wget 
>>> https://dlcdn.apache.org//ignite/${IGNITE_VERSION}/apache-ignite-${IGNITE_VERSION}-bin.zip
>>> # Creating and setting a working directory for following commands.
>>>
>>> # Copying local Apache Ignite build to the docker image.
>>> #COPY ./apache-ignite-${IGNITE_VERSION}-bin.zip 
>>> apache-ignite-${IGNITE_VERSION}-bin.zip
>>>
>>> # Unpacking the build.
>>> RUN unzip apache-ignite-${IGNITE_VERSION}-bin.zip
>>> RUN rm apache-ignite-${IGNITE_VERSION}-bin.zip
>>>
>>> # Copying the executable file and setting permissions.
>>>
>>> RUN chmod +x $IGNITE_HOME/bin/ignite.sh
>>>
>>> # Copy the configuration.
>>> #COPY ./$IGNITE_CFG_XML $IGNITE_HOME/config
>>>
>>> #RUN $IGNITE_HOME/bin/ignite.sh
>>> # Start an Apache Ignite node.
>>> CMD $IGNITE_HOME/bin/ignite.sh
>>> #$IGNITE_HOME/config/$IGNITE_CFG_XML
>>>
>>> # Exposing the ports.
>>> #EXPOSE 11211 47100 47500 49112
>>> EXPOSE 10800 11211 47100 11211 47100 47500 49112
>>>
>>>
>>>
>>> On Tue, Nov 16, 2021 at 3:51 PM Stephen Darlington <
>>> stephen.darling...@gridgain.com> wrote:
>>>
>>>> I don’t see an image with Java 11. I think you’d have to build your own.
>>>>
>>>> There are tickets for this:
>>>> https://issues.apache.org/jira/browse/IGNITE-14031 and
>>>> https://issues.apache.org/jira/browse/IGNITE-15209
>>>>
>>>> On 16 Nov 2021, at 09:55, Surinder Mehra <redni...@gmail.com> wrote:
>>>>
>>>> Hi,
>>>> I followed below link to deploy ignite pod on kubernetes. It uses
>>>> apache ignite 2.11 docker image which has java openjdk 8. Is there a way to
>>>> configure java 11 on this  pod or ignite image with jdk11 ?
>>>>
>>>>
>>>> https://ignite.apache.org/docs/latest/installation/kubernetes/amazon-eks-deployment
>>>>
>>>>
>>>>
>>>>
>>>
>>>

Reply via email to