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

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

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

Definition of a Dockerfile to use bash scripts on a Windows 10 machine for our Cloud-Native-Starter workshop

We defined a Dockerfile to create a Docker image for our Cloud-Native-Starter workshop especially for Windows 10 users. The users can now simply create a Docker image on the local Windows 10 machine and then follow the guided steps in the hands-on workshop documentation and use the bash scripts. The reason why we don’t build a Docker image and share the image on Dockerhub is, we want to provide users the freedom of own customizations.

These are some challenges we had during the testing of the Dockerfile definition:

  • File sharing for Docker images on Windows
  • Docker port forwarding
  • Docker in Docker
  • Istio Virtual service configuration
  • Linux tools missing

Continue reading

Handle mircoservice resiliency with MicroProfile – a short teaser video

Today I finished the last part of my   “Let’s get started with cloud native Java applications on Kubernetes hands-on workshop”  3-minutes teaser videos series on youtube.

This short 3-minute teaser video is about: Handle mircoservice resiliency with MicroProfile in context of the cloud native starter project and workshop on GitHub project.

Check it out:

You can get more detailed information about the topic: Developing resilient Microservices with Istio and MicroProfile in one of the blog posts of @Niklas.

Continue reading

Traffic management in Kubernetes with Istio – a short teaser video

Today it is time for Part 5 of my   “Let’s get started with cloud native Java applications on Kubernetes hands-on workshop”  3-minutes teaser videos series on youtube.

This short 3-minute teaser video is about: Traffic management in Kubernetes with Istio in context of the cloud native starter project and workshop on GitHub project.

Check it out:

You can get more detailed information about the topic: Traffic management in Kubernetes with Istio in one of the blog posts of @Harald.

Continue reading

Deploy a container image to Kubernetes – a short teaser video

Today I recorded part 3 of my   “Let’s get started with cloud native Java applications on Kubernetes hands-on workshop”  3-minutes teaser videos series on youtube.

This short 3-minute teaser video is about: deploy a container image to Kubernetes in context of the cloud native starter project and workshop on GitHub project.

Check it out:

You can get more detailed information about the topic: deploy a container image to Kubernetes in one of my blog posts.

Continue reading

Let’s get started with cloud native Java applications on Kubernetes

Getting started with cloud native development using Microservices and Java can still be challenging. Kubernetes and Microservices are not new, but there are still a lot of possibilities to move existing or build new applications to be cloud native, especially for Java.

For this reason @Niklas and @Harald started to create an open source project, to get started with cloud native Java applications on Kubernetes. I am also contributing to this cloud native GitHub project that contains a hands-on workshop. By the way it is also released as series on IBM Developer.

In the image below you can see the stars ⭐️ of the project.

cns-likes

The sample Microservices application is not too simple and not too complex for an introduction to cloud native development with Java.

The awesome project has ongoing growing content and it already has 139 stars ⭐️ on GitHub.

I created a youtube video as a teaser of the workshop and the core project, to give a fast  3 min overview about the current state.

By the way, this video is the first 3-minute YouTube video of the teaser videos series “Let’s get started with cloud native Java applications on Kubernetes hands-on workshop” I plan to record.

Continue reading