Skip to content
Snippets Groups Projects
Commit fcb33edd authored by trantzas's avatar trantzas
Browse files

fix for #9:

- reorganizing documentation structure
parent 355a831d
No related branches found
No related tags found
1 merge request!14Resolve "Creating Release 2024Q4 documentation"
Pipeline #10912 passed
......@@ -12,7 +12,7 @@ OpenSlice can be used to design service specifications for various services, eve
## Probe further
* [Design and expose services based on containerized resources via the Kubernetes Operator pattern](./kubernetes/ExposingKubernetesResources.md)
* [Design and expose services based on containerized resources via the Kubernetes Operator pattern](./kubernetes/exposing_kubernetes_resources.md)
* [Design and expose services based on NFV artifacts](./nfv/design_nfv_services.md)
......
# Expose HELM charts as Service Specifications
# Expose Helm charts as Service Specifications
**Intended Audience: OpenSlice ervice Designers**
**Intended Audience: OpenSlice Service Designers**
This section introduces ways to manage Helm charts installations via OpenSlice Service Specifications and Service Orders.
......@@ -8,7 +8,7 @@ This section introduces ways to manage Helm charts installations via OpenSlice S
Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box.
Helm is a tool that automates the creation, packaging, configuration, and deployment of Kubernetes applications by combining your configuration files into a single reusable package
Helm is a tool that automates the creation, packaging, configuration, and deployment of Kubernetes applications by combining your configuration files into a single reusable package.
At the heart of Helm is the packaging format called charts. Each chart comprises one or more Kubernetes manifests -- and a given chart can have child charts and dependent charts, as well. Using Helm charts:
......@@ -33,7 +33,7 @@ Also, OpenSlice can expose them in service catalogs and deploy them in complex s
## The installation of HELM charts is based on OpenSlice CRD support
Please read more [here](../ExposingKubernetesResources.md).
Please read more [here](./exposing_kubernetes_resources.md).
For installing HELM charts we will use ArgoCD a well known Kubernetes-native continuous deployment (CD) tool.
......@@ -57,8 +57,8 @@ Browse to Resource Specifications. You will see an entry like the following:
see image:
![img01.png](../../examples/helmInstallation_aaS_Example_Jenkins/img01.png)
![img01.png](../examples/jenkins_helm_install_aas/img01.png)
## Probe further
See the [Example: Offer Jenkins as a Service via OpenSlice](../../examples/helmInstallation_aaS_Example_Jenkins/HELM_Installation_aaS_Jenkins_Example.md)
See the [Example: Offer Jenkins as a Service via OpenSlice](../examples/jenkins_helm_install_aas/jenkins_helm_install_aas.md)
......@@ -12,45 +12,6 @@ Use OpenSlice to expose NFV resources in service catalogs and deploy them in com
* Combine designed services
* Control the lifecycle of services and pass values from one service to another
> Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. Custom Resource Definitions (CRDs) is a way that allows to manage things other than Kubernetes itself and allows to create our own objects The use of CRDs makes the possibilities of Kubernetes management almost limitless. You can extend the base Kubernetes API with any object you like using CRDs.
> By allowing the design and lifecycle management of services/resources that expose CRDs/CRs in a Kubernetes cluster via the TMF APIs, OpenSlice can be used in many complex scenarios now involving resources from multiple domains.
1. OpenSlice is capable to:
- Create and manage Custom Resources (CRs) using installed CRDs on a target Kubernetes cluster.
- Facilitate complex orchestration scenarios by wrapping Kubernetes APIs as TMF APIs and models.
- Handles connectivity to a Kubernetes cluster and manages the lifecycle of CRDs
- Wraps the Kubernetes API, Receives and provides resources towards other OpenSlice services via the service bus
2. Enabling Loose Coupling and Orchestration
- Language Flexibility: Developers can write CRDs in any language and expose them via the Kubernetes APIs. OSL will reuse these CRDs, enhancing flexibility and integration capabilities.
- Familiar Deployment: Developers can create and deploy applications using familiar tools such as Helm charts, simplifying the process and reducing the learning curve.
3. Ecosystem Reusability
- OpenSlice capitalizes on the extensive Kubernetes ecosystem, particularly focusing on operators (CRDs).
- Key repositories and hubs such as artifacthub.io and Operatorhub.io can be utilized for finding and deploying operators.
4. Service Catalog Exposure and Deployment
- OpenSlice can expose CRs in service catalogs, facilitating their deployment in complex scenarios.
- These scenarios may include service bundles that involve multiple systems, such as RAN controllers or other Kubernetes clusters, providing a robust and versatile deployment framework.
## Approach
In gerenal, OpenSlice is responsible for exposing service specifications which are ready to be ordered and orchestrated, through TMForum Open APIs as defined in the OSL Service Spec Catalog. Usually for a service specification a corresponding (one or more) resource specification (resourceSpecificationReference) is registered in the OSL Resource Spec Catalog.
The following image illustrates the approach.
![img01.png](./img01.png)
1. A CRD in a cluster will be mapped in TMF model as a Resource specification and therefore can be exposed as a service specification in a catalog
2. Service Orders can be created for this service specification.
3. OSOM creates a Resource in OSL Resource inventory and requests new Custom Resource (CR) in the target cluster
- The resource is created in a specific namespace (for example the UUID of the Service Order)
- A CR in a cluster will be mapped in TMF model as a Resource in the resource Inventory
- Other related resources created by the CRD Controller within the namespace are automatically created in OSL Resource Inventory under the same Service Order
## Awareness for CRDs and CRs in cluster
......@@ -171,9 +132,9 @@ OpenSlice adds automatically as we see the following characteristics:
## Probe further
- See examples of exposing Kubernetes Operators as a Service via OpenSlice:
- [Offering "Calculator as a Service"](../examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator.md)
- [Offering "Helm installation as a Service" (Jenkins example)](../examples/helmInstallation_aaS_Example_Jenkins/HELM_Installation_aaS_Jenkins_Example.md)
- [Learn more about CRIDGE, the service in OpenSlice that manages CRDs/CRs](../../architecture/CRIDGE/CRIDGEforDevelopers.md)
- [Offering "Calculator as a Service"](../examples/calculator_crd_aas/calculator_crd_aas.md)
- [Offering "Helm installation as a Service" (Jenkins example)](../examples/jenkins_helm_install_aas/jenkins_helm_install_aas.md)
- [Learn more about CRIDGE, the service in OpenSlice that manages CRDs/CRs](../../architecture/cridge/cridge_introduction.md)
......
......@@ -81,22 +81,21 @@ extra:
nav:
- Overview:
- Introduction: index.md
- OpenSlice deployment examples: OpenSlice_deployment_examples.md
- Deployment examples: deployment_examples.md
- History: history.md
- ETSI OSL: etsi_osl.md
- OpenSlice under ETSI: etsi_osl.md
- Getting Started:
- Deployment:
- Introduction: deployment.md
- Docker Compose: deploymentCompose.md
- Kubernetes: deploymentK8s.md
- Portals:
- Introduction: portals_intro.md
- Introduction: ./getting_started/deployment/introduction.md
- Docker Compose: ./getting_started/deployment/docker_compose.md
- Kubernetes: ./getting_started/deployment/kubernetes.md
- Portals: ./getting_started/portals.md
- Configuration/Management:
- Introduction: config_intro.md
- Introduction: ./getting_started/configuration/config_intro.md
- Role/Keycloak management: role_keycloak_management.md
- NFV Orchestrator Configuration: nfvoconfig.md
- NFV Orchestrator Configuration: ./getting_started/configuration/nfvo_config.md
- Advanced topics:
- Consuming Services From External OSS: ./getting_started/configuration/consumingServicesFromExternalPartners.md
- Consuming Services From External OSS: ./getting_started/configuration/consuming_services_from_external_partners.md
- NaaS:
- Introduction: ./naas/introduction.md
- Services:
......@@ -125,20 +124,20 @@ nav:
- Catalogs: ./service_design/catalogs.md
- Support for Kubernetes:
- Introduction: ./service_design/kubernetes/intro.md
- Exposing Kubernetes Resources: ./service_design/kubernetes/ExposingKubernetesResources.md
- Design Helm as a Service: ./service_design/kubernetes/helm/design_helmaas.md
- Exposing Kubernetes Resources: ./service_design/kubernetes/exposing_kubernetes_resources.md
- Design Helm as a Service: ./service_design/kubernetes/design_helm_aas.md
- Support for NFV:
- Design NFV Services: ./service_design/nfv/design_nfv_services.md
- LCM Rules:
- Introduction: ./service_design/lcmrules/intro.md
- Specification: ./service_design/lcmrules/specification.md
- Typical Examples: ./service_design/lcmrules/examples.md
- Service Specification Examples:
- Examples:
- Introduction: ./service_design/examples/intro.md
# - Open5GS (NFV approach): ./service_design/examples/open5gs_nfv.md
# - Open5GS (Kubernetes approach): ./service_design/examples/open5gs_kubernetes.md
- Exposing CRDs_aaS_Example_Calculator: ./service_design/examples/ExposingCRDs_aaS_Example_Calculator/ExposingCRDs_aaS_Example_Calculator.md
- HELM Installation aaS Jenkins Example: ./service_design/examples/helmInstallation_aaS_Example_Jenkins/HELM_Installation_aaS_Jenkins_Example.md
- Calculator CRD aaS: ./service_design/examples/calculator_crd_aas/calculator_crd_aas.md
- Jenkins Helm Installation aaS : ./service_design/examples/jenkins_helm_install_aas/jenkins_helm_install_aas.md
- Service Ordering:
- Ordering Services from catalogs: ./service_ordering/ordering_services.md
# - Testing services:
......@@ -154,9 +153,7 @@ nav:
# - Alarms and Actions: ./assurance_services/alarms_actions.md
- Design & Architecture:
- Architecture: ./architecture/architecture.md
- Cloud native support:
# - Introduction: ./architecture/CRIDGE_cloud_native_intro.md
- CRIDGE for Developers: ./architecture/CRIDGE/CRIDGEforDevelopers.md
- CRIDGE: ./architecture/cridge/cridge_introduction.md
- Message bus: ./architecture/messagebus.md
- OSOM: ./architecture/osom.md
- Authentication: ./architecture/oauth.md
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment