X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vnfs%2FDAaaS%2FREADME.md;h=4811eb06e7db2f30cf25656a1679d71aea809594;hb=d614d3d6cc1d40664215f79fc2c2f38af03a9996;hp=932173c5db2e238c6f063c19e396b2a53b46bf8e;hpb=6ae0dc5fdec5b63bc1666a4dc41f931f1b270d3a;p=demo.git diff --git a/vnfs/DAaaS/README.md b/vnfs/DAaaS/README.md index 932173c5..4811eb06 100644 --- a/vnfs/DAaaS/README.md +++ b/vnfs/DAaaS/README.md @@ -84,12 +84,21 @@ helm install -n rook . -f values.yaml --namespace=rook-ceph-system ### Build docker images #### collectd-operator ```bash -cd $DA_WORKING_DIR/../microservices/collectd-operator +cd $DA_WORKING_DIR/../microservices ## Note: The image tag and respository in the Collectd-operator helm charts needs to match the IMAGE_NAME IMAGE_NAME=dcr.cluster.local:32644/collectd-operator:latest -./build/build_image.sh $IMAGE_NAME +./build_image.sh collectd-operator $IMAGE_NAME ``` +#### visualization-operator +```bash +cd $DA_WORKING_DIR/../microservices + +## Note: The image tag and respository in the Visualization-operator helm charts needs to match the IMAGE_NAME +IMAGE_NAME=dcr.cluster.local:32644/visualization-operator:latest +./build_image.sh visualization-operator $IMAGE_NAME +``` + ### Install the Operator Package ```bash cd $DA_WORKING_DIR/operator @@ -137,7 +146,7 @@ Custom Collectd 5. Edit the values.yaml and change the image repository and tag using COLLECTD_IMAGE_NAME appropriately. 6. Place the collectd.conf in - $DA_WORKING_DIR/collection/charts/collectd/resources/config + $DA_WORKING_DIR/collection/charts/collectd/resources 7. cd $DA_WORKING_DIR/collection 8. helm install -n cp . -f values.yaml --namespace=edge1 @@ -165,6 +174,75 @@ cp13-prometheus-node-exporter ClusterIP 10.43.17.242 9100/TC cp13-prometheus-prometheus NodePort 10.43.26.155 9090:30090/TCP prometheus-operated ClusterIP None 9090/TCP ``` +#### Configure Collectd Plugins +1. Using the sample [collectdglobal.yaml](microservices/collectd-operator/examples/collectd/collectdglobal.yaml), Configure the CollectdGlobal CR +2. If there are additional Types.db files to update, Copy the additional types.db files to resources folder. +3. Create a ConfigMap to load the types.db and update the configMap with name of the ConfigMap created. +4. Create and configure the required CollectdPlugin CRs. Use these samples as a reference [cpu_collectdplugin_cr.yaml](microservices/collectd-operator/examples/collectd/cpu_collectdplugin_cr.yaml), [prometheus_collectdplugin_cr.yaml](microservices/collectd-operator/examples/collectd/prometheus_collectdplugin_cr.yaml). +4. Use the same namespace where the collection package was installed. +5. Assuming it is edge1, create the config resources that are applicable. Apply the following commands in the same order. +```yaml +# Note: +## 1. Create Configmap is optional and required only if additional types.db file needs to be mounted. +## 2. Add/Remove --from-file accordingly. Use the correct file name based on the context. +kubectl create configmap typesdb-configmap --from-file ./resource/[FILE_NAME1] --from-file ./resource/[FILE_NAME2] +kubectl create -f edge1 collectdglobal.yaml +kubectl create -f edge1 [PLUGIN_NAME1]_collectdplugin_cr.yaml +kubectl create -f edge1 [PLUGIN_NAME2]_collectdplugin_cr.yaml +kubectl create -f edge1 [PLUGIN_NAME3]_collectdplugin_cr.yaml +... +``` + +#Install visualization package +```bash +Default (For custom Grafana dashboards skip this section) +======= +cd $DA_WORKING_DIR/visualization +helm install -n viz . -f values.yaml -f grafana-values.yaml + +Custom Grafana dashboards +========================= +1. Place the custom dashboard definition into the folder $DA_WORKING_DIR/visualization/charts/grafana/dashboards + Example dashboard definition can be found at $DA_WORKING_DIR/visualization/charts/grafana/dashboards/dashboard1.json +2. Create a configmap.yaml that imports above created dashboard.json file as config and copy that configmap.yaml to $DA_WORKING_DIR/visualization/charts/grafana/templates/ + Example configmap can be found at $DA_WORKING_DIR/visualization/charts/grafana/templates/configmap-add-dashboard.yaml +3. Add custom dashboard configuration to values.yaml or an overriding values.yaml. + Example configuration can be found in the "dashboardProviders" section of grafana-values.yaml + +4. cd $DA_WORKING_DIR/visualization +5. For a fresh install of visualization package, do "helm install" + e.g., helm install -n viz . -f values.yaml -f grafana-values.yaml + If the custom dashboard is being added to an already running Grafana, do "helm upgrade" + e.g., helm upgrade -n viz . -f values.yaml -f grafana-values.yaml -f ...... +``` + +#### Verify Visualization package +Check if the visualization pod is up +``` +$ kubectl get pods + NAME READY STATUS RESTARTS AGE + viz-grafana-78dcffd75-sxnjv 1/1 Running 0 52m +``` + +### Login to Grafana +``` +1. Get your 'admin' user password by running: + kubectl get secret --namespace default viz-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo + +2. Get the Grafana URL to visit by running these commands in the same shell: + export POD_NAME=$(kubectl get pods --namespace default -l "app=grafana,release=viz" -o jsonpath="{.items[0].metadata.name}") + kubectl --namespace default port-forward $POD_NAME 3000 + +3. Visit the URL : http://localhost:3000 and login with the password from step 1 and the username: admin +``` + +#### Configure Grafana Datasources +Using the sample [prometheus_grafanadatasource_cr.yaml](microservices/visualization-operator/examples/grafana/prometheus_grafanadatasource_cr.yaml), Configure the GrafanaDataSource CR by running the command below +```yaml +kubectl create -f [DATASOURCE_NAME1]_grafanadatasource_cr.yaml +kubectl create -f [DATASOURCE_NAME2]_grafanadatasource_cr.yaml +... +``` ## Install Minio Model repository * Prerequisite: Dynamic storage provisioner needs to be enabled. Either rook-ceph ($DA_WORKING_DIR/00-init) or another alternate provisioner needs to be enabled.