Prerequisites
- Access to OpenStack Environment: User should have access to an existing OpenStack Environment including the OpenStack Desktop. This environment is configured with appropriate resource flavors and network resources that allows its users to allocate resources to the virtual machines created via this procedure.
- Availability of a pub key: Users must have a pub key for logging into the Bootstrap Host. This key should be placed into the customer OpenStack Environment using Import Key tab on the Launch Instance→Key Pair dialog or via the Compute→Access and Security.
- OCUDM Software: User must
install Kubernetes v1.13.3 and HELM v2.12.3. UDM consists of:
- Helm Charts that reflect the OCUDM software version. It is a zipped tar file that you need to unzip.
- Docker images of the
micro-services that are shared as tar file. You need to untar it.
Additional softwares that you need to install as per the requirement of the services:
Table 3-1 Additional Softwares
Software Version Notes elasticsearch 1.21.1 Needed for Logging Area elastic-curator 1.2.1 Needed for Logging Area elastic-exporter 1.1.2 Needed for Logging Area logs 2.0.7 Needed for Logging Area kibana 1.5.2 Needed for Logging Area grafana 2.2.0 Needed for Metrics Area prometheus 8.8.0 Needed for Metrics Area prometheus-node-exporter 1.3.0 Needed for Metrics Area metallb 0.8.4 Needed for External IP metrics-server 2.4.0 Needed for Metric Server tracer 0.8.3 Needed for Tracing Area Note:
If you want any of the above services and its respective software is not installed in CNE, then install that software before proceeding.Note:
Some of the above mentioned software(s) are updated frequently. Their later versions than those listed above should work with UDM 1.1. Some UDM features and services work differently depending on the software being used.
Create Database User/Group
The Database administrator should create a user in MYSQL DB using MySQL NDB cluster. UDM uses NDB MySQL database to store the UDM/AUSF persistent information, which provides HA and geo-redundancy capabilities.
The database administrator should also provide user with necessary permissions to access the tables in the NDB cluster. The steps to create a user and assign permissions are as follows:
The steps to create a database user are as follows:
- Login to the server where the ssh keys are stored and SQL nodes are accessible.
- Connect to the SQL nodes.
- Login to the Database as a root user.
- Create a user and assign
it to a group having necessary permission to access the tables on all the SQL
nodes:
CREATE USER '<username>'@'%' IDENTIFIED BY '<password>'; DROP DATABASE if exists <db_name>; (db_name refers to udmdb) CREATE DATABASE <db_name> CHARACTER SET utf8; GRANT SELECT, INSERT, CREATE, ALTER, DROP, LOCK TABLES, CREATE TEMPORARY TABLES, DELETE, UPDATE,EXECUTE ON <db_name>.* TO '<user>'@'%'; USE <db_name>;
Network Access
The Kubernetes cluster hosts must have network access to:
- Local docker image
repository where the UDM images are available.
To check if the Kubernetes cluster hosts has network access to the local docker image repository, try to pull any image with tag name to check connectivity by executing:
docker pull <docker-repo>/<image-name>:<image-tag>
- Local helm repository
where the UDM helm charts are available.
To check if the Kubernetes cluster hosts has network access to the local helm repository, execute the
helm repo update
command.Note:
Some of the systems may need to use the helm command withhelm --kubeconfig admin.conf
- Service FQDN of UDM must be discoverable from outside of the cluster (i.e., publicly exposed so that ingress messages to UDM can come from outside of Kubernetes).
Client Machine Requirements
A client machine (laptop/desktop) where the user executes deployment commands should have:
- Network access to the helm repository and docker image repository.
- Configuration of Helm repository on the client.
- Network access to the Kubernetes cluster.
- Necessary environment settings to run the kubectl commands. The environment should have privileges to create a namespace in the Kubernetes cluster.
- Installation of Helm
client with the
push plugin.
This allows the
helm install
command to deploy the software in the Kubernetes cluster.
Note:
User should execute all the kubectl and helm related commands used in this guide on a system depending on the infrastructure/deployment. It can be a client machine such as a virtual machine, server, local desktop and so on.