Tag Archives: AWS

Terraform: Building EKS, part 2 – an EKS cluster, WorkerNodes, and IAM

10 September 2023
 

  We continue the topic of deploying an AWS Elastic Kubernetes Service cluster using Terraform. In the first part, we prepared an AWS VPC. In this part, we’ll deploy the EKS cluster itself, and will configure AIM for it, and in the next parts, we’ll install Karpenter and the rest of the controllers. All the… 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: dynamic remote state with AWS S3 and multiple environments by directory

3 September 2023
 

  Following the series of posts about preparing to use Terraform on a project. So, in the first part, we thought about how to organize the preparation of the backend for the project, that is, to perform its bootstrap, and a bit – how to manage the Dev/Prod environments in general, see Terraform: Getting started… 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 »

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 »

AWS: Grafana Loki, InterZone traffic in AWS, and Kubernetes nodeAffinity

19 August 2023
 

  Traffic in AWS is generally quite an interesting and sometimes complicated thing, I once wrote about it in the AWS: Cost optimization – services expenses overview and traffic costs in AWS. Now, it’s time to return to this topic again. So, what’s the problem: in AWS Cost Explorer, I’ve noticed that we have an… Read More »

VictoriaMetrics: deploying a Kubernetes monitoring stack

23 July 2023
 

  Now we have VictoriaMetrics + Grafana on a regular EC2 instance, launched with Docker Compose, see the VictoriaMetrics: an overview and its use instead of Prometheus. It was kind of a Proof of Concept, and it’s time to launch it “in an adult way” – in Kubernetes and all the configurations stored in a… Read More »

AWS: Kubernetes – AWS Secrets Manager and Parameter Store integration

22 July 2023
 

  Storing access data in Kubernetes Secrets has an important drawback, because they are only available within the Kubernetes cluster itself. To make them available to external services, we can use Hashicorp Vault and integrate it with Kubernetes using solutions such as vault-k8sor use services from AWS – Secrets Manager or Parameter Store. Integrating AWS Secrets Manager and Parameter… Read More »

AWS: CDK and Python – configure an IAM OIDC Provider, and install Kubernetes Controllers

22 July 2023
 

  So we have an AWS EKS cluster built with AWS CDK and Python – AWS: CDK and Python – building an EKS cluster, and general impressions of CDK, and we have an idea of how IRSA works – AWS: EKS, OpenID Connect, and ServiceAccounts. The next step after deploying the cluster is to configure the… Read More »