In recent times Kubernetes has become a de facto standard for deploying the containerized application in public, private, or hybrid cloud infrastructure. Kubernetes is an open-source container orchestration platform. Some of the important features provided by Kubernetes are - Automated rollouts and rollbacks, Service discovery, Self-healing, Horizontal scaling etc.
Consider you need to deploy a complex microservices application on Kubernetes. Most likely you will end up maintaining many YAML files for each microservices. Maintaining those YAML files is complex and error-prone. This is where Helm comes into the picture. Helm is an application package manager for Kubernetes (think apt or yum or chocolatey for window). Helm downloads, installs, and deploys apps for you on the Kubernetes.
gRPC works on HTTP/2. The TCP connection on the HTP/2 is long-lived and a single connection can multiplex many requests. That means that connection-level load balancing is not very useful. The default load balancing in Kubernetes is based on connection level load balancing. This article is about how to implement load balancing using Kubernetes headless service.
Kind is a great tool for local Kubernetes setup. Using Kind you can run a multi-node Kubernetes cluster locally. This article discusses about deploying and accessing a microservice application in local Kubernetes.
Minikube is a great tool for local Kubernetes setup. Minikube allows you to run Kubernetes locally. This article discusses about deploying and accessing a microservice application in local Kubernetes.
Handling errors can be hard and it’s even harder if your application consists of many microservices exposing a mixture of REST and RPC APIs. The consumer of your API needs a consistent experience of error handling. In this article, we will see how to develop error handling, which works across RESTFul APIs and gRPC API.