Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
https://thinkcloudly.com/
Helm version 3 was recently released with new features and a new architecture to support those features. The changes to Helm and charts were based on feedback, changes to Kubernetes, and lessons learned in the past couple years.
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
Introduction to Helm, the package manager for Kubernetes: Create and use Kubernetes charts. Deploy releases on a cluster ... and rollback your releases. Get for instance Prometheus up and running with just a single command.
An intro to Helm capabilities and how it helps make upgrades and rollbacks in Kubernetes,, packaging and sharing and also managing complex dependencies for K8s applications easier.
Kubernetes Helm makes application deployment easy, standardized and reusable. Use of Kubernetes Helm leads to better developer productivity, reduced Kubernetes deployment complexity and enhanced enterprise production readiness.
Enterprises using Kubernetes Helm can speed up the adoption of cloud native applications. These applications can be sourced from open-source community provided repositories, or from an organization’s internal repository of customized application blueprints.
Developers can use Kubernetes Helm as a vehicle for packaging their applications and sharing them with the Kubernetes community. Kubernetes Helm also allows software vendors to offer their containerized applications at “the push of a button.” Through a single command or a few mouse clicks, users can install Kubernetes apps for dev-test or production environments.
Helm version 3 was recently released with new features and a new architecture to support those features. The changes to Helm and charts were based on feedback, changes to Kubernetes, and lessons learned in the past couple years.
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
Introduction to Helm, the package manager for Kubernetes: Create and use Kubernetes charts. Deploy releases on a cluster ... and rollback your releases. Get for instance Prometheus up and running with just a single command.
An intro to Helm capabilities and how it helps make upgrades and rollbacks in Kubernetes,, packaging and sharing and also managing complex dependencies for K8s applications easier.
Kubernetes Helm makes application deployment easy, standardized and reusable. Use of Kubernetes Helm leads to better developer productivity, reduced Kubernetes deployment complexity and enhanced enterprise production readiness.
Enterprises using Kubernetes Helm can speed up the adoption of cloud native applications. These applications can be sourced from open-source community provided repositories, or from an organization’s internal repository of customized application blueprints.
Developers can use Kubernetes Helm as a vehicle for packaging their applications and sharing them with the Kubernetes community. Kubernetes Helm also allows software vendors to offer their containerized applications at “the push of a button.” Through a single command or a few mouse clicks, users can install Kubernetes apps for dev-test or production environments.
Related Source Code https://github.com/abdennour/meetup-deployment-k8s
Intro
Why Deployment ?
What’s Deployment ?
How Deployment?
Deployment Strategies ( in general & in k8s )
Deployment Features
Demo ( distributed )
Helm - Application deployment management for KubernetesAlexei Ledenev
Use Helm to package and deploy a composed application to any Kubernetes cluster. Manage your releases easily over time and across multiple K8s clusters.
Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...Codemotion
Helm is the official package manager for Kubernetes. This session introduces Helm and illustrates its advantages over "kubectl" with plain Kubernetes manifests. We will learn about its architecture and features, such as lifecycle management, parameterizability using Go templating, chart dependencies, etc. Demos will explain how all the bits and pieces work together.
Kubernetes Helm (Boulder Kubernetes Meetup, June 2016)Matt Butcher
Kubernetes Helm is the package manager for Kubernetes. In this presentation, we walk through the basics of Helm, Tiller, and the Helm Charts file format.
Helm is a package manager for Kubernetes. It helps streamline installing and managing applications. This session covers prerequisites for Helm, which include a basic understanding of containers and Kubernetes along with its architecture. It also covers the limitations that come with running deployments using the kubectl binary, Helm's architecture, templating with it and finally ends on a note highlighting the difference between versions 2 and 3.
Jessica Deen, Microsoft -
Helm 3 is here; let's go hands-on! In this demo-fueled session, I'll walk you through the differences between Helm 2 and Helm 3. I'll offer tips for a successful rollout or upgrade, go over how to easily use charts created for Helm 2 with Helm 3 (without changing your syntax), and review opportunities where you can participate in the project's future.
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
This talk discusses the core concepts behind the Kubernetes extensibility model. We are going to see how to implement new CRDs, operators and when to use them to automate the most critical aspects of your Kubernetes clusters.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Writing concurrent programs that can run in multiple threads and on multiple cores is crucial but daunting. Futures provides a convenient abstraction for many problem domains. The online course "Intermediate Scala" includes an up-to-date discussion of futures and the parts of java.util.concurrent that underlie the Scala futures implementation. Unlike Java's futures, Scala futures supports composition, transformations and sophisticated callbacks.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Related Source Code https://github.com/abdennour/meetup-deployment-k8s
Intro
Why Deployment ?
What’s Deployment ?
How Deployment?
Deployment Strategies ( in general & in k8s )
Deployment Features
Demo ( distributed )
Helm - Application deployment management for KubernetesAlexei Ledenev
Use Helm to package and deploy a composed application to any Kubernetes cluster. Manage your releases easily over time and across multiple K8s clusters.
Helm - the Better Way to Deploy on Kubernetes - Reinhard Nägele - Codemotion...Codemotion
Helm is the official package manager for Kubernetes. This session introduces Helm and illustrates its advantages over "kubectl" with plain Kubernetes manifests. We will learn about its architecture and features, such as lifecycle management, parameterizability using Go templating, chart dependencies, etc. Demos will explain how all the bits and pieces work together.
Kubernetes Helm (Boulder Kubernetes Meetup, June 2016)Matt Butcher
Kubernetes Helm is the package manager for Kubernetes. In this presentation, we walk through the basics of Helm, Tiller, and the Helm Charts file format.
Helm is a package manager for Kubernetes. It helps streamline installing and managing applications. This session covers prerequisites for Helm, which include a basic understanding of containers and Kubernetes along with its architecture. It also covers the limitations that come with running deployments using the kubectl binary, Helm's architecture, templating with it and finally ends on a note highlighting the difference between versions 2 and 3.
Jessica Deen, Microsoft -
Helm 3 is here; let's go hands-on! In this demo-fueled session, I'll walk you through the differences between Helm 2 and Helm 3. I'll offer tips for a successful rollout or upgrade, go over how to easily use charts created for Helm 2 with Helm 3 (without changing your syntax), and review opportunities where you can participate in the project's future.
Author: Oleg Chunikhin, www.eastbanctech.com
Kubernetes is a portable open source system for managing and orchestrating containerized cluster applications. Kubernetes solves a number of DevOps related problems out of the box in a simple and unified way – rolling updates and update rollback, canary deployment and other complicated deployment scenarios, scaling, load balancing, service discovery, logging, monitoring, persistent storage management, and much more. You will learn how in less than 30 minutes a reliable self-healing production-ready Kubernetes cluster may be deployed on AWS and used to host and operate multiple environments and applications.
This talk discusses the core concepts behind the Kubernetes extensibility model. We are going to see how to implement new CRDs, operators and when to use them to automate the most critical aspects of your Kubernetes clusters.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Writing concurrent programs that can run in multiple threads and on multiple cores is crucial but daunting. Futures provides a convenient abstraction for many problem domains. The online course "Intermediate Scala" includes an up-to-date discussion of futures and the parts of java.util.concurrent that underlie the Scala futures implementation. Unlike Java's futures, Scala futures supports composition, transformations and sophisticated callbacks.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Empowering developers to deploy their own data storesTomas Doran
Empowering developers to deploy their own data stores using Terrafom, Puppet and rage. A talk about automating server building and configuration for Elasticsearch clusters, using Hashicorp and puppet labs tool. Presented at Config Management Camp 2016 in Ghent
Continuous Delivery for Kubernetes Apps with Helm and ChartMuseumCodefresh
**View the full webinar here: https://codefresh.io/cd-helm-chartmuseum-lp/
Sign up for a FREE Codefresh account today: https://codefresh.io/codefresh-signup/
In this webinar, Stef Arnold from SUSE CaaS Platform & Josh Dolitsky from Codefresh talked about streamlining the delivery of Kubernetes-based applications using the open-source tools Helm and ChartMuseum. They showed you how to use Helm to package your application as a chart, which is a deployable collection of Kubernetes files. Then, how to release your chart to ChartMuseum, which serves as an artifact repository for Helm charts.
Presentation related to the Java Hands-On Workshop I had conducted at MVJ College Of Engineering, Bengaluru.
The code examples and exercises related to the workshop can be found at https://github.com/arpoladia/java-hands-on-workshop.
Credits go to the book Thinking in Java by Bruce Eckel (http://www.mindviewinc.com/Books/TIJ4/). I strongly recommend all Java programmers to buy and read this book cover to cover.
ApacheCon2010: Cache & Concurrency Considerations in Cassandra (& limits of JVM)srisatish ambati
Cache & Concurrency considerations for a high performance Cassandra deployment.
SriSatish Ambati
Cassandra has hit it's stride as a distributed java NoSQL database! It's fast, it's in-memory, it's scalable, it's seda; It's eventually consistent model makes it practical for the large & growing volumes of unstructured data usecases. It is also time to run it through the filters of performance analysis. For starters it runs on the java virtual machine and inherits the capabilities and culpabilities of the platform. This presentation reviews the runtime architecture, cache behavior & performance of a real-world workload on Cassandra. We blend existing system & jvm tools to get a quick overview & a breakdown of hotspots in the get, put & update operations. We highlight the role played by garbage collection & fragmentation due to long lived objects; We investigate lock contention in the data structures under concurrent usage. Cassandra uses UDP for management & TCP for data: we look at robustness of the communication patterns during high spikes and cluster-wide events. We review Non-Blocking Hashmap modifications to Cassandra that improve concurrency & amplify performance of this frontrunner in the NoSQL space
ApacheCon2010 NA
Wed, 03 November 2010 15:00
cassandra
With more businesses moving to cloud-based solutions everyday, we must re-think the strategies used to deploy Perl applications and related libraries, given the volatile aspects of the cloud and its constraints.
In this talk I go over the challenges posed by virtualised environments, and consider several solutions to them. The use cases are all related to Amazon's EC2, but will easily be adapted for GoGrid, Mosso, and others.
Overview of Solr 6.2 examples, including features they have and challenges they present. A contrasting demonstration of a minimal viable example. A step-by-step deconstruction of "films" example to show what part of shipped examples are not actually needed.
Slide deck for the Kubernetes Manchester meetup December 2018 talk. Jim introduces a little about moneysupermarket, the direction we're heading and historical problems we've had.
I (David) then walk through the technology choices we've made and how they fit together to form our Istio service mesh on an auto-scaling AWS EC2 kubernetes platform.
Kubernetes has become the defacto standard as a platform for container orchestration. Its ease of extending and many integrations has paved the way for a wide variety of data science and research tooling to be built on top of it.
From all encompassing tools like Kubeflow that make it easy for researchers to build end-to-end Machine Learning pipelines to specific orchestration of analytics engines such as Spark; Kubernetes has made the deployment and management of these things easy. This presentation will showcase some of the larger research tools in the ecosystem and go into how Kubernetes has enabled this easy form of application management.
Performance van Java 8 en verder - Jeroen BorgersNLJUG
We weten allemaal dat de grootste verbetering die Java 8 brengt de ondersteuning voor lambda-expressies is. Dit introduceert functioneel programmeren in Java. Door het toevoegen van de Stream API wordt deze verbetering nog groter: iteratie kan nu intern worden afgehandeld door een bibliotheek, je kunt daarmee nu het beginsel "Tell, don’t ask" toepassen op collecties. Je kunt gewoon vertellen dat er een ??functie uitgevoerd moet worden op je verzameling, of vertellen dat dat parallel, door meerdere cores moet gebeuren. Maar wat betekent dit voor de prestaties van onze Java-toepassingen? Kunnen we nu meteen volledig al onze CPU-cores benutten om betere responstijden te krijgen? Hoe werken filter / map / reduce en parallele streams precies intern? Hoe wordt het Fork-Join framework hierin gebruikt? Zijn lambda's sneller dan inner klassen? - Al deze vragen worden beantwoord in deze sessie. Daarnaast introduceert Java 8 meer performance verbeteringen: tiered compilatie, PermGen verwijdering, java.time, Accumulators, Adders en Map verbeteringen. Ten slotte zullen we ook een kijkje nemen in de keuken van de geplande performance verbeteringen voor Java 9: benutting van GPU's, Value Types en arrays 2.0.
ML refers to an AI system that can self-learn based on the algorithm. Systems that get smarter and smarter over time without human intervention is ML. Deep Learning (DL) is a machine learning (ML) applied to large data sets. Most AI work involves ML because intelligent behaviour requires considerable knowledge.
https://thinkcloudly.com/
Terraform is an infrastructure as code tool that lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share. You can then use a consistent workflow to provision and manage all of your infrastructure throughout its lifecycle.
https://thinkcloudly.com/
a set of skills especially : a collection of skills and abilities that can be applied to a professional or creative endeavor She chooses to pursue a position in public relations—"journalism's evil twin"—reasoning that it will require much the same "skill set" that a published writer has. —
https://thinkcloudly.com/
ZIP files work in much the same way as a standard folder on your computer. They contain data and files together in one place. But with zipped files, the contents are compressed, which reduces the amount of data used by your computer. Another way to describe ZIP files is as an archive.
https://thinkcloudly.com/
SQL injection, also known as SQLI, is a common attack vector that uses malicious SQL code for backend database manipulation to access information that was not intended to be displayed. This information may include any number of items, including sensitive company data, user lists or private customer details.
https://thinkcloudly.com/
A deadlock is a situation in which two computer programs sharing the same resource are effectively preventing each other from accessing the resource, resulting in both programs ceasing to function. The earliest computer operating systems ran only one program at a time.
https://thinkcloudly.com/
The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content. The DOM represents the document as nodes and objects; that way, programming languages can interact with the page.
https://thinkcloudly.com/
Amazon Elastic Kubernetes Service (Amazon EKS) is a fully-managed, certified Kubernetes conformant service that simplifies the process of building, securing, operating, and maintaining Kubernetes clusters on AWS
https://thinkcloudly.com/?s=aws+Elastic+Kubernetes+Service+
Azure machines are grouped into cloud service and respond to the same domain name with various ports whereas the AWS machine can be accessed separately. Azure has a virtual network cloud whereas AWS has Virtual Private Cloud. Azure has 140 availability zone whereas AWS has 61 availability zone.
https://thinkcloudly.com/
DevOps is a set of practices, tools, and a cultural philosophy that automate and integrate the processes between software development and IT teams. It emphasizes team empowerment, cross-team communication and collaboration, and technology automation.
https://thinkcloudly.com/
AWS charges you on an hourly basis but Azure has a pricing model of per minute charge. In terms of short term subscriptions, Azure has more flexibility but it is more expensive. Azure has a much better hybrid cloud support in comparison with AWS. AWS provides direct connections whereas Azure express provides routing.
https://thinkcloudly.com/
npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently. It is extremely configurable to support a wide variety of use cases. Most commonly, it is used to publish, discover, install, and develop node programs.
https://thinkcloudly.com/
Django is a high-level Python web framework that enables rapid development of secure and maintainable websites. Built by experienced developers, Django takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel.
https://thinkcloudly.com/
REST stands for Representational State Transfer. It’s a software architectural style for implementing web services. Web services implemented using the REST architectural style are known as the RESTful web services.
https://thinkcloudly.com/
WEB 3.0 is a framework that was created by the World Economic Forum to help digital companies in their transition from a web-based business to an AI-driven one. It is a set of strategies and guidelines that help companies boost productivity, while also making sure that they are not sacrificing quality.
https://thinkcloudly.com/
Docker is a software that provides an abstraction layer for the operating system. This allows developers to package up their application and its dependencies in a container which can then run on any Linux server.
This article will explore how Docker has changed the way we develop, deploy, and run applications by providing an abstraction layer for the operating system.
https://thinkcloudly.com/
A cors is a cross-origin resource sharing. It is a way to allow resources to be shared across domains that would not otherwise be able to share data.
CORS are used by browsers, servers and web services to communicate with each other. A browser will send the request for cross-domain access and the server will grant or deny it based on its own configuration.
https://thinkcloudly.com/
A coding resource is a website, a book, a community forum or any other online or offline resource that provides information about the programming languages. The programming language is the most important part of any coding resource.
The Coding Resource is the most important part of any coding resource because it is what you will use to code in order to create your own programs and applications.
https://thinkcloudly.com/
An algorithm is a set of instructions for solving a problem. The instructions are precise and unambiguous, meaning that the steps must be followed in the order given. Algorithms can be used to solve mathematical problems or to find the most efficient way to accomplish something.
The word "algorithm" was first used by mathematician John von Neumann, who defined it as "the science of effective methods."
Blockchain is a distributed database that allows digital information to be stored securely and privately, without the need for a central authority. We can use it to store records of transactions, but not just any kind of transaction.
https://thinkcloudly.com/
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as “distorted thinking”.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
2. •How do I pack all or some of my contents (read as K8s
objects) as a single luggage to be delivered
•Someone on the other ship wants to use the conents on
my ship? I’m scared if I pick all the loose contents, I
might drop some into the sea
•Wait! What was my last location? How am I even
supposed to go back from this not-so-good-place (read
as last state)
•You want to search(read monitor) my ship? NO! Not
till you are from the “audit” department
In the first place, why
even did you try riding me
without my HELM?
No Helm?
3. The Power of Helm
•Package Manger
•The archivist. Of YAMLs
•Templating Engine
•Add some sense(read as logic) to your YAMLs!
6. •Kubernetes did not have RBAC policies
around <1.16
•It kept multiple resources consistent across
our clusters
•Rollbacks
•It worked way more frequently than it didn’t
•Security: cluster-wide access —> privilege
escalation attacks if not properly secured
•Deployment of already complex tools like
Istio was difficult as Tiller was buggy and
unstable
•Securing tiller was a humongous task
•Deployment pipelines would fail at times due
to false errors generated in Helm2
Why Tiller; Why No Tiller?
7. •2-way vs 3-way strategic merge patch
•Namespaces are now not created automatically
•Helm serve removed; its available as a plugin
•Release name is now not automatically generated
•Values provided by the user can be forced to follow a particular JSON schema
•Secrets are used instead of configMaps (with a secret type of helm.sh/release)
as the default storage driver
v2 vs v3
8. Charts: Structure; Configuration; Creation
•Chart directory/
•Chart.yaml
•templates/
•templates/k8sYAMLs
•templates/*.tpl
•templates/NOTES.txt
•values.yaml
•tests/- write some tests to validate your charts
10. Flow Control, Functions and Pipelines
Providing logic to Helm charts … or lets say kubernetes YAMLs
•Conditionals: If/Else in Helm
•Functions: quote, upper, lower
•Operators are also functions (eq, ne, lt, gt, and, or)
•Pipe- ‘|’ . - use output of one function for further processing
11. •Range: for-each loop for helm
•Scopes- similar to scope of a variable in
normal programming languages
•the dot(.) operator points to the current
scope
•the dollar($) operator points to the root
scope
Scopes; Ranges
$.Chart.Name
.Release.Name
12. •Used for removal of code duplication
and the need of rewriting code or some
code portions
•Present in the templates/ folder
•_ indicates to helm to not consider it as
a normal template file so that it is not
processed as a YAML file
metadata:
name: {{ .Release.Name }}-nginx
labels:
{{- template "labels" . }}
{{- define "labels" }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
_NamedTemplates.tpl
13. •pre-upgrade hook | post-upgrade hook
•pre-install hook | post-install hook
•pre-delete hook | post-delete hook
•pre-rollback hook | post-rollback hook
•test
Hook Deletion Policies
•hook-succeeded
•hook-failed
•before-hook-creation
Use to run specific tasks before/after running the main kubernetes objects
annotations:
"helm.sh/hook": pre-upgrade
One-off tasks: Chart Hooks