Anuket Project

Reviewers:  please add notes and GitHub issue links in the right-hand column

2.2.1 Cloud Infrastructure Software Profile Capabilities

Reference Model SectionReferenceDescriptionRequirement for Basic ProfileRequirement for Network Intensive ProfileSpecification ReferenceNotes and GitHub Issue link
4.2.5e.cap.001Max number of vCPU that can be assigned to a single Pod by the Cloud InfrastructureAt least 16 (1)At least 16 (1)ra2.ch.011
4.2.5e.cap.002Max memory in MB that can be assigned to a single Pod by the Cloud Infrastructureat least 32 GB(1)at least 32 GB(1)ra2.ch.012
4.2.5e.cap.003Max storage in GB that can be assigned to a single Pod by the Cloud Infrastructureat least 320 GB(1)at least 320 GB(1)ra2.ch.010
4.2.5e.cap.004Max number of connection points that can be assigned to a single Pod by the Cloud Infrastructure66ra2.ntw.003
4.2.5e.cap.005Max storage in GB that can be attached / mounted to Pod by the Cloud InfrastructureUp to 16TB(2)Up to 16TB(2)

4.2.5e.cap.006CPU pinning supportNot requiredMust supportra2.k8s.009
4.2.5e.cap.007NUMA supportNot requiredMust supportra2.k8s.006
4.2.5e.cap.008IPSec Acceleration using the virtio-ipsec interfaceNot requiredOptional

4.2.5e.cap.009Crypto Acceleration using the virtio-crypto interfaceNot requiredOptional

4.2.5e.cap.010Transcoding AccelerationNot requiredNot required

4.2.5e.cap.011Programmable AccelerationNot requiredNot required

4.2.5e.cap.012Enhanced Cache Management: L=Lean; E=Equal; X=eXpandedEE

4.2.5e.cap.013SR-IOV over PCI-PTNot requiredMust supportra2.ch.002
ra2.ch.003
ra2.k8s.007
ra2.ntw.004
ra2.ntw.008

4.2.5e.cap.014Hardware coprocessor support (GPU/NPU)Not requiredNot requiredN/A
4.2.5e.cap.015SmartNICsNot requiredOptional

4.2.5e.cap.016FPGA/other Acceleration H/WNot requiredOptionalra2.k8s.007
ra2.ntw.012

4.2.5e.cap.017Ability to monitor L2-L7 data from workloadn/a(3)n/a(3)

4.2.5i.cap.014Specifies the proportion of CPU cores consumed by the Cloud Infrastructure system on the worker nodes. If SMT is used, it indicates the number of consumed SMT threads.22ra2.k8s.008
4.2.5i.cap.015Indicates the memory consumed by Cloud Infrastructure on the worker nodes16 GB16GB

4.2.5i.cap.016Number of virtual cores per physical core; also known as CPU overbooking ratio that is required1:11:1ra2.ch.004
ra2.ch.005

4.2.5i.cap.017QoS enablement of the connection point (vNIC or interface)Not requiredMust support

4.2.5i.cap.018Support for huge pagesNot requiredMust supportra2.ch.001
4.2.5i.pm.001Monitor worker node CPU usage, per nanosecondMust supportMust support

4.2.5i.pm.002Monitor pod CPU usage, per nanosecondMust supportMust support

4.2.5i.pm.003Monitor worker node CPU utilisation (%)Must supportMust support

4.2.5i.pm.004Monitor pod CPU utilisationMust supportMust support

4.2.5i.pm.005Measure external storage IOPsMust supportMust support

4.2.5i.pm.006Measure external storage throughputMust supportMust support

4.2.5i.pm.007Measure external storage capacityMust supportMust support

2.2.2 Virtual Network Interface Specifications

The required number of connection points to a Pod is described in e.cap.004 above. This section describes the required bandwidth of those connection points.

Reference Model SectionReferenceDescriptionRequirement for Basic ProfileRequirement for Network Intensive ProfileSpecification ReferenceNotes and GitHub Issue link
4.2.2n1, n2, n3, n4, n5, n61, 2, 3, 4, 5, 6 GbpsMust supportMust support

