Kubernetes: ensuring High Availability for Pods

25 November 2023
 

 We have a Kubernetes cluster, where WorkerNodes are scaled by Karpenter, and Karpenter has the disruption.consolidationPolicy=WhenUnderutilized parameter for its NodePool, and this means, that Karpenter will try to “consolidate” the placement of pods on Nodes in order to maximize the use of CPU and Memory resources. In general, everything works, but this leads to the… Read More »

VictoriaMetrics: pushing metrics without Prometheus Pushgateway

18 November 2023
 

 In the Prometheus: running Pushgateway on Kubernetes with Helm and Terraform post I wrote about how to add Pushgateway to Prometheus, which allows using the Push model instead of Pull, that is, an Exporter can send metrics directly to the database instead of waiting for Prometheus or VMAgent to come to it. With VictoriaMetrics, it’s… Read More »

Karpenter: the Beta version – an overview of changes, and upgrade from v0.30.0 to v0.32.1

5 November 2023
 

 So, Karpenter has made another big step towards the release, and in version 0.32 it has moved from Alpha to Beta. Let’s take a quick look at the changes – and they are quite significant – and then upgrade to EKS from Karpneter Terraform module and Karpenter Helm chart. The process of installing Karpenter was… Read More »

GitHub Actions: Docker build to AWS ECR and Helm chart deployment to AWS EKS

7 October 2023
 

 So, we have a deployed Kubernetes cluster – see the Terraform: Creating EKS, Part 1 – VPCs, Subnets, and Endpoints series. And we have a GitHub Actions workflow to deploy it – see GitHub Actions: Deploying Dev/Prod environments with Terraform. It’s time to start deploying our backend to Kubernetes. Here we will use GitHub Actions… Read More »

GitHub Actions: deploying Dev/Prod environments with Terraform

30 September 2023
 

 Now that we have Terraform code ready to deploy an AWS Elastic Kubernetes Service cluster (see Terraform: Building EKS, part 1 – VPC, Subnets and Endpoints and subsequent parts), it’s time to think about automation, that is, creating pipelines in CI/CD that would create new environments for testing features, or deploy updates to the Dev/Prod… Read More »

Slack: switch back to the old experience (UI and theme)

20 September 2023
 

 If you are struggling with the new UI in Slack application, and you’re running it on Mac or Linux, you can switch it back (may work for the Windows app too, I think). Thanks to this tweet from @QuinnyPig. 1. Exit from the running Slack instance 2. Open a terminal, and set the SLACK_DEVELOPER_MENU variable:… Read More »

Terraform: building EKS, part 4 – installing controllers

16 September 2023
 

  The last, fourth part, in which we will install the rest of the controllers and add a couple of useful little things. All the parts: Terraform: building EKS, part 1 – VPC, Subnets and Endpoints Terraform: building EKS, part 2 – an EKS cluster, WorkerNodes, and IAM Terraform: building EKS, part 3 – Karpenter… Read More »

Terraform: building EKS, part 3 – Karpenter installation

16 September 2023
 

 This is the third part of deploying an AWS Elastic Kubernetes Service cluster with Terraform, in which we will add Karpenter to our cluster. I’ve decided to post this separately because it’s quite a long post. And in the next and final (hopefully!), the fourth part, we will add the rest – all kinds of… Read More »