This is work in progress
Introduction
The helm manager is a service for managing helm charts. The service provides a REST API for onboarding of charts as well as installation and uninstallation of applications based on these charts.
...
- As docker container on a local machine with kubernbetes
- As kubernetes service and pod on a local machine with kubernetes or in minikube
- As kubernetes service and pod on a kubernetes cluster
Prerequisites
The following need to be installed, latest version, on the machine
- Kubernetes or minikube including kubectl
- curl
- git (if buidling image)
- maven (if buidling image)
- docker (for image build and image registry)
- helm
Preparation
Clone the nonrtric repo from gerrit and change dir to helm-manager. Make sure to use the correct branch when cloning, use "master" until the branch for D Release is available.
...
Code Block | ||||
---|---|---|---|---|
| ||||
$ git clone "https://gerrit.o-ran-sc.org/r/nonrtric" -b <branch> $ cd helm-manager |
Build image
There is no need to build the image for the helm manager unless changes are made to the Dockerfile in the current dir.
...
Note: Locally built images are not available to a kubernetes cluster unless the image is made available in an image repo accessible from within the cluster.
Create helm chart for test
Create a helm chart for this test. Package the chart into an archive. Run these two commands. The result should be a file named simple-app-0.1.0.tgz.
Code Block | ||||
---|---|---|---|---|
| ||||
$ helm create simple-app $ helm package simple-app |
Run in kubernetes
This instruction is valid for running both in a local kubernetes and in a kubernetes ccluster
...
Code Block | ||||
---|---|---|---|---|
| ||||
$ kubectl delete -f helm-manager.yaml service "helmmanagerservice" deleted pod "helmmanagerservice" deleted persistentvolume "helm-manager-service-pv" deleted persistentvolumeclaim "helm-manager-service-pvc" deleted $ kubectl delete -f kube-cm.yaml service "chartrepo" deleted pod "chartrepo" deleted persistentvolume "chartrepo-pv" deleted persistentvolumeclaim "chartrepo-pvc" deleted $ kubectl delete -f helm-manager-sa.yaml serviceaccount "helm-manager-sa" deleted clusterrolebinding.rbac.authorization.k8s.io "helm-manager-sa-clusterrolebinding" deleted |
Run in docker with local kubernetes
The helm-manger is possible to run as a docker container. However, a local kubernetes must be running where the application can be installed.
...