4 OCNRF Installation Prerequisites
OCNRF Pre-requisites
This section includes information about the required pre-requisites before initiating OCNRF Installation.
Following are the prerequisites to install and configure OCNRF:
OCNRF Software
The OCNRF software includes:
- OCNRF Helm charts
- OCNRF docker images
The following software must be installed:
Software | Version |
---|---|
Kubernetes | v1.15.3 |
HELM | v2.14.3 |
Additional software that needs to be deployed as per the requirement of the services:
Software | Chart Version | Notes |
---|---|---|
elasticsearch | 5.5.4 | Needed for Logging Area |
elastic-curator | 5.5.4 | Needed for Logging Area |
elastic-exporter | 1.0.2 | Needed for Logging Area |
logs | 2.0.7 | Needed for Logging Area |
kibana | 6.7.0 | Needed for Logging Area |
grafana | 6.1.6 | Needed for Metrics Area |
prometheus | 9.1.2 | Needed for Metrics Area |
prometheus-node-exporter | 0.17.0 | Needed for Metrics Area |
metallb | 0.7.3 | Needed for External IP |
metrics-server | 0.3.1 | Needed for Metric Server |
tracer | 0.8.3 | Needed for Tracing Area |
Note:
Install the specified software items before proceeding, if any of the above services are needed and the respective software is not already installed in CNE.helm ls
Some of the systems may need to use helm command with
admin.conf
file, such
as:
helm
--kubeconfig admin.conf
Network access
The Kubernetes cluster hosts must have network access to:
- Local docker image
repository where the OCNRF 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>
Note:
Some of the systems may need to use helm command with
admin.conf
file, such as:helm --kubeconfig admin.conf
- Local helm repository
where the OCNRF helm charts are available.
To check if the Kubernetes cluster hosts has network access to the local helm repository, execute:
helm repo update
Note:
Some of the systems may need to use helm command with
admin.conf
file, such as:helm --kubeconfig admin.conf
Note:
All the kubectl and helm related commands that are used in this document must be executed on a system depending on the infrastructure of the deployment. It could be a client machine such as a VM, server, local desktop, and so on.Client machine requirement
- It should have network access to the helm repository and docker image repository.
- Helm repository must be configured on the client.
- It should have network access to the Kubernetes cluster.
- It should have necessary
environment settings to run the
kubectl
commands. The environment should have privileges to create a namespace in the Kubernetes cluster. - It should have helm
client installed. The environment should be configured so that the
helm install
command deploys the software in the Kubernetes cluster.
Secret file requirement
For HTTPs and Access token, the following certs and pem files has to be created before creating secret files for Keys and MySql.
Note: The following files must be created before creating secret files.- ECDSA private Key and CA signed ECDSA Certificate (if initialAlgorithm: ES256)
- RSA private key and CA signed RSA Certificate (if initialAlgorithm: RSA256)
- TrustStore password file
- KeyStore password file
- CA signed ECDSA certificate
ServiceAccount requirement
Operator must create a service account, bind it with a Role for resource with permissions for atleast get, watch and list.
-
MYSQL DB Details to micro-services.
-
NRF's Private Key, NRF's Certificate and CA Certificate Details to Ingress/Egress Gateway for TLS.
-
NRF's Private and NRF's Public Keys to nfAccessToken micro-service for Digitally Signing AccessTokenClaims.
-
Producer/Consumer NF's Service/Endpoint details for routing messages from/to Egress/Ingress Gateway.
The Secret(s) can be under same namespace where OCNRF is getting deployed (recommended) or # Operator can choose to use different namespaces for different secret(s). If all the Secret(s) are under same namespace as OCNRF, then Kubernetes Role can be binded with the given ServiceAccount. Otherwise ClusterRole needs to be binded with the given ServiceAccount. The Role/ClusterRole needs to be created with resources: (services, configmaps, pods, secrets, endpoints) and (verbs: get, watch, list). Refer to Creation of Service Account, Role and Role bindings for more details.
Here is the sample serviceAccount parameter file:
apiVersion: v1
kind: ServiceAccount
metadata:
name: ocnrf-serviceaccount
namespace: ocnrf
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: ocnrf-role
namespace: ocnrf
rules:
- apiGroups:
- "" # "" indicates the core API group
resources:
- services
- configmaps
- pods
- secrets
- endpoints
verbs:
- get
- watch
- list
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: ocnrf-rolebinding
namespace: ocnrf
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: ocnrf-role
namespace: ocnrf
subjects:
- kind: ServiceAccount
name: ocnrf-serviceaccount
namespace: ocnrf
OCNRF Installation Preparation
The following procedure describes the steps to download the OCNRF Images and Helm files from OSDC.
For more information about configuring docker image and registry, see chapter OCCNE Docker Image Registry Configuration in OCCNE Installation Guide 1.4.
Table 4-1 OCNRF Installation Preparation
Step | Procedure | Description |
---|---|---|
1 ![]() |
Download the OCNRF package file |
Customers are required to download the OCNRF package file from Oracle Software Delivery Cloud (OSDC). Package is named as follows:
|
2 ![]() |
Untar the OCNRF Package File |
Untar the OCNRF package:
This command results into
The directory consists of following:
|
3 ![]() |
Verify the checksums | Verify the checksums of tarballs mentioned in
Readme.txt .
|
4 ![]() |
Load the tarball to system |
Execute the following command to load the images to the customer's local registry:
|
5 ![]() |
Check if all the images are loaded |
Execute the following command to check:
Refer the below table OCNRF Images for the list of images. |
6 ![]() |
Push docker images to docker registry |
Execute the following commands to push the docker images to docker registry:
|
7 ![]() |
Untar Helm Files |
Untar the helm files:
|
8 ![]() |
Download the Network Repository Function (NRF) Custom Template ZIP file |
Download the Network Repository Function (NRF) Custom Template ZIP file from OHC:
|
OCNRF Images
Following are the OCNRF images:
Table 4-2 OCNRF Images
Services | Image | Tag |
---|---|---|
<helm-release-name>-NFRegistration |
ocnrf-nfregistration
|
1.5.1 |
<helm-release-name>-NFSubscription |
ocnrf-nfsubscription
|
1.5.1 |
<helm-release-name>-NFDiscovery |
ocnrf-nfdiscovery
|
1.5.1 |
<helm-release-name>-NRF Auditor |
ocnrf-nrfauditor
|
1.5.1 |
<helm-release-name>-NRF Configuration | ocnrf-nrfconfiguration
|
1.5.1 |
<helm-release-name>-NFAccessToken |
configurationinit
|
0.3.0 |
configurationupdate
|
0.3.0 | |
ocnrf-nfaccesstoken
|
1.5.1 | |
<helm-release-name>-EgressGateway |
configurationinit
|
0.3.0 |
configurationupdate
|
0.3.0 | |
ocegress_gateway
|
1.5.1 | |
<helm-release-name>-IngressGateway |
configurationinit
|
0.3.0 |
configurationupdate
|
0.3.0 | |
ocingress_gateway
|
1.5.1 |
Note:
IngressGateway, EgressGateway and NFAccessToken uses same configurationinit and configurationupdates docker images.