4.2.2nn10, n20, n30, n40, n50, n6010, 20, 30, 40, 50, 60 GbpsMust supportMust support

4.2.2n25, n50, n75, n100, n125, n15025, 50, 75, 100, 125, 150 GbpsMust supportMust support

4.2.2nn50, n100, n150, n200, n250, n30050, 100, 150, 200, 250, 300 GbpsMust supportMust support

4.2.2n100, n200, n300, n400, n500, n600100, 200, 300, 400, 500, 600 GbpsMust supportMust support

Table 2-2: Reference Model Requirements: Network Interface Specifications

2.2.3 Cloud Infrastructure Software Profile Requirements

Reference Model SectionReferenceDescriptionRequirement for Basic ProfileRequirement for Network Intensive ProfileSpecification ReferenceNotes and GitHub Issue link
5.2.1infra.com.cfg.001CPU allocation ratio1:11:1ra2.ch.005
ra2.ch.006

5.2.1infra.com.cfg.002NUMA awarenessMust supportMust supportra2.k8s.006
5.2.1infra.com.cfg.003CPU pinning capabilityNot requiredMust supportra2.k8s.009
5.2.1infra.com.cfg.004Huge PagesMust supportMust supportra2.ch.001
5.2.2infra.stg.cfg.002Storage BlockMust supportMust supportra2.stg.004
5.2.2infra.stg.cfg.003Storage with replicationNot requiredMust support

5.2.2infra.stg.cfg.004Storage with encryptionMust supportMust support

5.2.2infra.stg.acc.cfg.001Storage IOPS orientedNot requiredMust support

5.2.2infra.stg.acc.cfg.002Storage capacity orientedNot requiredNot required

5.2.3infra.net.cfg.001IO virtualisation using virtio1.1Must support(1)Must support(1)

5.2.3infra.net.cfg.002The overlay network encapsulation protocol needs to enable ECMP in the underlay to take advantage of the scale-out features of the network fabric.(2)Must support VXLAN, MPLSoUDP, GENEVE, otherNo requirement specified

5.2.3infra.net.cfg.003Network Address TranslationMust supportMust support

5.2.3infra.net.cfg.004Security GroupsMust supportMust support

5.2.3infra.net.cfg.005SFC supportNot requiredMust support

5.2.3infra.net.cfg.006Traffic patterns symmetryMust supportMust support

5.2.3infra.net.acc.cfg.001vSwitch optimisationNot requiredMust support DPDK(3)ra2.ntw.010
5.2.3infra.net.acc.cfg.002Support of HW offloadNot requiredMust support SmartNic

5.2.3infra.net.acc.cfg.003Crypto accelerationNot requiredMust support

5.2.3infra.net.acc.cfg.004Crypto Acceleration InterfaceNot requiredMust support

2.2.4 Cloud Infrastructure Hardware Profile Requirements

Reference Model SectionReferenceDescriptionRequirement for Basic ProfileRequirement for Network Intensive ProfileSpecification ReferenceNotes and GitHub Issue link
5.4.1infra.hw.cpu.cfg.001Minimum number of CPU sockets22ra2.ch.008
5.4.1infra.hw.cpu.cfg.002Minimum number of Cores per CPU2020ra2.ch.008
5.4.1infra.hw.cpu.cfg.003NUMANot requiredMust supportra2.k8s.006
5.4.1infra.hw.cpu.cfg.004Simultaneous Multithreading/Symmetric Multiprocessing (SMT/SMP)Must supportMust supportra2.ch.004
5.4.1infra.hw.cac.cfg.001GPUNot requiredNot required

5.4.2infra.hw.stg.hdd.cfg.001Local Storage HDDNo requirement specifiedNo requirement specified

5.4.2infra.hw.stg.ssd.cfg.002Local Storage SSDShould supportShould supportra2.ch.009
5.4.3infra.hw.nic.cfg.001Total Number of NIC Ports available in the host44ra2.ch.013
5.4.3infra.hw.nic.cfg.002Port speed specified in Gbps (minimum values)1025ra2.ch.014
ra2.ch.015

