Kubernetes is simply an open source system that acts as a container orchestration system for applications. Kubernetes makes deployment and the scaling operations of applications easier and quicker. Kubernetes runs on premises or in Cloud providers such as Azure Kubernetes Service (AKS).
Kubernetes creates a set of primitives (building blocks) which provide methods for deploying, maintaining, and scaling applications based on memory, CPU, or custom metrics.
Kubernetes is loosely coupled, so it is easily extensible to meet different workloads. The Kubernetes platform defines resources as objects. The central objects are as follows:
- Namespaces: Partitions managed resources to non-overlapping sets.
- Services: Group of pods that work together as defined by a label selector.
- Pods: One or more containers located on the host and can share resources.
- Volumes: File systems in the Kubernetes Container provide short-term storage.
Installation of Kubernetes is quite easy. The following steps show you how to install it:
- Install Visual Studio 2019.
- Install the ASP.NET and Web development workload.
- Ensure Visual Studio Tools for Kubernetes is installed.
- Navigate to Visual Studio Online Tools.
- Click Install. The following screen should appear:
Figure 1: Kubernetes
- Click Install at the bottom right-hand corner of the screen. Kubernetes will be installed.
To create a Kubernetes Container application, perform the following steps:
- Create a new Visual Studio 2019, C# project.
- Search for the Container Application for Kubernetes template.
- Once found, click Next.
- Then, enter the project details.
- Click Create.
- Select Web Application on the next screen.
- Click Create.
- The Solution Explorer window should resemble to the following screenshot:
Figure 2: Solution Explorer
A few of the added files to the solution are as follows:
- Dockerfile: Collection of SaaS (Software-as-a-Service) and PaaS (Platform-as-a-Service) services that employ operating-system-level virtualization for the development and delivery of software.
- Helm chart: Helm charts define, install, and upgrade Kubernetes applications.
- azds.yaml: Contains the settings for Azure Dev Spaces. YAML (YAML Ain't Markup Language) is a simple, legible data-serialization language.
Although this is merely the tip of the iceberg, you're now ready to start playing around with Kubernetes.