The rising demand for hard kubernetes multitenancy, either for customers of a SaaS offering or to support disparate internal teams within an organization, coupled with mass adoption of service-meshes (Istio being the more popular of the choices), we are starting to notice a need for supporting multiple meshes within a single Kubernetes cluster.
In the past year, I have done multiple workshops on Kubernetes, Istio and cloud-native development. As part of my workshops I usually start with theory and explain the concepts using slides, show some demos, but then it's on you, the participant to try out the technology yourself.
Istio allows you to enable or disable different components, as well as tweak the configuration for them. However, what do you do if you want to deploy another ingress gateway? In this article, I go through a couple of exercises and try to deploy a second ingress gateway.
Ever wondered how you can build your own system that automatically updates your React app each time you push changes to the repository where your app is hosted? In this article I explain how you can use build a Netlify-like deployment for React apps using a multi-container Kubernetes pod.
This Kubernetes CLI (kubectl) cheatsheet contains the most common commands you will use when working with Kubernetes clusters and Kubernetes resources. If you're working with Kubernetes on daily basis or if you're just learning about Kubernetes you will run into a set of commands that are used often than the other commands. The ones used more often are also usually easy to remember (especially if you're typing them out multiple times a day).
This post and accompanying video guides you through the Minikube installation process. It explains and introduces a couple of essential Minikube commands you can use to work with your Kubernetes cluster, and shows you how to access your applications inside the cluster when using Minikube.
I like to read and see how people set up their environments and any tools, tips, and tricks they use to be more productive when working with Kuberentes and Istio. What follows is a collection of 5 tips and tools that I use daily and I think it makes me be more productive with Kuberentes and Istio.
The idea behind sticky sessions is to route the requests for a particular session to the same endpoint that served the first request. That way to can associate a service instance with the caller, based on HTTP headers or cookies. You might want to use sticky sessions if your service is doing an expensive operation on first request, but later caching the value. That way, if the same user makes the request, the expensive operation will not be performed and value from the cache will be used.
This article explains how you can use Istio in combination with ngrok to debug a service running locally on your machine while the production version of the service is running in the cluster
SuperGloo is an open source project from solo.io that promises to simplify the installation, management and operation of your service mesh(es). Read this post to learn how to use SuperGloo to install Istio and manage traffic.
By default, any service running inside the service mesh is not automatically exposed outside of the cluster which means that we can’t get to it from the public Internet. Similarly, services within the mesh don’t have access to anything running outside of the cluster either.
The idea behind zero downtime release is to release a new version of the service, without affecting any users — i.e., users don’t even know when a new version of the service is released. A practical example would be if you have a website running, how can you can you release a new version without taking the site down?
In addition to more “traditional” traffic routing between different service versions, that can be based on a variety of incoming requests properties, such as portions of the URL, header values, request method, etc., Istio also supports traffic mirroring.
You have finally deployed your app to Kubernetes and you bought a cool domain name — ever wondered how to point your cool domain like www.mydomain.com, but cooler, to an application running inside Kubernetes? Well, read on and I’ll try to explain how to do just that!