image
Delete All K8s Resources
Start course
Difficulty
Advanced
Duration
1h 26m
Students
1247
Ratings
4.7/5
Description

This training course is designed to help you master the skills of deploying cloud-native applications into Kubernetes.

Observe first hand the end-to-end process of deploying a sample cloud-native application into a Kubernetes cluster. By taking this course you'll not only get to see firsthand the skills required to perform a robust enterprise-grade deployment into Kubernetes, but you'll also be able to apply them yourself as all code and deployment assets are available for you to perform your own deployment:

https://github.com/cloudacademy/voteapp-frontend-react
https://github.com/cloudacademy/voteapp-api-go
https://github.com/cloudacademy/voteapp-k8s

Kubernetes Resources

This training course provides you with in-depth coverage and demonstrations of the following Kubernetes resources:

  1. Namespace
  2. Deployment/ReplicaSet
  3. Pod
  4. Service
  5. Ingress/Ingress Controller
  6. StatefulSet
    1. Persistent Volume
    2. Persistent Volume Claim
    3. Headless Service
  7. NetworkPolicy

Learning Objectives

What you'll learn:

  • Learn and understand the basic principles of deploying cloud-native applications into a Kubernetes cluster
  • Understand how to set up and configure a locally provisioned Kubernetes cluster using Minikube
  • Understand how to work with and configure many of the key Kubernetes cluster resources such as Pods, Deployments, Services, etc.
  • And finally, you’ll learn how to manage deployments and Kubernetes cluster resources through their full lifecycle.

Demonstration

This training course provides you with many hands-on demonstrations where you will observe first hand how to

  • Create and provision a Minikube Kubernetes cluster
  • Install the Cilium CNI plugin
  • Build and deploy Docker containers
  • Create and configure Kubernetes resources using kubectl

Prerequisites

  • A basic understanding of containers and containerization
  • A basic understanding of software development and the software development life cycle
  • A basic understanding of networks and networking

Intended Audience

  • Anyone interested in learning Kubernetes
  • Software Developers interested in Kubernetes containerization, orchestration, and scheduling
  • DevOps Practitioners
Transcript

- Okay, welcome back. In this lecture I'm going to show you just how easy it is to tear down all the resources that make up our sample Cloud Native application, and for which are currently deployed within the Cloud Academy namespace within our cluster. 

Note, if you've been following along, you may wish to consider not performing the kubectl delete command, as soon to be demonstrated, as it will literally wipe out the sample Cloud Native application that you've worked hard to deploy within all of the previous lectures. Okay, let's begin. Back within our terminal we'll first run a query to view all of the currently deployed resources in the current Cloud Academy namespace, like so. 

As expected, there are many different resources currently deployed. We'll now delete all of these. We can do so by simply running the following all encompassing kubectl delete command. As seen now, this has deleted all of these resource types, which we previously deployed into the Cloud Academy namespace. We can now validate this by re-running the previous kubectl gate command, which this time shows no resources. How easy was that? Perhaps too easy. 

In a production deployment this type of destructive action should be controlled within our back or row based access control, which, when deployed into the cluster would authorize only privileged staff to perform, but this is beyond the scope of this course. Okay, well done. That concludes the demonstration portion of this course. You've seen first hand how simple it is to deploy solutions into a Kubernetes cluster.

About the Author
Students
143802
Labs
71
Courses
109
Learning Paths
209

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).