5.4.3infra.hw.pci.cfg.001Number of PCIe slots available in the host88ra2.ch.016
5.4.3infra.hw.pci.cfg.002PCIe speedGen 3Gen 3ra2.ch.016
5.4.3infra.hw.pci.cfg.003PCIe Lanes88ra2.ch.016
5.4.3infra.hw.nac.cfg.001Cryptographic AccelerationNot requiredOptional

5.4.3infra.hw.nac.cfg.002A SmartNIC that is used to offload vSwitch functionality to hardwareNot requiredOptional(1)

5.4.3infra.hw.nac.cfg.003CompressionNo requirement specifiedNo requirement specified

Table 2-4: Reference Model Requirements: Cloud Infrastructure Hardware Profile Requirements

(1) There is no vSwitch in case of containers, but a SmartNIC can be used to offload any other network processing.

2.2.5 Cloud Infrastructure Management Requirements

Reference Model SectionReferenceDescriptionRequirement (common to all Profiles)Specification ReferenceNotes and GitHub Issue link
4.1.5e.man.001Capability to allocate virtual compute resources to a workloadMust support

4.1.5e.man.002Capability to allocate virtual storage resources to a workloadMust support

4.1.5e.man.003Capability to allocate virtual networking resources to a workloadMust support

4.1.5e.man.004Capability to isolate resources between tenantsMust support

4.1.5e.man.005Capability to manage workload software imagesMust support

4.1.5e.man.006Capability to provide information related to allocated virtualised resources per tenantMust support

4.1.5e.man.007Capability to notify state changes of allocated resourcesMust support

4.1.5e.man.008Capability to collect and expose performance information on virtualised resources allocatedMust support

4.1.5e.man.009Capability to collect and notify fault information on virtualised resourcesMust support

Table 2-5: Reference Model Requirements: Cloud Infrastructure Management Requirements

2.2.6 Cloud Infrastructure Security Requirements

Reference Model SectionReferenceRequirement (common to all Profiles)Specification ReferenceNotes and GitHub Issue link
7.9.1sec.gen.001The Platform must maintain the specified configuration.

7.9.1sec.gen.002All systems part of Cloud Infrastructure must support password hardening as defined in CIS Password Policy Guide. Hardening: CIS Password Policy Guide

7.9.1sec.gen.003All servers part of Cloud Infrastructure must support a root of trust and secure boot.

7.9.1sec.gen.004The Operating Systems of all the servers part of Cloud Infrastructure must be hardened by removing or disabling unnecessary services, applications and network protocols, configuring operating system user authentication, configuring resource controls, installing and configuring additional security controls where needed, and testing the security of the Operating System. (NIST SP 800-123)

7.9.1sec.gen.005The Platform must support Operating System level access control

7.9.1sec.gen.006The Platform must support Secure logging. Logging with root account must be prohibited when root privileges are not required.

7.9.1sec.gen.007All servers part of Cloud Infrastructure must be Time synchronized with authenticated Time service.

7.9.1sec.gen.008All servers part of Cloud Infrastructure must be regularly updated to address security vulnerabilities.

7.9.1sec.gen.009The Platform must support Software integrity protection and verification and mustscan source code and manifests.

7.9.1sec.gen.010The Cloud Infrastructure must support encrypted storage, for example, block, object and file storage, with access to encryption keys restricted based on a need to know. Controlled Access Based on the Need to Know

7.9.1sec.gen.011The Cloud Infrastructure should support Read and Write only storage partitions (write only permission to one or more authorized actors).

7.9.1sec.gen.012The Operator must ensure that only authorized actors have physical access to the underlying infrastructure.

7.9.1sec.gen.013The Platform must ensure that only authorized actors have logical access to the underlying infrastructure.

7.9.1sec.gen.014All servers part of Cloud Infrastructure should support measured boot and an attestation server that monitors the measurements of the servers.

7.9.1sec.gen.015Any change to the Platform must be logged as a security event, and the logged event must include the identity of the entity making the change, the change, the date and the time of the change.

7.9.2sec.sys.001The Platform must support authenticated and secure access to API, GUI and command line interfaces.

7.9.2sec.sys.002The Platform must support Traffic Filtering for workloads (for example, Fire Wall).

7.9.2sec.sys.003The Platform must support Secure and encrypted communications, and confidentiality and integrity of network traffic.

7.9.2sec.sys.004The Cloud Infrastructure must support authentication, integrity and confidentiality on all network channels.

7.9.2sec.sys.005The Cloud Infrastructure must segregate the underlay and overlay networks.

7.9.2sec.sys.006The Cloud Infrastructure must be able to utilize the Cloud Infrastructure Manager identity lifecycle management capabilities.

7.9.2sec.sys.007The Platform must implement controls enforcing separation of duties and privileges, least privilege use and least common mechanism (Role-Based Access Control).

7.9.2sec.sys.008The Platform must be able to assign the Entities that comprise the tenant networks to different trust domains.

7.9.2sec.sys.009The Platform must support creation of Trust Relationships between trust domains.

7.9.2sec.sys.010For two or more domains without existing trust relationships, the Platform must notallow the effect of an attack on one domain to impact the other domains either directly or indirectly.

7.9.2sec.sys.011The Platform must not reuse the same authentication credential (e.g., key-pair) on different Platform components (e.g., on different hosts, or different services).

7.9.2sec.sys.012The Platform must protect all secrets by using strong encryption techniques, and storing the protected secrets externally from the component(e.g., in OpenStack Barbican).
7.9.2sec.sys.013The Platform must provide secrets dynamically as and when needed.

7.9.2sec.sys.014The Platform should use Linux Security Modules such as SELinux to control access to resources.

7.9.2sec.sys.015The Platform must not contain back door entries (unpublished access points, APIs, etc.).

7.9.2sec.sys.016Login access to the platform's components must be through encrypted protocols such as SSH v2 or TLS v1.2 or higher. Note: Hardened jump servers isolated from external networks are recommended

7.9.2sec.sys.017The Platform must provide the capability of using digital certificates that comply with X.509 standards issued by a trusted Certification Authority.

7.9.2sec.sys.018The Platform must provide the capability of allowing certificate renewal and revocation.

7.9.2sec.sys.019The Platform must provide the capability of testing the validity of a digital certificate (CA signature, validity period, non revocation, identity).

7.9.3sec.ci.001The Platform must support Confidentiality and Integrity of data at rest and in-transit.

7.9.3sec.ci.002The Platform should support self-encrypting storage devices.

7.9.3sec.ci.003The Platform must support Confidentiality and Integrity of data related metadata.

7.9.3sec.ci.004The Platform must support Confidentiality of processes and restrict information sharing with only the process owner (e.g., tenant).

7.9.3sec.ci.005The Platform must support Confidentiality and Integrity of process-related metadata and restrict information sharing with only the process owner (e.g., tenant).

7.9.3sec.ci.006The Platform must support Confidentiality and Integrity of workload resource utilization (RAM, CPU, Storage, Network I/O, cache, hardware offload) and restrict information sharing with only the workload owner (e.g., tenant).

7.9.3sec.ci.007The Platform must not allow Memory Inspection by any actor other than the authorized actors for the Entity to which Memory is assigned (e.g., tenants owning the workload), for Lawful Inspection, and by secure monitoring services.

7.9.3sec.ci.008The Cloud Infrastructure must support tenant networks segregation.

7.9.4sec.wl.001The Platform must support Workload placement policy.

7.9.4sec.wl.002The Cloud Infrastructure must provide methods to ensure the platform’s trust status and integrity (e.g. remote attestation, Trusted Platform Module).

7.9.4sec.wl.003The Platform must support secure provisioning of workloads.

7.9.4sec.wl.004The Platform must support Location assertion (for mandated in-country or location requirements).

7.9.4sec.wl.005The Platform must support the separation of production and non-production Workloads.

7.9.4sec.wl.006The Platform must support the separation of Workloads based on their categorisation (for example, payment card information, healthcare, etc.).

7.9.4sec.wl.007The Operator should implement processes and tools to verify VNF authenticity and integrity.

