How to develop a customized Dockerfile using minikube

In this blog post I want to share an awesome and simple practice for beginners: How to develop a customized Dockerfile for a container image running on Kubernetes, using minikube.

Usually, when you use an existing container image to create your own customized configuration, you don’t have deep knowledge how that container image is built, and you have questions like: “What are the folder rights?”, or “What are the installation paths of applications?”, or other information you need to customize the container image to your needs.

You can learn about the existing image, when you visit the GitHub or Dockerhub project of that image (for example: links to GitHub “docker-library / repo-info” and Dockerhub “jenkins repo-info” project of Jenkins). But to ensure that your customization works, you have to run and access the running container in the commandline mode and verify your changes step by step running the image in Kubernetes.

Minikube comes with a container engine you can use. So minikube has all you need to build and run your container image on a local Kubernetes installation.

Here are the steps to customize a Jenkins container image I want to run on minikube, you can try it out:

1. Install minikube

Continue reading

Deploy WordPress on a free IBM Cloud Kubernetes Cluster for non-productive usage

In this blog post I just want to highlight an awesome guideline I noticed on GitHub: How to deploy WordPress to a free IBM Cloud Kubernetes Cluster for non-productive usage?

Why do I say “non-productive”? Because of the free IBM Cloud Kubernetes Cluster , which will be deleted after 30 days. Surely you can also deploy WordPress for production usage, when you deploy to a paid cluster. But maybe you got a feature code for free IBM Cloud at a conference or at a hackathon and you want play around with IBM Cloud, that could be one option.

You can find the instructions for the deployment here: Scalable WordPress deployment on Kubernetes Cluster. By the way, the project is under Apache 2.0 license.

wordpress-installation

Continue reading

Central management of billing and resource usage tracking across multiple accounts in IBM Cloud

In this blog post I want to shortly highlight the topic central management of billing and resource usage tracking across multiple accounts. I think it is good to know that topic, even if you will currently not use it.

I didn’t use IBM Cloud Enterprise until now, but is great to know that this is possible. This organisational topic is (more or less 😉 ) related to one of my older blog posts  “What are major elements to organize my services, apps and devices in IBM Cloud?”

The announcement was in Juli 2019 :

“Now you can organize multiple IBM Cloud accounts in flexible hierarchical groups.”

For more details please visit that blog post introducing IBM Cloud Enterprises.

Continue reading

No code changes needed to secure your application on Kubernetes

In that blog post I want to highlight how I did my first configuration of the App Identity and Access Adapter for Istio Mixer in my Cloud Native Starter system on a free IBM Cloud Kubernetes cluster.

In my last blog post I described how I did the installation of the App Identity and Access Adapter.

Once more I want to highlight, that the cool thing from my perspective of App Identity and Access Adapter is “that the adapter can be configured to work with any OIDC compliant identity provider, which enables it to control authentication and authorization policies in all environments including frontend and backend applications. And, it does it all without any change to your code or the need to redeploy your application.

I did a combination of the steps from the videos inside the IBM Cloud App ID service documentation and of the videos from Anton Aleksandrov. With that in mind I applied needed changes of that configurations in the videos to run it on our Cloud Native Starter setup.

Continue reading

Install the App Identity and Access Adapter on a free IBM Cloud Kubernetes Cluster

In that blog post I want to highlight that I started to integrate the open source App Identity and Access Adapter for Istio Mixer into our open source Cloud Native Starter sample that uses the free IBM Cloud Kubernetes cluster setup with a manual Istio installation.

The cool thing from my perspective of the App Identity and Access Adapter is “that the adapter can be configured to work with any OIDC compliant identity provider, which enables it to control authentication and authorization policies in all environments including frontend and backend applications. And, it does it all without any change to your code or the need to redeploy your application. I had a short problem with the installation you can find on stackoverflow.

Continue reading

Be aware of “opentracinqZipkin”, when you update to “MicroProfile 3.0” using “OpenTracing” with “OpenLiberty”

Today, just a very short note. You should be aware of opentracinqZipkin when you use  MicroProfile OpenTracing with OpenLiberty, because I noticed with the update to MicroProfile 3.0 I had a problem with usr:opentracinqZipkin-0.31. I created an issue on OpenLiberty

