Through my decades in programming and management,I've always tried to make time to learn and develop both technical and leadership skills and share them with others Regardless of the topic or technology, my belief is that there is no substitute for the excitement and sense of potential that come from providing others with the knowledge they need to help them accomplish their goals.
In my spare time, I hang out with my wife Anne-Marie, 4 children and 2 small dogs in Cary, North Carolina where I design and conduct trainings and write books. You can find me on LinkedIn (linkedin.com/in/brentlaster), Twitter (@brentclaster) or through my company's website at www.getskillsnow.com.
What you will learn:
Kubernetes has won the war when it comes to running and managing containerized workloads. It is essentially the operating system for containers. But beyond Kubernetes itself, there are a large set of community applications and tools that can greatly extend its value and integrate directly with it.
In this full-day workshop, author, trainer, and DevOps leader Brent Laster will provide you with an introduction AND hands-on experience with these various applications and tools. You'll learn not only what they are and how they interact with Kubernetes but get to experience actually using them to accomplish a task.
We'll cover orchestration with Helm & Kustomize, service meshes with Istio, CI/CD pipelines with Tekton, GitOps with ArgoCD and, if time allows - creating and managing Custom Resources in Kubernetes with the Operator pattern.
The planned workshop outline follows (subject to change).
Class outline
Part 1: Introduction and brief refresher/level-set on core concepts in Kubernetes. Agenda for class and quick overview of technologies.
Part 2: What is Helm? Basic concepts and function. Helm charts.
Lab 1: Working with Helm - in this lab, we'll compare a Helm chart against standard Kubernetes manifests and then deploy the Helm chart into Kubernetes
Part 3: Using custom values and functions in Helm charts
Lab 2: Templating with Helm - in this lab, we'll see how to change hard-coded values into templates, override values, and upgrade releases through Helm
Part 4: What is Kustomize? Basic concepts and function. How does Kustomize differ from Helm?
Lab 3: Run a basic Kustomize example - in this lab, we'll see how to make a set of manifests usable with Kustomize to add additional changes without modifying the original files
Part 5: Working with variants, overlays, and bases to create different versions of K8s manifests
Lab 4 - Creating Variants - in this lab, we'll see how to create production and stage variants of our simple application
Part 6: Service mesh leveraging Istio - what is it? How does it work? When should you use it?
Lab 5: Working with Istio - in this lab, we'll look at Istio and see how we can leverage some of its functionality with the sidecar containerss to do traffic-shifting, fault injection and more.
Part 7: CD with Tekton - defining Tasks as building blocks. What is Tekton and what are the advantages and disadvantages of it?
Lab 6: Working with Tekton Tasks - in this lab, we'll see how to run and use a basic Tekton Task.
Part 8: CICD with Tekton Pipelines - explaining how tasks are combined in Pipelines and how those can be used for CD
Lab 7: Creating Tekton Pipelines - in this lab, we'll see how to create a Tekton Pipeline to orchestrate our tasks and run them together.
Part 9: What is GitOps? How and why is it used? Intro to ArgoCD.
Lab 8: Getting Started with Argo CD.
Part 10: How to manage Custom Resources in Kubernetes with Operators. What is a custom resource, a custom resource definition, a control loop, and an operator? When do you need/use custom resources and operators?
Lab 9: Kubernetes Operators - in this lab, we'll get to install and work with a simple Kubernetes operator.
Containers are all the rage these days – from Docker to Kubernetes and everywhere in-between. But to get the most out of them it can be helpful to understand how containers are constructed, how they depend and interact with the operating system, and what the differences and interactions are between layers, images, and containers. Join R&D Director, Brent Laster as he does a quick, visual overview of how containers work and how applications such as Docker work with them.
Topics to be discussed include:
• What containers are and the benefits they provide
• How containers are constructed
• The differences between layers, images, and containers
• What does immutability really mean
• The core Linux functionalities that containers are based on
• How containers reuse code
• The differences between containers and VMs
• What Docker really does
• The Open Container Initiative
• A good analogy for understanding all of this
What you will learn
In this half-day workshop, open-source author, trainer and DevOps director Brent Laster will provide a solid introduction to GitHub Actions. You’ll learn about the core parts and pieces that make up an action, as well as the types of functionality and features they provide. You’ll also see how to combine them in simple workflows to accomplish basic tasks as well as how they can fit into a CI/CD environment. And you’ll learn about how to create and self-host your own actions.
This course will leverage hands-on, guided labs using GitHub and GitHub Actions so that participants can gain “real-world” experience with GitHub Actions.
Draft course outline (subject to change)
Section 1: A quick intro to GitHub Actions
Content: In this section, we’ll cover the basics of GitHub actions – what are they and why would we use them? We’ll cover what “event driven” means and what events, jobs, actions, steps, runners and workflows are. And we’ll see how they all related to each other and work together. We’ll see how to create and store a GitHub action. Finally, we’ll look at how to create a simple action.
Lab 1: Creating a simple example – In this lab, we’ll get a quick start learning about GitHub Actions by creating a simple project that uses them.
We'll also see what a first run of a workflow with actions looks like. this lab, attendees will create and use a basic GitHub Action
Section 2: Taking actions further
Content: In this section, we’ll cover how to find GitHub actions that might be of interest. We’ll look at how to share and version actions. And we’ll see how to use additional features with actions.
Lab 2: Learning more about Actions – In this lab, we'll see how to get more information about Actions and how to update our workflow to use others. We'll also see how to add jobs and commit changes through the browser interface.
Section 3: Working with your own action
Content: For this section, we’ll look at how to create and then use your own custom action
Lab 3: Adding your own action - in this lab, we'll see how to create and use a custom GitHub Action
Section 4: Looking at action logs and getting details
Content: For this section, we’ll dive into the logs produced for GitHub actions to understand what's really happening on the runner systems and also look at how to add some simple markup to add a status badge on your project.
Lab 4: Exploring logs - in this lab, we'll take a closer look at the different options for getting information from logs.
Section 5: Getting debug info
Content: In this section, we’ll cover how to get debug information when running through actions and workflows.
Lab 5: Looking at debug info - in this lab, we'll look at some ways to get more debugging info from our workflows
Part 6: Working with advanced workflows
Content: In this section, we'll look at various examples of advanced workflows including chaining workflows, using conditionals, and working with REST APIs to drive other events in GitHub.
Lab 6: Chaining workflows, using conditionals, and working with REST APIs in workflows.
What you will learn
In this half-day workshop, open-source author, trainer and DevOps director Brent Laster will provide a solid introduction to GitHub Actions. You’ll learn about the core parts and pieces that make up an action, as well as the types of functionality and features they provide. You’ll also see how to combine them in simple workflows to accomplish basic tasks as well as how they can fit into a CI/CD environment. And you’ll learn about how to create and self-host your own actions.
This course will leverage hands-on, guided labs using GitHub and GitHub Actions so that participants can gain “real-world” experience with GitHub Actions.
Draft course outline (subject to change)
Section 1: A quick intro to GitHub Actions
Content: In this section, we’ll cover the basics of GitHub actions – what are they and why would we use them? We’ll cover what “event driven” means and what events, jobs, actions, steps, runners and workflows are. And we’ll see how they all related to each other and work together. We’ll see how to create and store a GitHub action. Finally, we’ll look at how to create a simple action.
Lab 1: Creating a simple example – In this lab, we’ll get a quick start learning about GitHub Actions by creating a simple project that uses them.
We'll also see what a first run of a workflow with actions looks like. this lab, attendees will create and use a basic GitHub Action
Section 2: Taking actions further
Content: In this section, we’ll cover how to find GitHub actions that might be of interest. We’ll look at how to share and version actions. And we’ll see how to use additional features with actions.
Lab 2: Learning more about Actions – In this lab, we'll see how to get more information about Actions and how to update our workflow to use others. We'll also see how to add jobs and commit changes through the browser interface.
Section 3: Working with your own action
Content: For this section, we’ll look at how to create and then use your own custom action
Lab 3: Adding your own action - in this lab, we'll see how to create and use a custom GitHub Action
Section 4: Looking at action logs and getting details
Content: For this section, we’ll dive into the logs produced for GitHub actions to understand what's really happening on the runner systems and also look at how to add some simple markup to add a status badge on your project.
Lab 4: Exploring logs - in this lab, we'll take a closer look at the different options for getting information from logs.
Section 5: Getting debug info
Content: In this section, we’ll cover how to get debug information when running through actions and workflows.
Lab 5: Looking at debug info - in this lab, we'll look at some ways to get more debugging info from our workflows
Part 6: Working with advanced workflows
Content: In this section, we'll look at various examples of advanced workflows including chaining workflows, using conditionals, and working with REST APIs to drive other events in GitHub.
Lab 6: Chaining workflows, using conditionals, and working with REST APIs in workflows.
Professional Git takes a professional approach to learning this massively popular software development tool, and provides an up-to-date guide for new users. More than just a development manual, this book helps you get into the Git mindset—extensive discussion of corollaries to traditional systems as well as considerations unique to Git help you draw upon existing skills while looking out—and planning for—the differences. Connected labs and exercises are interspersed at key points to reinforce important concepts and deepen your understanding, and a focus on the practical goes beyond technical tutorials to help you integrate the Git model into your real-world workflow.
Git greatly simplifies the software development cycle, enabling users to create, use, and switch between versions as easily as you switch between files. This book shows you how to harness that power and flexibility to streamline your development cycle.
Git works with the most popular software development tools and is used by almost all of the major technology companies. More than 40 percent of software developers use it as their primary source control tool, and that number continues to grow; the ability to work effectively with Git is rapidly approaching must-have status, and Professional Git is the comprehensive guide you need to get up to speed quickly.