SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Presented By: Kirti
Goldilocks
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Join the session 5 minutes prior to
the session start time. We start on
time and conclude on time!
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Silent Mode
Keep your mobile devices in silent
mode, feel free to move out of
session in case you need to attend
an urgent call.
Avoid Disturbance
Avoid unwanted chit chat during
the session.
Agenda
01 Introduction
02 Cost Related To Kubernetes Workloads
03 Cost Optimization
04 VPA
05 Demo
Introduction
Goldilocks is an open source tool that recommends the right settings for resource requests and limits on kubernetes workloads.
Goldilocks is a Kubernetes controller that provides a dashboard that gives recommendations on how to set your resource
requests.Goldilocks is a utility that can help you identify a starting point for resource requests and limits.
Features
1. Recommends values for resource requests and limits on kubernetes workloads.
2. Dashboard that shows recommended values for kubernetes resources based on QoS(Quality of Service).
3. The controller watches Kubernetes events for Deployments and Namespaces that have been modified, created, or
deleted.
4. CLI utility for analysis of kubernetes deployment resource usage.
Components
Labelling
Right now, goldilocks labels all VPA objects that are created with two unique labels. These are used to keep track
of the objects that it creates.In addition, namespace labels are utilized. The label
goldilocks.fairwinds.com/enabled=true is used to signify that the deployments in a namespace should be given
VPAs.
Controller
The controller watches Kubernetes events for Deployments and Namespaces that have been modified, created,
or deleted. When one of these is changed, the namespace that is involved is "reconciled". This means checking
to see if the namespace is labelled for goldilocks usage and then making sure there is a VPA object for every
deployment in that namespace. All VPA objects are set in recommendation mode only.
CLI
The cli has three main features:
1. It can create VPA objects in a namespace for each deployment in that namespace.
2. It can delete all the VPA objects that it created in a namespace.
3. It can provide a JSON summary of all the existing resource limits/requests, and VPA
recommendations.
Dashboard
The dashboard that gives recommendations on how to set your resource requests. And it also
provides a visualization of the VPA recommendations.
Components
QoS Class
Quality of Service (QoS) Class refers to different ways of setting your resource requests and limits.
Whenever Kubernetes creates a Pod it assigns one of these QoS classes to the Pod:
1. Guaranteed - In this class, you set your resource requests and limits to exactly the same values which guarantees that
the resources requested by the container will be available to it when it gets scheduled.
2. Burstable - This means that your resource requests are lower than your limits. Essentially, the scheduler will use the
request to place the pod on a node, but then the pod can use more resources up to the limit before it’s killed or throttled.
3. BestEffort - You don’t set any resource requests or limits.
Cost Related To Kubernetes
Workload
EKS: The cost of the managed control plane
Managed Kubernetes Provider cost to run one cluster on AWS EKS are $0.10 x 24 x 365 = $876
For all these offerings, there are no automatic version updates or auto-recovery and we still need to pay for the computing
resources like CPU, memory, and ephemeral storage that your worker pods consume.
Cost of the worker nodes
The cost of worker nodes also varies across cloud service providers and depends on the amount of computing resources
you need as well as in which region of the world your servers are running.
Provider is AWS m6gd.large EC2 instances and resources are 2 vCPUs and 8 GB RAM and the total annual cost is
$0.0904 x 24 x 365 = $792
Cost Optimization
4 Ways to Optimize Kubernetes Cost
1. Downsizing Your Clusters
You can reduce costs by decreasing the number and size of your cluster. You might delete a
whole cluster or nodes within a cluster. Visualizing the utilization of Kubernetes resources helps
identify and scale down unallocated resources. Cutting underutilized resources is the easiest
way to cut costs.
2. Rightsizing Your Workloads
While downsizing is a method of reducing unallocated resources, rightsizing involves minimizing
the cost of idle resources. In this case, you might not look for fully unutilized resources. You
would typically look for underutilized resources at the pod level. This approach allows you to
move your workloads and create a more accurate profile of the compute resources required to
run your nodes.
3. Running Kubernetes Nodes on Low-Cost Spot Instances
Spot instances help you save money with Kubernetes, but it is important to determine how well you can implement them
before relying on Spot capacity.
4. Auto Scaling
We can do Auto Scaling with Cluster Autoscaler, HPA, and VPA You won’t need to manually track and optimize everything in
Kubernetes, so an automated scaling approach is often the easiest option. An auto scaler lets you decide when to provision
additional resources and when to terminate them. You set the minimum and maximum limits for your resource configurations,
ensuring the system doesn’t accidentally scale up or down too much.
Kubernetes has auto scaling mechanisms that automatically scale entire clusters, pods, or workloads:
● Cluster Autoscaler
● Horizontal Pod Autoscaler (HPA)
● Vertical Pod Autoscalers (VPA)
Cost Optimization
Vertical Pod Autoscaler (VPA)
Vertical Pod Autoscaler (VPA) is an autoscaler that enables automatic CPU and memory request
and limit adjustments based on historical resource usage measurements.It increases and
decreases container CPU and memory resource configuration to align cluster resource allotment
with actual usage.
With VPA, there are two different types of resource configurations that we can manage on each
container of a pod:
1. Requests
2. Limits
Components of VPA
1. The VPA Recommender
2. The VPA Updater
3. The VPA Admission Controller
Working Of VPA
VPA Recommender
The Recommender looks at the metric history, OOM events and the
VPA spec of a deployment and suggests fitting values for requests.
The limits raised/lowered based on the limits:requests (more further
down) proportion defined. Hence the Recommender could just be
used by itself if one is unsure what the application actually needs.
DEMO
Thank You !
Get in touch with us:
Lorem Studio, Lord Building
D4456, LA, USA

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
 
