Get Started
To follow this guide, you need a machine with:
- An Intel® Xeon® processor
- Minimum 64 GB RAM
- Minimum 256 GB hard drive
- An internet connection
- CentOS* 7.8.2003
Objectives
- Install the Converged Edge Insights software package, version 20.12. For instructions, see the Converged Edge Insights Documentation.
- Deploy a container-based workload:
a. Understand the structure of a Helm* chart
b. Deploy an application
c. Validate the deployment - Deploy a virtual-machine-based workload:
a. Create the KubeVirt namespace, operator, and custom resources
b. Deploy the Containerized Data Importer (CDI)
c. Understand the structure of a Helm chart
d. Deploy an application
e. Validate the deployment
Container Deployment
Get a Sample
Go to GitHub* to download the sample Helm chart.
Figure 1. Directory structure
Understand the Structure of a Helm Chart
Chart.yaml
This file contains information about the Helm chart and is required for application deployments.
Figure 2. Example of Chart.yaml
This file contains the following fields:
- apiVersion (required): Version of the chart API.
- appVersion (optional): The application version.
- Description (optional): A one-sentence explanation of this project.
- Keywords (optional): A list of significant words for the project.
- Name (required): The chart name.
- Version (required): A standard version of Semantic Versioning (SemVer) 2.
For more information about additional fields, see Documentation.
Values.yaml
This file contains the default configuration values for the Helm chart.
Figure 3. Example of values.yaml
Templates Directory
The Templates directory contains the YAML definitions for the services, deployments, and other Kubernetes* objects that are previously listed. These definitions are used to render the chart resources.
Deploy an Application
- Switch to the root user:
# su root
- Delete the default network policy:
# kubectl delete networkpolicy block-all-ingress
-
Install and deploy the chart archive:
# helm install my-sample-container-chart sample-container-chart/ --values sample-container-chart/values.yaml
Validate the Deployment
Verify the following information for the release:
- The values used to generate the release
- The generated manifest file
- The information provided by the chart for the release
- The hooks associated with the release
# helm status my-sample-container-chart
Virtual Machine Deployment
Create the KubeVirt Namespace, Operator, and Custom Resources
KubeVirt is a virtual machine management add-in for Kubernetes.
- Switch to the root user:
# su root
- Delete the default network policy:
# kubectl delete networkpolicy block-all-ingress
- Create the KubeVirt namespace:
# kubectl create namespace kubevirt
- Create the configuration map to use software emulation and live migration features:
# kubectl create configmap -n kubevirt kubevirt-config --from-literal debug.useEmulation=true --from-literal feature-gates="LiveMigration"
- Create the KubeVirt operator:
# kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/v0.25.0/kubevirt-operator.yaml
-
Create the KubeVirt custom resource (CR) definition:
# kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/v0.25.0/kubevirt-cr.yaml
Deploy the CDI
This utility to imports, uploads, and clones virtual machine images for use with KubeVirt.
- Create the CDI operator:
# kubectl apply -f https://github.com/kubevirt/containerized-data-importer/releases/download/v1.13.1/cdi-operator.yaml
- Create the CDI CR:
# kubectl create -f https://github.com/kubevirt/containerized-data-importer/releases/download/v1.13.1/cdi-cr.yaml
Understand the Structure of a Helm* Chart
Get a Sample
Go to GitHub to download the sample Helm chart.
Figure 4. Directory Structure
Understand the Structure of a Helm Chart
Chart.yaml
This file contains information about the Helm chart and is required for application deployments.
Figure 5. Example of Chart.yaml
This file contains the following fields:
- apiVersion (required): Version of the chart API.
- appVersion (optional): The application version.
- Description (optional): A one-sentence explanation of this project.
- Keywords (optional): A list of significant words for the project.
- Name (required): The chart name.
- Version (required): A standard version of Semantic Versioning (SemVer) 2.
For more information about additional fields, see Documentation.
Values.yaml
This file contains the default configuration values for the Helm chart.
Figure 6. Example of values.yaml
Templates Directory
This directory contains files specific to one or more resource types, which are passed to the template engine for rendering the chart resources.
Figure 7. Template directory files
This directory contains configurations for the following resources:
- Virtual machine
- Service
- Persistent volume claim
- Persistent volume
Deploy an Application on Intel Distribution of Open Network Edge Services Software
- Switch to the root user:
# su root
- Delete the default network policy:
# kubectl delete networkpolicy block-all-ingress
-
Install and deploy the chart archive:
# helm install my-sample-vm-chart sample-vm-chart/ --values sample-vm-chart /values.yaml
Validate the Deployment
- Verify the following information for the release:
- The values used to generate the release
- The generated manifest file
- The information provided by the chart for the release
- The hooks associated with the release
# helm status my-sample-vm-chart
- Review the status of the virtual machine objects in the default namespace:
# kubectl get vm