“MicroProfile 2.1 includes mpOpenTracing-1.2. MicroProfile 3.0 includes mpOpenTracing-1.3. Please make sure you are using the Zipkin sample built for mpOpenTracing-1.3. It can be downloaded at https://github.com/WASdev/sample.opentracing.zipkintracer/releases/tag/1.3

I got that solution from Felix Wong.

But inside the server.xml will not reflect the version change, it will remaining the same feature name usr:opentracingZipkin-0.31.

<server description=”OpenLiberty Server”>
  <featureManager>
      <feature>microProfile-3.0</feature>
     <feature>webProfile-8.0</feature>
     <feature>usr:opentracingZipkin-0.31</feature>
</featureManager>
<httpEndpointid=”defaultHttpEndpoint”host=”*”httpPort=”8080″httpsPort=”9443″/>
….
</server>

I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS: You can try out Cloud Foundry Apps or Kubernetes on IBM Cloud. By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

#ibmdeveloper, #MicroProfile, #Java, #OpenTracing

A small source code update, when you use MicroProfile Health

I just want to highlight a small change for the MicroProfile Health, because I noticed with the update to MicroProfile 3.0 that the annotation @Health is deprecated.

mp-health-dep-2.1

It took me a little bit, because it was still listed in the MicroProfile documentation .

mp-health-dep-2.1-01.jpg

But I figured out in the blog post from Philip Riecks , when you replace the annotation @Health with @Readiness and import org.eclipse.microprofile.health.Readiness that it will work:

mp-health-dep-21.-02

I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS: You can try out Cloud Foundry Apps or Kubernetes on IBM Cloud. By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

#ibmdeveloper, #MicroProfile, #Java, #Health, #Readiness

Create one Java Microservice with OpenLiberty and MicroProfile – made for beginners

Today I created a YouTube video, where I developed one Microservice. The level of content of that video is for beginners. The video was “live” recorded and I made some minimal editing and the video takes 18 min.
The recoding is related to Java Microservices with MicroProfile and OpenLiberty in Visual Studio Code . The source code is available in the open sourced Cloud Native Starter GitHub project.

Check it out:

Maybe you are interested, how did I setup the IDE and the Project? … here are the basics.

Continue reading

Being @codemotion 2019 in Berlin

I was as part of the great IBM Developer team at the codemotion in Berlin. We did so many contribution at codemotion that I would like to share the main topics and some personal impressions with you.

IMG_0662.jpg

The Conference and location

The codemotion is a two days multi track tech developer conference and had this year 1200 attendees.

It took place at an awesome location called Kulturbrauerei | Berlin . The sessions and codelabs (hands-on workshops), were in the cinema and in the theatre.

The content

I didn’t have the chance to visit many sessions, because we were very busy at our booth showing our open sourced based Blue-Cloud-Mirror fun game and talking about open technologies like Kubernetes, which can be used on IBM Cloud. The attendees liked this open source approach and the interactive game, so that they did their own instance of the game in just 10 min on their free IBM Cloud account.

… but surely I was at my own session 😉 … you will see here …

Here is the content of the two days from our IBM team, which contributed a keynote, sessions and codelabs. I just inserted the abstracts from the agenda provided on the codemotion page

Continue reading

Fast setup of a Java microservice project with MicroProfileStarter

In this blog post I want to show the easy setup of an own MicroProfile/OpenLiberty project with MicroProfileStarter . From my perspective that is  very useful for new Java developers, who want to build microservices. The prerequisite is, you have installed maven and Java on your local machine.

You can use for more information the MicroProfileStarter it self and the OpenLiberty getting started documentation.

That’s fits perfect to the topic Cloud-Native. Maybe you already know, we (Niklas, Harald and I) working on the open sourced Cloud Native Starter project. That project contains sample code that demonstrates, how to get started with Cloud-Native applications and microservices based architectures. Here we use also MicroProfile/OpenLiberty.

We created a new 60 -90 min hands-on workshop with the focus on Java microservice development with MicroProfile/OpenLiberty and the deployment to Kubernetes on IBM Cloud. This workshop is perfect to get a basic understanding of the Cloud-Native and Java development topics and the combination with MicroProfileStarter is awesome for newer Java Developers.

Continue reading