For a quick test of horizontal autoscaling of an NginX deployment, we need the following ingredients: a metrics server installation to be able to measure the POD's CPU an nginx deployment with a CPU reservation an auto scaler configuration a…
Avoid Docker created Files with wrong Permissions (Maven example)
This article helps you running Docker containers without polluting your filesystem with files owned by root. Most Docker images you find on Docker hub are designed to run as root inside the container. This can lead to your file system…
Hello Java Hipster: Angular 8 and Spring Boot 2.1 with Cassandra 3.11 running in Docker
Two and a half years ago, we have shown in this blog post how JHipster a.k.a. Java Hipster can be used to auto-generate Angular 4 and Spring Boot code. Now, we will revisit the Hello World with newer versions Angular…
Metricbeat on Kubernetes – Kubernetes Series (11)
Three ways of installing Metricbeat (a performance monitoring solution) on Kubernetes are compared: native vs. helm with set options vs helm with values options. Metricbeat helps us monitoring performance indicators like CPU, Memory, Disk and many more on your Kubernetes nodes. We will show that (and why) installing Metricbeat via helm based on values file is the quickest way of installing Metricbeat. You just need to copy the Metricbeat chart's values file, adapt it to your needs and run a helm command in order to roll out the Metricbeat agent to all nodes of your Kubernetes cluster.
Kubernetes (9): Installing ElasticSearch using Helm Charts
There may be simpler possibilities for installing ElasticSearch on Docker. However, here, we will choose a way that can be easily expanded for production use: the installation of ElasticSearch on Kubernetes via Helm charts. While installing ElasticSearch using Helm implements…
Kubernetes (8) – Automatic TLS Certificates signed by Let’s Encrypt
In this tutorial, we will expose a kubernetes application via HTTPS with a valid Let's Encrypt certificate. A certificate manager will help us to automatically receive and provision a trusted TLS certificate. It is trusted since Let's Encrypt has signed the…
Kubernetes (7) – Ingress Controller on a multi-node Cluster (HTTP + HTTPS)
You will find here step by step instructions on how to install an ingress controller on a Kubernetes multi-node cluster with an example application on both, HTTP and HTTPS. In our last blog post, we have installed a Kubernetes Ingress…
Kubernetes (6) – HTTPS Applications via Ingress Controller on Minikube
In this blog post, we will show how to create Kubernetes HTTPS applications with a redirection from HTTP to HTTPS. For that, we will create a and mount a self-signed wildcard certificate to an NginX-based Kubernetes ingress controller. We will…
Kubernetes (5) Local Persistent Volumes – A Step-by-Step Tutorial
Kubernetes local volumes go beta. However, what is it, a Kubernetes local volume? Last time, we have discovered, how to use Kubernetes hostPath volumes. However, we also have seen, that hostPath volumes work well only on single node clusters. Here,…
Kubernetes (4): Persistent Volumes – Hello World
In this blog post, we will start our first persistent kubernetes application. In our role as an administrator, we first will create a persistent volume. Then, in our role as a developer, we will create a persistent volume claim. Later,…
Kubernetes (3) – Installing a Kubernetes Cluster with kubeadm
In the blog post, we will learn how to create a kubernetes cluster with the help of kubeadm. We will deploy a Kubernetes master on a CentOS system before we will join a second CentOS system as Kubernetes Node. After describing…
Hello World Kubernetes Service on Minikube – Kubernetes Series (2)
This is part 2 of a series on Kubernetes a la minikube. Minikube is (probably) the easiest way of installing a small Kubernetes system including a graphical user interface. In part 1 we have shown how to install such a system on…
Kubernetes (1) – Installing Minikube on CentOS
In this blog post tutorial, we will learn, how to install a single node Kubernetes cluster via minikube. We will install minikube on CentOS 7 natively without the need for any virtual machine layer. This post is inspired by the…
Angular 6 Docker Example
In this Angular Docker Example, we will take an existing Angular 6 application and run it in a Docker container. We will show, how to create a Docker image in a modern two-stage process. We then will spin up the application…
Mesos and Marathon REST API via cURL — A Hello World Example
In this hello-world style blog post, we will learn how to create load balanced Docker services in an open source DC/OS & Mesos environment. For that, we will perform Mesos and Marathon REST API calls using simple cURL commands. First, we will…
Getting Started with DC/OS on AWS
In the step-by-step tutorial Getting Started with DC/OS on Vagrant, we have learned how to install a MesosPhere DC/OS data center operating system locally. This time, we will install a DC/OS system on AWS Cloud: existing AWS CloudFormation templates will help us create…
Angular Universal Docker Example (Angular 4 Universal CLI)
In this previous blog post, I have shown how to dockerize an Angular CLI application using NginX. However, the shown method has worked only for classical, client-side rendered Angular projects. In the current post, we will show an Angular Universal…
Angular 4 Docker Example – for Angular CLI projects
Check out a new Angular 4 Docker Example that has also been tested with Angular 6 here. In this Hello-World-like tutorial, we will show how to run Angular 4 applications that have been created with Angular CLI in a Docker container.…
Jenkins Part 3.2: Trigger a downstream Job or Workflow with Hand-over of Parameters
This blog post will lead you through the steps how to trigger a downstream Freestyle job or Pipeline workflow from an upstream Freestyle project. We will also show how to pass a parameter from Freestyle project to the downstream workflow…
Jenkins Part 7: Pipeline as Code
In this blog post, we will introduce the Jenkins Pipelines, an increasingly popular plugin that helps defining versatile Jenkins workflows as Groovy code. Traditionally, Jenkins is administered by a graphical Web interface. Now, the Pipeline plugin allows teams and DevOps…