There are two NGINX-based Ingress controller implementations out there: the one you can find in nginxinc/kubernetes-ingress repo and the one from kubernetes/ingress-nginx repo.
Information in this article should help you to choose an appropriate implementation for your requirements. (or move from one implementation to the other.)

What is Ingress Controller?

In order for the Ingress resource to work, the cluster must have an Ingress controller running. An Ingress controller abstracts away the complexity of Kubernetes application traffic routing and provides a bridge between Kubernetes services and external ones (external world).

You may deploy any number of Ingress Controllers within a cluster. When you create…


Every software developer’s primary goal is to come up with a practical, intuitive, and robust product, a platform or service lots of people can use without any major issue. The problem is that what happens out there with real users is a lot more, well, chaotic than in a control environment developers initially work in. That’s why more and more devs have been using specialized techniques to test out their handiwork and ensure optimal reliability.

Resilience engineering is a practice within Site Reliability Engineering (SRE), closely related to Chaos Engineering. If you’re having trouble wrapping your head around all these…


The Best Solution for Automatic Account Configuration

Defining AWS Landing Zone

According to Amazon, the AWS landing zone is a complete solution designed to help customers set up and manage multiple accounts in the AWS environment that uses only the best practices on the market. The platform offers many different design options, so setting up multiple accounts usually takes a lot of time, understanding of the AWS services, and a lot of patience.

The AWS landing zone is a solution that fully automatizes the entire setup process by creating core accounts and resources needed to monitor multiple accounts. …


Services running in Kubernetes are not exposed to the public by default so, no one can access them from outside.To access services running in K8s that are not exposed publicly we have few ways which are secure and will not bring to opening security holes in our systems and services. One of them is the Ingress Controller or API Gateway that most of the service meshes are using which basically mapping domains and subdomains to the services. …


Cloud computing has become the leading method for scaling up workloads and growing businesses at a steady rate. It allows companies to build and run scalable applications in dynamic environments known as clouds.

Cloud technologies allow integration of multiple systems, offering a new platform designed to enable easy management and detailed reporting. With an emphasis on automation, these services allow engineers to make huge changes quickly and effectively. The Cloud-Native Computing Foundation or CNFC is making a push to create an open-source system that allows all users to access new technologies and improve their platforms.

The Importance of Cloud Computing

Scaling up and growing a…


During the installation of a few packages, Ubuntu usually installs the tzdata package. It’s usually included in some PHP or Python packages dependencies. The issue with it is that it hangs and waits for user input to continue the installation. It’s ok until we are using Docker and trying to build images (it’s hanging or even throwing errors in newer versions of Ubuntu). We will try to reproduce the situation and try to fix it.

To reproduce the hanging situation, we can use this Docker image:

Here is the logs that we see in terminal:

And here it…


Introduction

Docker is an application that makes it simple and easy to run application processes in a container, which are like virtual machines, only more portable, more resource-friendly, and more dependent on the host operating system.

In this tutorial, you’ll learn how to install and use it on an existing installation of Ubuntu 20.04.

Note: Docker requires a 64-bit version of Ubuntu as well as a kernel version equal to or greater than 3.10. The default 64-bit Ubuntu 20.04 server meets these requirements.

Installing Docker

Note: All the commands in this tutorial should be run as a non-root user. …


Introduction

Docker is an application that makes it simple and easy to run application processes in a container, which are like virtual machines, only more portable, more resource-friendly, and more dependent on the host operating system.

In this tutorial, you’ll learn how to install and use it on an existing installation of Ubuntu 19.10.

Note: Docker requires a 64-bit version of Ubuntu as well as a kernel version equal to or greater than 3.10. The default 64-bit Ubuntu 19.10 server meets these requirements.

Installing Docker

Note: All the commands in this tutorial should be run as a non-root user. …


Using Docker to containerize your applications and services can give you some security benefits out of the box, but a default Docker installation still has room for some security-related configuration improvements. The Docker team has provided a tool to analyze your running containers for potential security issues.

The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production. The tests are all automated, and are inspired by the CIS Docker Community Edition Benchmark v1.1.0.

You can download and run this tool from here: https://github.com/docker/docker-bench-security

https://github.com/docker/docker-bench-security

I see errors/warnings, what’s next?

Assuming you’re successful in firing off…


Dockerize NodeJS applications using Alpine Linux with ease

When using alpine, you need to install build dependencies for some node module to be able to be built natively.

Here is an example of how you would install dependencies for packages that require node-gyp support on the alpine variant:

And Here’s a multistage build example:

Pro Tip:

As Alpine Linux uses musl, you may run into some issues with environments expecting glibc-like behavior — especially if you try to use binaries compiled with glibc. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store