Versions Compared

Key

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

Table of Contents

Introduction

The guide covers the installation details which are related to Enterprise Applications on Lightweight 5G Telco Edge (EALTEdge) Blueprint.  

...

Note: For Development environment two nodes  is sufficient, where one node plays a dual role of One-Click Deployment Node and MECM Node with other as MEC Host.


Image RemovedImage Added

                                                 FigureFigure: EALTEdge Deployment Architecture

...

  1. Install Ansible > 2.9.6 [ https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html]
  2. Install git
  3. Install GoLang > 1.14+
  4. Git clone the Kubespray repo. [https://github.com/kubernetes-sigs/kubespray.git]
  5. Install python3 and pip3
  6. cd kubespray && pip install -r requirements.txt

Jump Host Pre-Configurations for

...

Center Components Installation

...

Login to the Jump Host and perform the below configuration steps (Steps : as below-

...

      Update ansible inventory file provided in kubesrpay repo with MECM Cluster node IP's 

4. Review and Change Parameters under inventory/mycluster/group_vars

      Example:   cat inventory/mycluster/group_vars/all/all.yml
       declare -a IPS=(158.176.15.55 158.176.15.56 158.176.15.57)

       CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

4. Review and Change Parameters under inventory/mycluster/group_vars

        cat inventory/mycluster/group_vars/all/all.yml
        cat inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml

5. Alter the config.yml and change parameters under path NEED TO BE PROVIDED

Image Removed

Image Removed

Image Removed

Installing Mode : EALTEdge using Ansible-Playbooks

1. git clone the ealt-edge repo, to download the software to install the EALTEdge Environment.

root@akraino-mec-0002:~# git clone "https://gerrit.akraino.org/r/ealt-edge"

2. go to the below directory 

root@akraino-mec-0002:~# cd ealt/infra/playbooks

3. Modify the Configuration File : ealt-inventory.ini with the details of CENTER and EDGE Nodes. 

root@akraino-mec-0002:~# vi ealt-inventory.ini

  cat inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml

5. Alter the config.yml and change parameters under path 

Image Added

Image Added

Image Added

Installing Mode : EALTEdge using Ansible-Playbooks

1. git clone the ealt-edge repo, to download the software to install the EALTEdge Environment.

root@akraino-mec-0002:~# git clone "https://gerrit.akraino.org/r/ealt-edge"

2. go to the below directory 

root@akraino-mec-0002:~# cd ealt/infra/playbooks

3. Modify the Configuration File : ealt-inventory.ini with the details of CENTER and EDGE Nodes. 

root@akraino-mec-0002:~# vi ealt-inventory.ini

4. Execute the below command 
**Setup environment - 

root@akraino-mec-0002:~# ansible-playbook ealt-all.yml -i ealt-inventory.ini --extra-vars "operation=install"

Once the execution is completed in console will see prompt "EALTEdge Environment Installed  , Components Install CENTER and EDGE Nodes Successfully"


Other Options:

To Install only Edge node4. Execute the below command 
**Setup environment - 
root@akraino-mec-0002:~# ansible-playbook ealt-all.yml -i ealt-inventory.ini --tags "edge" --extra-vars "operation=install"

Once the execution is completed in console will see prompt "EALTEdge Environment Installed  , Components Install CENTER and EDGE Nodes Successfully"

Other Options:

Installing Mode : EALTEdge using CLI

1. git clone the ealt-edge repo, to download the software to install the EALTEdge Environment.To Install only Edge node

root@akraino-mec-0002:~# ansible-playbook ealt-all.yml -i ealt-inventory.ini --tags "edge" --extra-vars "operation=install"

Installing Mode : EALTEdge using CLI

:~# git clone "https://gerrit.akraino.org/r/ealt-edge"

2. go to CLI directory 

root@akraino-mec-0002:~#cd ealt/infra/cli/

root@akraino-mec-0002:~#chmod +x build _cli.sh

root@akraino-mec-0002:~#source build_cli.sh1. git clone the ealt-edge repo, to download the software to install the EALTEdge Environment.

root@akraino-mec-0002:~# git clone "https://gerrit.akraino.org/r/ealt-edge"

2. go to CLI directory 

root@akraino-mec-0002:~#cd ealt/infra/cli/

root@akraino-mec-0002:~#chmod +x build _cli.sh

root@akraino-mec-0002:~#source build_cli.sh

root@akraino-mec-0002:~#cd ~/ealt-edge/~#cd ~/ealt-edge/ocd/infra/playbooks

Note: The CLI Commands to setup the environment should be executed only from above path.

...

##Now get ca certificate use below command
```
curl http://10.43.130.35:8200/v1/pki/ca/pem
```
##10.43.130.35 is your vault ip, need to replace with latest vault ip

Kong documentation

...



Troubleshooting

Error Message Guide

Error: Most of mecm-pods down state including service center pod,

In service center pod logs , "decryption password incorrect" issue

Solution: Please use common_pwd in config.yaml as te9Fmv%qaq

Maintenance

Blueprint Package Maintenance

Software maintenance

N/A

Hardware maintenance

N/A

Blueprint Deployment Maintenance

N/A

Frequently Asked Questions

1) k3s not installed on mec host (edge node) Port 6443

This issue might be due to Port on EDGE node 6443 occupied by some other process.  In such case, it will not install k3s and ansible command will fail.

Solution:

We need to release port 6443 and completely uninstall the platform and re-install platform

2) eg_trans_certs failure: 

