Kubernetes
Trainings
Spinnaker is a free and open-source Continuous Delivery framework that manages deployments in either a cloud provider like AWS, GCP, or Azure or onto Kubernetes.
Spinnaker is the brainchild of Netflix where they use it to deploy and manage applications onto the cloud. This class covers important concepts like applications, accounts, artifacts and then delves into how to develop pipelines and run those pipelines.
Helm is part Kubernetes Package Manager and Part Chart Development. The Helm course is designed to be an introduction to understanding and working with the Helm Kubernetes package manager. It will start with a journey to understand why Helm exists and its purpose. The course will then navigate a path towards how to work with it, including building charts, publishing them, using them to release and manage Kubernetes workloads, as well as the various capabilities Helm offers via its CLI.
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
This introductory course is to level up operations and developers on how to use and maintain Kubernetes. This course starts with an introduction to Docker, then we proceed to an introduction to Kubernetes where we cover the history and what problems Kubernetes tries to solve. We then cover installation and necessary CLI utilities. We follow up describing the architecture of a Kubernetes cluster. Then we dig into how to do the common real-world operations like installing your app, scaling your app, viewing a dashboard, creating services and ingresses, deploying volumes, and administering your cluster.
Talks
Helm is excellent stuff. It is the package manager for Kubernetes and a way that you can package your Kubernetes YAML files and templatize them for reuse for either people in your organization or the public at large. Helm makes it super simple to deploy any major system with relative ease: find a repository, add the repository, and install your product. All Helm charts have a set of default values for everyday use cases, and it would be up to you to override the values you desire for your custom installation.
Back in 2005, when an unknown program called Hudson came onto the scene, I was pretty excited. I had used CruiseControl up to that point and was getting pretty comfortable with the notion of Continuous Integration. Hudson had terrific graphics and an intuitive UI, unlike Cruise Control with XML laden directives. I thought the future was here. Then some cracks started showing, particularly in the delivery aspect of Hudson. I had used a Tomcat plugin, but trying to get a jar, use various environments, became a juggling act. Then came Docker, and I loved it because we get to deploy an image! No more SSHing into a box and messing things up. We had immutability. Now, we have Kubernetes, a system that takes these immutable containers and monitors them, among other great features. Jenkins still has its place but as CI, Continuous Integration. In this presentation, I will demonstrate Spinnaker, a system developed by Netflix for CD, Continuous Delivery. I will demonstrate how to set up, deploy, , monitor, rollback, and scale our pods with the ease of just selecting an item on a menu.
This presentation will explore ArgoCD, a powerful, open-source, and declarative GitOps continuous delivery tool for Kubernetes. We’ll introduce GitOps and its importance in modern DevOps practices, followed by a high-level overview of ArgoCD and its key features, such as automated sync and rollback capabilities. The presentation will cover ArgoCD’s architecture, detailing its core components and workflow, and provide a guide on installation, initial configuration, and defining and managing applications.
There are multiple elements to Kubernetes where each component seems like a character in a book, pods, services, deployments, secrets, jobs, config maps, and more. In this presentation, we just focus on the security aspect of Kubernetes and the components involved. Particularly centered around RBAC and ServiceAccounts. What they are, what they do. We discuss etcd and secrets. We will also discuss other options for security in Kubernetes.
Canary Deployments are the last ingredient of any Continuous Delivery or Continuous Deployment rollout. A canary deployment is a deployment strategy that releases an application or service incrementally to a subset of users. All infrastructure in a target environment is updated in small phases (e.g., 2%, 25%, 75%, 100%). This control makes a canary release the lowest risk-prone compared to all other deployment strategies, like the blue-green strategy. If you need to back out of a production deployment quickly without much disruption, then canary deployments may be an excellent practice to set up.