7.9.5sec.img.001Images from untrusted sources must not be used.

7.9.5sec.img.002Images must be scanned to be maintained free from known vulnerabilities.

7.9.5sec.img.003Images must not be configured to run with privileges higher than the privileges of the actor authorized to run them.

7.9.5sec.img.004Images must only be accessible to authorized actors.

7.9.5sec.img.005Image Registries must only be accessible to authorized actors.

7.9.5sec.img.006Image Registries must only be accessible over secure networks that enforce authentication, integrity and confidentiality.

7.9.5sec.img.007Image registries must be clear of vulnerable and stale (out of date) versions.

7.9.6sec.lcm.001The Platform must support Secure Provisioning, Availability, and Deprovisioning (Secure Clean-Up) of workload resources where Secure Clean-Up includes tear-down, defense against virus or other attacks.

7.9.6sec.lcm.002Cloud operations staff and systems must use management protocols limiting security risk such as SNMPv3, SSH v2, ICMP, NTP, syslog and TLS v1.2 or higher.

7.9.6sec.lcm.003The Cloud Operator must implement and strictly follow change management processes for Cloud Infrastructure, Cloud Infrastructure Manager and other components of the cloud, and Platform change control on hardware.

7.9.6sec.lcm.004The Cloud Operator should support automated templated approved changes.

7.9.6sec.lcm.005Platform must provide logs and these logs must be regularly monitored for anomalous behavior.

7.9.6sec.lcm.006The Platform must verify the integrity of all Resource management requests.

7.9.6sec.lcm.007The Platform must be able to update newly instantiated, suspended, hibernated, migrated and restarted images with current time information.

7.9.6sec.lcm.008The Platform must be able to update newly instantiated, suspended, hibernated, migrated and restarted images with relevant DNS information.

7.9.6sec.lcm.009The Platform must be able to update the tag of newly instantiated, suspended, hibernated, migrated and restarted images with relevant geolocation (geographical) information.

7.9.6sec.lcm.010The Platform must log all changes to geolocation along with the mechanisms and sources of location information (i.e. GPS, IP block, and timing).

7.9.6sec.lcm.011The Platform must implement Security life cycle management processes including the proactive update and patching of all deployed Cloud Infrastructure software.

7.9.6sec.lcm.012The Platform must log any access privilege escalation.

7.9.7sec.mon.001Platform must provide logs and these logs must be regularly monitored for events of interest. The logs must contain the following fields: event type, date/time, protocol, service or program used for access, success/failure, login ID or process ID, IP address and ports (source and destination) involved.

7.9.7sec.mon.002Security logs must be time synchronised.

7.9.7sec.mon.003The Platform must log all changes to time server source, time, date and time zones.

7.9.7sec.mon.004The Platform must secure and protect Audit logs (containing sensitive information) both in-transit and at rest.

7.9.7sec.mon.005The Platform must Monitor and Audit various behaviours of connection and login attempts to detect access attacks and potential access attempts and take corrective actions accordingly.

7.9.7sec.mon.006The Platform must Monitor and Audit operations by authorized account access after login to detect malicious operational activity and take corrective actions accordingly.

7.9.7sec.mon.007The Platform must Monitor and Audit security parameter configurations for compliance with defined security policies.

7.9.7sec.mon.008The Platform must Monitor and Audit externally exposed interfaces for illegal access (attacks) and take corrective security hardening measures.

7.9.7sec.mon.009The Platform must Monitor and Audit service handling for various attacks (malformed messages, signalling flooding and replaying, etc.) and take corrective actions accordingly.

7.9.7sec.mon.010The Platform must Monitor and Audit running processes to detect unexpected or unauthorized processes and take corrective actions accordingly.

7.9.7sec.mon.011The Platform must Monitor and Audit logs from infrastructure elements and workloads to detected anomalies in the system components and take corrective actions accordingly.

7.9.7sec.mon.012The Platform must Monitor and Audit Traffic patterns and volumes to prevent malware download attempts.

7.9.7sec.mon.013The monitoring system must not affect the security (integrity and confidentiality) of the infrastructure, workloads, or the user data (through back door entries).