Image Added

The above issue during installation process due to certificate generation again and again continuously without uninstallation process.

Every time our mec edge node installation requires new sets of certs to download and install the Edge gallery related things i.e pods services and so on.

Solution:

So, if once the installation process failed.  We ought to completely uninstall and re-install the ealt-edge platform using ansible commands.

Please refer the installation and uninstallation steps provdied above using ansible commands

3) K8s remove / uninstallation issue through ansible

Image Added

If k8s not getting removed or not installed properly or if version changed than our recommended version 1.17.2,  

Solution:

In such cases, there might be problem in configuration of kubespray folder and its relevant configurations. 

We recommend to configure pre-requisite kubepspray prior to installation process

4) eg_registry Download 0.9 tar : issue

If downloading edge gallery 0.9 version tar failed for no reason,

Solution: We can add –no-check-certificate in the wget of Download 0.9 tar in install.yml of eg_registry role.  This issue occurs in extremely rare secure environments.

We will be fixing this issue ASAP.

Image Added

##First create setup by using below command server running in https
```
ansible-playbook ealt-all.yml -i ealt-inventory.ini --extra-vars "operation=install mode=prod"
```
##For http use below command
```
ansible-playbook ealt-all.yml -i ealt-inventory.ini --extra-vars "operation=install mode=dev"
```
##Mep will install as a pod
##MEP services will be running in the MEC Host (MEP)
##Check the mep running or not use below command
```
kubectl get po -n mep
```
##Output -
![](mep1)
```
kubectl get svc -n mep
```
##Output -
![](mep2)
##Configure Kong
##HTTPS Env - Rest API request Adding Services and Adding Route in Kong API Gateway
```
https://www.ealtedge.org:30012/services
https://www.ealtedge.org:30012/routes
```
##DNS mapping should be done correctly

##HTTPS Env - Rest API request deleting route and services
```
https://www.ealtedge.org:30012/services/http-mp1
https://www.ealtedge.org:30012/routes/mp1
```
##HTTP Env - Rest API request Adding Services and Adding Route in Kong API Gateway
```
http://www.ealtedge.org:30011/services
http://www.ealtedge.org:30011/routes
```
##DNS mapping should be done correctly

##HTTP Env - Rest API request deleting route and services
```
http://www.ealtedge.org:30011/services/http-mp1
http://www.ealtedge.org:30011/routes/mp1
```

##To verify the configurations done in Kong.
##Trigger the below Rest API

