Skip to content
This repository has been archived by the owner on May 27, 2022. It is now read-only.

Latest commit

 

History

History
97 lines (83 loc) · 6.28 KB

smartedge-open-helm.md

File metadata and controls

97 lines (83 loc) · 6.28 KB
SPDX-License-Identifier: Apache-2.0       
Copyright (c) 2020 Intel Corporation

Helm support in Smart Edge Open

Introduction

Helm is a package manager for Kubernetes*. It allows developers and operators to easily package, configure, and deploy applications and services onto Kubernetes clusters. For details refer to the Helm Website. With Smart Edge Open, Helm is used to extend the Converged Edge Experience Kits Ansible* playbooks to deploy Kubernetes packages. Helm adds considerable flexibility. It enables users to upgrade an existing installation without requiring a re-install. It provides the option to selectively deploy individual microservices if a full installation of Smart Edge Open is not needed. And it provides a standard process to deploy different applications or network functions. This document aims to familiarize the user with Helm and provide instructions on how to use the specific Helm charts available for Smart Edge Open.

Architecture

The below figure shows the architecture for the Smart Edge Open Helm in this document. Smart Edge Open Helm

Figure - Helm Architecture in Smart Edge Open

Helm Installation

Helm 3 is used for Smart Edge Open. The installation is automatically conducted by the Converged Edge Experience Kits Ansible playbooks as below:

- role: kubernetes/helm

To check whether helm is installed successfully, run the following command on the Smart Edge Open controller:

$ helm version
version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}

Helm Charts

Smart Edge Open provides the following helm charts:

  • EPA, Telemetry, and k8s plugins:
    • CMK, NFD, FPGA Config, SRIOV, VPU, and GPU Device Plugins
    • Prometheus*, NodeExporter, Cadvisor, Collectd, Opentelemetry, PCM, and Grafana*
    • CNI plugins including Multus* and SRIOV CNI
    • Video analytics service
    • 5G control plane pods including AF, NEF, OAM, and CNTF

NOTE: NFD, CMK, Prometheus, NodeExporter, and Grafana leverage existing third-party helm charts: Container Experience Kits and Helm GitHub* Repo. For other helm charts, Converged Edge Experience Kits Ansible playbooks perform automatic charts generation and deployment.

The EPA, Telemetry, and k8s plugins helm chart files will be saved in a specific directory on the Smart Edge Open controller. To modify the directory, change the following variable ne_helm_charts_default_dir in the inventory/default/group_vars/all/10-default.yml file:

ne_helm_charts_default_dir: /opt/openness/helm-charts/

To check helm charts files, run the following command on the Smart Edge Open controller:

$ ls /opt/openness/helm-charts/
vpu-plugin gpu-plugin node-feature-discovery prometheus

To check helm releases, run:

$ helm list -A
NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                                APP VERSION
nfd-release             openness        1               2020-05-08 05:13:54.900713372 +0800 CST deployed        node-feature-discovery-0.5.0         0.5.0
prometheus              telemetry       1               2020-05-08 05:12:09.346590474 +0800 CST deployed        prometheus-11.1.6                    2.16.0
intel-gpu-plugin        default         1               2020-05-08 03:10:05.464149345 +0800 CST deployed        intel-gpu-plugin-0.1.0               0.17.0
intel-vpu-plugin        default         1               2020-05-08 03:23:44.595413394 +0800 CST deployed        intel-vpu-plugin-0.1.0               0.17.0

NOTE: Different Smart Edge Open flavors contain different platform features. This is just an example of the helm charts.

To see the values that took effect for a specific release (for example, nfd-release), run:

$ helm get values nfd-release -n openness
USER-SUPPLIED VALUES:
image:
   repository: 10.240.224.84:5000/node-feature-discovery
   tag: v0.5.0
serviceAccount:
   name: nfd-master
weavenet_cidr: 10.32.0.0/12
weavenet_cidr_enabled: false

To customize values and upgrade, users can modify the values.yaml file for the helm charts and use helm upgrade. Refer to the Helm CLI Commands List for details.

References