7.9.7sec.mon.014The Monitoring systems should not impact IAAS, PAAS, and SAAS SLAs including availability SLAs.

7.9.7sec.mon.015The Platform must ensure that the Monitoring systems are never starved of resources and must activate alarms when resource utilisation exceeds a configurable threshold.

7.9.7sec.mon.016The Platform Monitoring components should follow security best practices for auditing, including secure logging and tracing.

7.9.7sec.mon.017The Platform must audit systems for any missing security patches and take appropriate actions.

7.9.7sec.mon.018The Platform, starting from initialization, must collect and analyze logs to identify security events, and store these events in an external system.

7.9.7sec.mon.019The Platform’s components must not include an authentication credential, e.g., password, in any logs, even if encrypted.

7.9.7sec.mon.020The Platform’s logging system must support the storage of security audit logs for a configurable period of time.

7.9.7sec.mon.021The Platform must store security events locally if the external logging system is unavailable and shall periodically attempt to send these to the external logging system until successful.

7.9.8sec.std.001The Cloud Operator should comply with Center for Internet Security CIS Controls (https://www.cisecurity.org/)

7.9.8sec.std.002The Cloud Operator, Platform and Workloads should follow the guidance in the CSA Security Guidance for Critical Areas of Focus in Cloud Computing (latest version) https://cloudsecurityalliance.org/

7.9.8sec.std.003The Platform and Workloads should follow the guidance in the OWASP Cheat Sheet Series (OCSS) https://github.com/OWASP/CheatSheetSeries

7.9.8sec.std.004The Cloud Operator, Platform and Workloads should ensure that their code is not vulnerable to the OWASP Top Ten Security Risks https://owasp.org/www-project-top-ten/

7.9.8sec.std.005The Cloud Operator, Platform and Workloads should strive to improve their maturity on the OWASP Software Maturity Model (SAMM) https://owaspsamm.org/blog/2019/12/20/version2-community-release/

7.9.8sec.std.006The Cloud Operator, Platform and Workloads should utilize the OWASP Web Security Testing Guide https://github.com/OWASP/wstg/tree/master/document

7.9.8sec.std.007The Cloud Operator, and Platform should satisfy the requirements for Information Management Systems specified in ISO/IEC 27001 https://www.iso.org/obp/ui/#iso:std:iso-iec:27001:ed-2:v1:en. ISO/IEC 27002:2013 - ISO/IEC 27001 is the international Standard for best-practice information security management systems (ISMSs).

7.9.8sec.std.008The Cloud Operator, and Platform should implement the Code of practice for Security Controls specified ISO/IEC 27002:2013 (or latest) https://www.iso.org/obp/ui/#iso:std:iso-iec:27002:ed-2:v1:en

7.9.8sec.std.009The Cloud Operator, and Platform should implement the ISO/IEC 27032:2012 (or latest) Guidelines for Cybersecurity techniques https://www.iso.org/obp/ui/#iso:std:iso-iec:27032:ed-1:v1:en. ISO/IEC 27032 - ISO/IEC 27032is the international Standard focusing explicitly on cybersecurity.

7.9.8sec.std.010The Cloud Operator should conform to the ISO/IEC 27035 standard for incidence management. ISO/IEC 27035 - ISO/IEC 27035 is the international Standard for incident management.

7.9.8sec.std.011The Cloud Operator should conform to the ISO/IEC 27031 standard for business continuity. ISO/IEC 27031 - ISO/IEC 27031 is the international Standard for ICT readiness for business continuity.

7.9.8sec.std.012The Public Cloud Operator must, and the Private Cloud Operator may be certified to be compliant with the International Standard on Awareness Engagements (ISAE) 3402 (in the US: SSAE 16). International Standard on Awareness Engagements (ISAE) 3402. US Equivalent: SSAE16.

Table 2-6: Reference Model Requirements: Cloud Infrastructure Security Requirements

2.3 Kubernetes Architecture Requirements

The Reference Model (RM) defines the Cloud Infrastructure, which consists of the physical resources, virtualised resources and a software management system. In the virtualised world, the Cloud Infrastructure consists of the Guest Operating System, Hypervisor and, if needed, other software such as libvirt. The Cloud Infrastructure Management component is responsible for, among others, tenant management, resources management, inventory, scheduling, and access management.

Now consider the containerisation equivalent, references to "Architecture" in this chapter refer to the Cloud Infrastructure Hardware (e.g. physical resources), Cloud Infrastructure Software (e.g. Hypervisor (optional), Container Runtime, virtual or container Orchestrator(s), Operating System), and infrastructure resources consumed by virtual machines or containers.

The requirements in this section are to be delivered in addition to those in section 2.2, and have been created to support the Principles defined in Chapter 1 of this Reference Architecture.

Ref #CategorySub-categoryDescriptionSpecification ReferenceNotes and GitHub Issue link
req.gen.cnt.02GeneralCloud nativenessThe Architecture must support immutable infrastructure.ra2.ch.017

Need Kubernetes reference to definition of immutable

Essentially, configuration is not changed once deployed

What does this apply to? Workloads? 

Are there test cases for this?

OK

req.gen.cnt.03GeneralCloud nativenessThe Architecture must run conformant Kubernetes as defined by the CNCF.ra2.k8s.001OK
req.gen.cnt.04GeneralCloud nativenessThe Architecture must support clearly defined abstraction layers.

Seems vague.  What does "abstraction layer" mean specifically? Hardware abstraction?

Link to the GitHub issue: https://github.com/cntt-n/CNTT/issues/2551

NO

req.gen.cnt.05GeneralCloud nativenessThe Architecture should support configuration of all components in an automated manner using openly published API definitions.

req.gen.scl.01GeneralScalabilityThe Architecture should support policy driven horizontal auto-scaling of workloads.

req.gen.rsl.01GeneralResiliencyThe Architecture must support resilient Kubernetes components that are required for the continued availability of running workloads.ra2.k8s.004

Note:  additional detail in link.


req.gen.rsl.02GeneralResiliencyThe Architecture should support resilient Kubernetes service components that are not subject to req.gen.rsl.01.ra2.k8s.002
ra2.k8s.003
OK
req.gen.avl.01GeneralAvailabilityThe Architecture must provide High Availability for Kubernetes components.ra2.k8s.002
ra2.k8s.003
ra2.k8s.004
OK
req.gen.ost.01GeneralOpennessThe Architecture should embrace open-based standards and technologies.ra2.crt.001
ra2.crt.002
ra2.ntw.002
ra2.ntw.006
ra2.ntw.007

req.inf.com.01InfrastructureComputeThe Architecture must provide compute resources for Pods.ra2.k8s.004OK
req.inf.stg.01InfrastructureStorageThe Architecture must support the ability for an operator to choose whether or not to deploy persistent storage for Pods.ra2.stg.004OK
req.inf.ntw.01InfrastructureNetworkThe Architecture must support network resiliency on the Kubernetes nodes.

No link for additional detail.  What does "network resiliency mean, specifially?".  What is the configuration?  How many nodes, etc.

NO

req.inf.ntw.02InfrastructureNetworkThe Architecture must support fully redundant network connectivity to the Kubernetes nodes, leveraging multiple network connections.

Seems vague.  Need more definition. Possibly redundant to HA requirement. No link.

Pankaj says that there is a reference that provides additional detail (ra2.ch.013 Sect 4.2 of the RA-2 document)

https://github.com/cntt-n/CNTT/issues/2548


NO

req.inf.ntw.03InfrastructureNetworkThe networking solution should be able to be centrally administrated and configured.ra2.ntw.001
ra2.ntw.004

req.inf.ntw.04InfrastructureNetworkThe Architecture must support dual stack IPv4 and IPv6 for Kubernetes workloads.ra2.ch.007
ra2.k8s.010
OK
req.inf.ntw.05InfrastructureNetworkThe Architecture must support capabilities for integrating SDN controllers.
OK
req.inf.ntw.06InfrastructureNetworkThe Architecture must support more than one networking solution.ra2.ntw.005
ra2.ntw.007
OK
req.inf.ntw.07InfrastructureNetworkThe Architecture must support the ability for an operator to choose whether or not to deploy more than one networking solution.ra2.ntw.005OK
req.inf.ntw.08InfrastructureNetworkThe Architecture must provide a default network which implements the Kubernetes network model.ra2.ntw.002OK
req.inf.ntw.09InfrastructureNetworkThe networking solution must not interfere with or cause interference to any interface or network it does not own.
OK
req.inf.ntw.10InfrastructureNetworkThe Architecture must support Cluster wide coordination of IP address assignment.

Need a link with more detail.

  • Pankaj Goyalcreate GitHub issue and add link
    • Existing Issue Number 2275 – added question related to this requirement
req.inf.ntw.13InfrastructureNetworkThe platform must allow specifying multiple separate IP pools. Tenants are required to select at least one IP pool that is different from the control infrastructure IP pool or other tenant IP pools.

More specifics are being developed as a PR. Requires an IPAM CNI

Testability is dependent on API.

2 step process

1. Verify existence of the CNI (optional)

2. Test CNI APIs 

This is ok if there is a common way to test this. OR if the reqs specify a specific implementation.

If someone brings another CNI, they must also bring sufficient test cases - i.e. test coverage is a requirement for CNIs to be considered for inclusion in RI/to be "Anuket compliant".

OK - Once PR is complete.

req.inf.ntw.14InfrastructureNetworkThe platform must allow NATless traffic (i.e. exposing the pod IP address directly to the outside), allowing source and destination IP addresses to be preserved in the traffic headers from workloads to external networks. This is needed e.g. for signaling applications, using SIP and Diameter protocols.ra2.ntw.011
  • To Do: Verify for next Session

Cedric to verify and Update this cell.

req.inf.vir.01InfrastructureVirtual InfrastructureThe Architecture must support the capability for Containers to consume infrastructure resources abstracted by Host Operating Systems that are running within a virtual machine.ra2.ch.005
ra2.ch.011
OK
req.inf.phy.01InfrastructurePhysical InfrastructureThe Architecture must support the capability for Containers to consume infrastructure resources abstracted by Host Operating Systems that are running within a physical server.

Bare metal 

Opened an Issue # 2557  and PR #2561 for the missing spec for "Bare Metal" add ra2.ch.008 spec to the reqt

Per Specification: The physical machines on which the Kubernetes Nodes run must be equipped with at least 2 physical sockets, each of at least 20 CPU cores.

req.kcm.gen.01Kubernetes ClusterGeneralThe Architecture must support policy driven horizontal auto-scaling of Kubernetes Cluster.

Link to the GitHub issue - https://github.com/cntt-n/CNTT/issues/2563

req.kcm.gen.02Kubernetes ClusterGeneralThe Architecture must enable workload resiliency.ra2.k8s.004

2 Votes OK

OK

req.int.api.01APIGeneralThe Architecture must leverage the Kubernetes APIs to discover and declaratively manage compute (virtual and bare metal resources), network, and storage.For Networking:
Compute/storage not yet met.

An Issue is already opened regarding defining/listing Storage types

Active PR being worked/not yet approved (2480)

John Hartley is working on RM storage Spec and will then work RA1/RA2 



req.int.api.02APIGeneralThe Architecture must support the usage of a Kubernetes Application package manager using the Kubernetes API, like Helm v3.ra2.pkg.001

Already part of RC-2 in Functest VIMS  

1 line change will be incorporate in RC-2 if the test cases is not disruptive/destructive.

OK

req.int.api.03APIGeneralThe Architecture must support stable features in its APIs.

Not Testable. 

Need to specific a set of stable features/APIs and define what stable means for each API/Feature

Consider Removal

req.int.api.03APIGeneralThe Architecture must support limited backward compatibility in its APIs. Support for the whole API must not be dropped, but the schema or other details can change.

Requirement needs to be rewritten. Vague. May be what K8s would have developed as part of their goals.

This is a requirement for the projects. 

if is a default for K8s why are we specifying it in Anuket.

Need a broader audience for context. 

Next session? 

Depends on Definition of Wrkld Rel


  • No labels