##In HTTP mode.
```
http://www.ealtedge.org:30010/mp1/mep/mec_service_mgmt/v1/applications/id123456/services
```
##In HTTPS Mode
```
https://www.ealtedge.org:30011/mp1/mep/mec_service_mgmt/v1/applications/id123456/services
```

##Get certificate from MEP server
##Login MEP server
```
cd /tmp/mepserver/deploy/
```
##Given path you will get all required certificates
```
ca.crt
tls.key
tls.crt
```
##ca.crt client certificate
##tls.key is a server key
##tls.crt server certificate

Image Removed

Image Removed

Troubleshooting

Error Message Guide

N/A

Maintenance

Blueprint Package Maintenance

Software maintenance

N/A

Hardware maintenance

N/A

Blueprint Deployment Maintenance

N/A

Frequently Asked Questions

N/A

License

Any software developed by the "Akraino Enterprise Applications on Lightweight 5G Telco Edge Project is licensed under the
Apache License, Version 2.0 (the "License");
you may not use the content of this software bundle except in compliance with the License.
You may obtain a copy of the License at <https://www.apache.org/licenses/LICENSE-2.0>

...

S. NoSoftwareTypeVersionLicenseRemarks
1.KubesprayK8S Tool2.1314.2Apache 2.0 licenseNo code modifications done
2.HelmApplication Package Manager3.0.2Apache 2.0 license0 licenseNo code modifications done

CENTER Node

Center Node consists of  3 components .  MECM , Appstore and Developer Portal.  

...

S. NoSoftwareTypeVersionLicenseRemarks
1.

Docker

CRI

19.03+

Apache 2.0 license

No code modifications done

2.KubernetesOrchestration1

v1.

19

17.

3

2

Apache 2.0 licenseNo code modifications done
3.HelmApplication Package Manager

3.0.2

Apache 2.0 licenseNo code modifications done
4.Grafana

Monitoring

MEC-Graphana

8-

7.

66

1.

0

1

Apache 2.0 licenseCode part of Edge Gallery
5.CalicoCNI Plugin3.16.5Apache 2.0 licenseNo code modifications done
6.PostgresSQLMECM-Service12.3PostgreSQL LicenseCode part of Edge Gallery
7.

AppLCM


MECM-Service0.9Apache 2.0 license

Code part of Edge Gallery

8.AppoMECM-Service (MECM-Appo)0.9Apache 2.0 licenseCode part of Edge Gallery
9InventoryMECM-Service0.9Apache 2.0 licenseCode part of Edge Gallery
10ApmMECM-Service0.9Apache 2.0 licenseCode part of Edge Gallery
11User ManagementPart of Center Node0.9Apache 2.0 licenseCode part of Edge Gallery
12

MECM - FrontEnd

MECM-Service0.9Apache 2.0 licenseCode part of Edge Gallery
13.AppstoreService (Part of Center Node)0.9Apache 2.0 licenseCode part of Edge Gallery
14.Developer PortalService (Part of Center Node)0.9Apache 2.0 licenseCode part of Edge Gallery
15Service CenterService (Part of Center Node)0.9Apache 2.0 licenseCode part of Edge Gallery

...

S. NoSoftwareTypeVersionLicense Information Remarks
1.DockerCRI19.03+Apache 2.0 licenseNo code modifications done
2.K3SOrchestration

1.19.4+

Apache 2.0 licenseNo code modifications done
3.HelmApplication Package Manager3.0.2Apache 2.0 licenseNo code modifications done
4.cAdvisorContainer Metrics

v0.36.0

Apache 2.0 licenseNo code modifications done
5RabbitMQMessage Broker

3.7

Mozilla Public LicenseNo code modifications done. RabbitMQ image is deployed as is.
PrometheusMetrics Collector

9.3.1

Apache 2.0 licenseCode part of Edge Gallery
7mepm-postgres

Service

Database

9

12.

6

3

PostgreSQL LicenseCode part of Edge Gallery
8MEPPod0.9Apache 2.0 licenseCode part of Edge Gallery
9MECM-MEPMMEPM-Service0.9Apache 2.0 licenseCode part of Edge Gallery

...