Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Download and Build Docker Images

...

Follow the steps in here https://github.com/onap/multicloud-k8s/tree/master/deployments/helm/v2/onap4k8s to install EMCO. Update image:rtsood/emco:stable in values.yaml file for all the services to the name of the image built in the previous step.  

Using Kubectl (for developers)

 Yamls for installing EMCO can be found here:  https://github.com/onap/multicloud-k8s/tree/master/deployments/kubernetes. Update the image:rtsood/emco:stable in the onap4k8s.yaml for all the services to the name of the image built in the previous step.

Code Block
languagebash
titleInstalling EMCO
1. Create namespace 
$ kubectl create namespace emco

2. Install Databases (Etcd and Mongo)
$ kubectl apply -f onap4k8sdb.yaml -n emco

3. Install Emco Microservices
$ kubectl apply -f onap4k8s.yaml -n emco

Running Prometheus+Collectd example with EMCO

Run the vFw script to run an end 2 end use case testing all the current microserviceshttps://github.com/onap/multicloud-k8s/blob/master/kud/tests/sanity-check-for-v2.sh

...

Code Block
languagebash
titleUsing Emcoctl
1. Create a Helm chart tar.gz. UsUse the example here: https://github.com/onap/multicloud-k8s/tree/master/kud/tests/vnfs/comp-app/collection
  $ tar -czf collectd.tar.gz -C $test_folder/vnfs/comp-app/collection/app1/helm .
2. Create Profile in tar.gz format like below
  $ tar -czf collectd_profile.tar.gz -C $test_folder/vnfs/comp-app/collection/app1/profile .
3. Build emcoctl
  $ cd $MULTICLOUD-K8s_HOME/src/tools/emcoctl
  $ make
4. Update the examples/emco-cfg.yaml to  match your environment
5. Update examples/test.yaml to include the paths as above for Helm chart, Profile and location of Profilekubeconfigs
6. Running emcoctl to apply
  $ ./emcoctl --config ./examples/emco-cfg.yaml apply -f ./examples/test.yaml

Steps for creating Profile

Adding profile per application

A per application profile contains the following:

  1. manifest.yaml
    1. Contains the details for the profile and everything contained within
  2. A HELM values override yaml file.
    1. It can have any name as long as it matches the corresponding entry in the manifest.yaml
  3. Any number of files organized in a folder structure
    1. All these files should have a corresponding entry in manifest.yaml file

Sample Profile is described below:

Create the profile artifact
Creating a Profile Artifact

1
2
3
4
5
6
7
8
9
10
11
12
13

> cd vagrant/tests/vnfs/test/helm/profile
> find .
manifest.yaml
override_values.yaml
testfol
testfol/subdir
testfol/subdir/deployment.yaml
 
#Create profile tar.gz
> cd profile
> tar -cf profile.tar *
> gzip profile.tar
> mv profile.tar.gz ../

The manifest file contains the following:
manifest.yaml

1
2
3
4
5
6
7

---
version: v1
type:
  values: "override_values

_override

.yaml"
  configresource:
    - filepath: testfol/subdir/deployment.yaml
      chartpath: vault-consul-dev/templates/deployment.yaml