Category Archives: HOWTO’s

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 »

Terraform: Building EKS, part 1 – VPC, Subnets and Endpoints

10 September 2023
 

  So, now that we’ve been reminded a bit about Terraform’s data types and loops, it’s time to start building something real. The first thing we will deploy with Terraform is the AWS Elastic Kubernetes Service cluster and all the resources associated with it because now it is done with AWS CDK, and in addition… Read More »

Terraform: remote state with AWS S3, and state locking with DynamoDB

3 September 2023
 

  We are preparing to transfer infrastructure management from AWS CDK to Terraform. I’ve already wrote about planning it in the Terraform: planning a new project with Dev/Prod environments post, but there I didn’t wrote about one very important option – creating a lock for state files. State file locking is used to avoid situations… Read More »

VictoriaMetrics: VMAuth – Proxy, Authentication, and Authorization

27 August 2023
 

  We continue to develop our monitoring stack. See the first part – VictoriaMetrics: creating a Kubernetes monitoring stack with its own Helm chart. What do we want to do next: give access to developers so that they can set Silence for alerts themselves in Alertmanager to avoid spamming Slack, see Prometheus: Alertmanager Web UI alerts… Read More »

AWS: Getting started with Karpenter for autoscaling in EKS, and its installation with Helm

19 August 2023
 

  On all my previous projects where Kubernetes was, for its WorkerNodes scaling I’ve used the Cluster Autoscaler (CAS) because actually there were no other options before. In general, CAS worked well, but in November 2020 AWS released its own solution for scaling nodes in EKS – the Karpenter, and if at first time reviews… Read More »

Grafana: values ​​from records in Loki logs, and dual-Y-axes panels in Grafana

19 August 2023
 

  We have a function in AWS Lambda, that is writing logs to CloudWatch Logs, from where with the lambda-promtail we are getting them to a Grafana Loki instance to use them in Grafana graphs. What the task is: in the logs, we have records about “Init duration” and “Max Memory Used” by Lambdas. There are… Read More »