Architecting for the Cloud: demo and best practices, by Simone Brunozzi (2011...
Architecting for the Cloud: demo and best practices, by Simone Brunozzi (2011...Architecting for the Cloud: demo and best practices, by Simone Brunozzi (2011...
Architecting for the Cloud: demo and best practices, by Simone Brunozzi (2011...
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Serverless Framework (2018)
Serverless Framework (2018)Serverless Framework (2018)
Serverless Framework (2018)
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overview
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWS
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Day 5 - Real-time Data Processing/Internet of Things (IoT) with Amazon Kinesis
Day 5 - Real-time Data Processing/Internet of Things (IoT) with Amazon KinesisDay 5 - Real-time Data Processing/Internet of Things (IoT) with Amazon Kinesis
Day 5 - Real-time Data Processing/Internet of Things (IoT) with Amazon Kinesis
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
 
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitA deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
 
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
 

Semelhante a Knolx Goldilocks

Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
Girish Kalamati
 

Semelhante a Knolx Goldilocks (20)

Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
 
Kubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch IIKubernetes Basics - ICP Workshop Batch II
Kubernetes Basics - ICP Workshop Batch II
 
Nodeless and serverless kubernetes
Nodeless and serverless kubernetesNodeless and serverless kubernetes
Nodeless and serverless kubernetes
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
 
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
 
A quick introduction to AKS
A quick introduction to AKSA quick introduction to AKS
A quick introduction to AKS
 
Karpenter
KarpenterKarpenter
Karpenter
 
What are the Features & Benefits of Kubernetes?
What are the Features & Benefits of Kubernetes?What are the Features & Benefits of Kubernetes?
What are the Features & Benefits of Kubernetes?
 
Kubernetes Cairo Meetup_dec_2019
Kubernetes Cairo Meetup_dec_2019Kubernetes Cairo Meetup_dec_2019
Kubernetes Cairo Meetup_dec_2019
 
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
AWS re:Invent re:Cap - 비용 최적화 - 모범사례와 아키텍처 설계 심화편 - 이원일
 
How Easy to Automate Application Deployment on AWS
How Easy to Automate Application Deployment on AWSHow Easy to Automate Application Deployment on AWS
How Easy to Automate Application Deployment on AWS
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
 
CNCF Rajkot group- Know the magic of kubernetes with AWS EKS
CNCF Rajkot group- Know the magic of kubernetes with AWS EKSCNCF Rajkot group- Know the magic of kubernetes with AWS EKS
CNCF Rajkot group- Know the magic of kubernetes with AWS EKS
 
Kubernetes Requests and Limits
Kubernetes Requests and LimitsKubernetes Requests and Limits
Kubernetes Requests and Limits
 
Lc3 beijing-june262018-sahdev zala-guangya
Lc3 beijing-june262018-sahdev zala-guangyaLc3 beijing-june262018-sahdev zala-guangya
Lc3 beijing-june262018-sahdev zala-guangya
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
Kubernates best Practices
Kubernates best PracticesKubernates best Practices
Kubernates best Practices
 

Mais de Knoldus Inc.

Mais de Knoldus Inc. (20)

Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptx
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
 
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdfGraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdf
 
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptxNuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptx
 
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable TestingData Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable Testing
 
K8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose KubernetesK8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose Kubernetes
 
Introduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptxIntroduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptx
 
Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II Presentation
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Configuring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRAConfiguring Workflows & Validators in JIRA
Configuring Workflows & Validators in JIRA
 
Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)Advanced Python (with dependency injection and hydra configuration packages)
Advanced Python (with dependency injection and hydra configuration packages)
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Knolx Goldilocks

  • 2. Lack of etiquette and manners is a huge turn off. KnolX Etiquettes Punctuality Join the session 5 minutes prior to the session start time. We start on time and conclude on time! Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Silent Mode Keep your mobile devices in silent mode, feel free to move out of session in case you need to attend an urgent call. Avoid Disturbance Avoid unwanted chit chat during the session.
  • 3. Agenda 01 Introduction 02 Cost Related To Kubernetes Workloads 03 Cost Optimization 04 VPA 05 Demo
  • 4. Introduction Goldilocks is an open source tool that recommends the right settings for resource requests and limits on kubernetes workloads. Goldilocks is a Kubernetes controller that provides a dashboard that gives recommendations on how to set your resource requests.Goldilocks is a utility that can help you identify a starting point for resource requests and limits.
  • 5. Features 1. Recommends values for resource requests and limits on kubernetes workloads. 2. Dashboard that shows recommended values for kubernetes resources based on QoS(Quality of Service). 3. The controller watches Kubernetes events for Deployments and Namespaces that have been modified, created, or deleted. 4. CLI utility for analysis of kubernetes deployment resource usage.
  • 6. Components Labelling Right now, goldilocks labels all VPA objects that are created with two unique labels. These are used to keep track of the objects that it creates.In addition, namespace labels are utilized. The label goldilocks.fairwinds.com/enabled=true is used to signify that the deployments in a namespace should be given VPAs. Controller The controller watches Kubernetes events for Deployments and Namespaces that have been modified, created, or deleted. When one of these is changed, the namespace that is involved is "reconciled". This means checking to see if the namespace is labelled for goldilocks usage and then making sure there is a VPA object for every deployment in that namespace. All VPA objects are set in recommendation mode only.
  • 7. CLI The cli has three main features: 1. It can create VPA objects in a namespace for each deployment in that namespace. 2. It can delete all the VPA objects that it created in a namespace. 3. It can provide a JSON summary of all the existing resource limits/requests, and VPA recommendations. Dashboard The dashboard that gives recommendations on how to set your resource requests. And it also provides a visualization of the VPA recommendations. Components
  • 8. QoS Class Quality of Service (QoS) Class refers to different ways of setting your resource requests and limits. Whenever Kubernetes creates a Pod it assigns one of these QoS classes to the Pod: 1. Guaranteed - In this class, you set your resource requests and limits to exactly the same values which guarantees that the resources requested by the container will be available to it when it gets scheduled. 2. Burstable - This means that your resource requests are lower than your limits. Essentially, the scheduler will use the request to place the pod on a node, but then the pod can use more resources up to the limit before it’s killed or throttled. 3. BestEffort - You don’t set any resource requests or limits.
  • 9. Cost Related To Kubernetes Workload EKS: The cost of the managed control plane Managed Kubernetes Provider cost to run one cluster on AWS EKS are $0.10 x 24 x 365 = $876 For all these offerings, there are no automatic version updates or auto-recovery and we still need to pay for the computing resources like CPU, memory, and ephemeral storage that your worker pods consume. Cost of the worker nodes The cost of worker nodes also varies across cloud service providers and depends on the amount of computing resources you need as well as in which region of the world your servers are running. Provider is AWS m6gd.large EC2 instances and resources are 2 vCPUs and 8 GB RAM and the total annual cost is $0.0904 x 24 x 365 = $792
  • 10. Cost Optimization 4 Ways to Optimize Kubernetes Cost 1. Downsizing Your Clusters You can reduce costs by decreasing the number and size of your cluster. You might delete a whole cluster or nodes within a cluster. Visualizing the utilization of Kubernetes resources helps identify and scale down unallocated resources. Cutting underutilized resources is the easiest way to cut costs. 2. Rightsizing Your Workloads While downsizing is a method of reducing unallocated resources, rightsizing involves minimizing the cost of idle resources. In this case, you might not look for fully unutilized resources. You would typically look for underutilized resources at the pod level. This approach allows you to move your workloads and create a more accurate profile of the compute resources required to run your nodes.
  • 11. 3. Running Kubernetes Nodes on Low-Cost Spot Instances Spot instances help you save money with Kubernetes, but it is important to determine how well you can implement them before relying on Spot capacity. 4. Auto Scaling We can do Auto Scaling with Cluster Autoscaler, HPA, and VPA You won’t need to manually track and optimize everything in Kubernetes, so an automated scaling approach is often the easiest option. An auto scaler lets you decide when to provision additional resources and when to terminate them. You set the minimum and maximum limits for your resource configurations, ensuring the system doesn’t accidentally scale up or down too much. Kubernetes has auto scaling mechanisms that automatically scale entire clusters, pods, or workloads: ● Cluster Autoscaler ● Horizontal Pod Autoscaler (HPA) ● Vertical Pod Autoscalers (VPA) Cost Optimization
  • 12. Vertical Pod Autoscaler (VPA) Vertical Pod Autoscaler (VPA) is an autoscaler that enables automatic CPU and memory request and limit adjustments based on historical resource usage measurements.It increases and decreases container CPU and memory resource configuration to align cluster resource allotment with actual usage. With VPA, there are two different types of resource configurations that we can manage on each container of a pod: 1. Requests 2. Limits Components of VPA 1. The VPA Recommender 2. The VPA Updater 3. The VPA Admission Controller
  • 14. VPA Recommender The Recommender looks at the metric history, OOM events and the VPA spec of a deployment and suggests fitting values for requests. The limits raised/lowered based on the limits:requests (more further down) proportion defined. Hence the Recommender could just be used by itself if one is unsure what the application actually needs.
  • 15. DEMO
  • 16. Thank You ! Get in touch with us: Lorem Studio, Lord Building D4456, LA, USA