Versions Compared

Key

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

...

  • K8S CISM Cluster: Container Infrastructure Service Manager Cluster performs the same function as VIM Zone but operates on containerized application level.
  • CNF: Cloud Native Network Function. Containerized VNF is designed to be deployed in the cloud as a container. CNF is a better fit for microservice architecture due to the deployment size.
  • Kubernetes: Kubernetes (K8s) is an open-source system for automating deployment, scaling and management of containerized applications
  • POD: A Pod is a group of one or more containers (such as Docker containers), with shared storage/network, and a specification for how to run the containers.

Scope

In Scope

See the Epic and User Stories.

Out of Scope

TBD

Epic

EpicDescriptionJIRApriority
SO and its sub-components, CNFM, CNF Adapter, shall support ASD-based CNF lifecycle orchestration

SO and its sub-components, CNFM, CNF Adapter, shall support ASD-based CNF lifecycle orchestration (deployment and configuration)

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySO-3808

1








...

Note: optionally, Delete an AS Identifier could clean up resources of an AS Instance, e.g., Persistent Volumes (PVs)




===========


Register K8S

...

Clusters 

This adds an ability for CNFM to register container managers like Kubernetes. that will allow to instantiate and deploy containerized CNFs. 

Note: Kubernetes is advanced and commonly used CISM as of now, but in the future, adding other CISM types could be considered. for now Kubernetes is a reference implementation.


In order to make CNFM to be able to operate K8S Clusters we need introduce K8S Cluster registration, deregistration and querying features.


  • As a user I want to be able to register and list CISM Cluster, which is already deployed.
  • As a user I want to name the CISM Cluster and select it’s type.
  • As for main information source of k8s cluster type configuration I want to use a kubectl configuration file to feed authentication information and connectivity point information.
  • As a user I want to modify and transform information upon uploading (upload certificates, change or select username and credentials).
  • As a user I want to be able to query all stored information for clusters both individual cluster information and filtered list by criteria(ie name, type, status, etc).


Information needed for registration
  • CISM Cluster Name
  • CISM Cluster type (Kubernetes)
  • CISM Cluster Server URL
  • Username to access API
  • Option to populate connectivity details by uploading kubeconfig file
    • Kubeconfig contains connectivity details for the K8s cluster(hostname, port, apiRoot), which includes authentication details, too

  • Certificate Authority

========

To instantiate an AS on an non-ONAP K8S cluster, a cluster configuration file that is specific to the cluster must be uploaded.

To add a cluster configuration file of a cluster, create a POST request .

...

To instantiate an AS on an non-ONAP K8S cluster, a cluster configuration file that is specific to the cluster must be uploaded.

To add a cluster configuration file of a cluster, create a POST request .../aslcm/v1/clusterconfigs will be performed.

...

  • to verify the connectdion to the target cluster, run the following command from the ONAP K8S cluster
    • kubectl --kubeconfig ${PATH_TO_TARGET_CLUSTER_CONFIGURATION_FILE} get namespaces


Deregister K8S Clusters 

...

To remove a cluster configruation file, create a DELETE request. .../aslcm/v1/clusterconfig/{configName}

...