This project aims to produce the requirements and deployment details of the Kubernetes-based Reference Implementation (RI2). This RI will conform to the architecture specification as defined in the Kubernetes-based Reference Architecture (RA2), with that conformance validated by the tests defined in the Kubernetes-based Reference Conformance (RC2), including alignment with the principles and requirements of the Reference Model.
The RI will be used as follows:
- By operators wishing to deploy a Kubernetes platform that conforms with the RA2 spec in community labs, their own labs, or anywhere else
- By software vendors to be able to install Kubernetes platforms in their own environments in order to develop against the RI
In order to promote the quick deployment of the RI and avoid duplicating effort across communities, the RI community works closely with CNCF TUG, OVP, ONAP and TIP communities.
The scope of RI2 is as follows:
- To generate eco-system requirements for the establishment of the RI, including labs, tooling, installers, releases and automation requirements
- Provide a detailed description file for use by installers.
- Provide detailed lab criteria and operations that are generic enough to allow any environment to be used as the “lab”.
- Provide an operational runbook for the RI, which includes detailed steps for the deployment and configuration of the RI into a chosen lab environment
- Provide detailed design for automation of deployment and testing, provide continuous integration and delivery pipeline for the RI
- Gap analysis with required actions for existing eco-system within adjacent community projects
Relationship with other communities
The main communities involved in driving requirements and development of this RI are:
- The RC2 project within Anuket takes requirements from the RM and RA2 and identifies test cases and a test integration suite that will be used to verify and validate conformance of an implementation. RI2 will be a deployable reference for operators, vendors, and others to develop against.
- The Kuberef project in Anuket acts as the main integration point for RI2: Its purpose it to provide all necessary glue code and mechanisms for i) integrating and configuring selected upstream Kubernetes deployers and components into a deployable platform, ii) continuously deploy the integrated platform in OPNFV labs and iii) run the latest RC2 test suite against the deployed platform. The test results are meant to be fed back to RA2 and RC2 to support the refinement of architecture requirements and the selection of test cases for the RC2 test suite.
- The Functest project integrates available test tools and test cases from across the open source ecosystem into a single framework. In particular, it allows to run the test cases selected by the RC2 workstream and outputs a test result package for submission to the OVP program.
- Compliance and Verification Committee & Cloud Native OVP aka OVP 2.0
- The Compliance and Verification Committee governs the Cloud Native OVP program which owns the definition of the end-to-end framework (tooling, process, tests, review, badging) used to verify conformance of a cloud native infrastructure implementation with the RA2 specifications.
- CNCF - CNF Conformance, Kubernetes, etc.
- CNCF hosts a wide variety of projects providing software components for RI2, such as Kubernetes itself, deployment tooling (e.g. kubeadm and kubespray) as well as test suites (e.g., Kubernetes conformance).
- The Telco User Group (TUG) is a forum within CNCF to identify and discuss telco requirements on the Kubernetes ecosystem.
- The CNF Conformance project in CNCF has a stated aim to provide “visibility into how well Cloud native Network Functions (CNFs) and the underlying Telecom platform follows cloud native principles”.
- The CNF Testbed is an initiative providing a framework for building and deploying technology show cases with a strong focus on telco platform requirements.
The following figure gives an overview of the relationship of the communities involved.
- GitHub repository (for editing): https://github.com/cntt-n/CNTT/tree/master/doc/ref_impl/cntt-ri2
- Readthedocs (for reading): https://cntt.readthedocs.io/en/latest/ref_impl/cntt-ri2/
- Slack channel (#ri2_kuberef): https://anuketworkspace.slack.com/archives/C01J9QBR6UF