Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RA2 Ch4]: Reinstate Chapter 4.5 content in new format #1854

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
33 changes: 11 additions & 22 deletions doc/ref_arch/kubernetes/chapters/chapter04.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,21 +156,16 @@ In order for the networking solution(s) to be conformant with the Reference Arch

|Ref|Specification|Details|Requirement Trace|
|---|---|---|---|
|`ra2.ntw.001`||||
|`ra2.ntw.002`||||
|`ra2.ntw.003`||||
|`ra2.ntw.004`||||
|`ra2.ntw.001`|CNI multiplexer/metaplugin|As the selected CNI multiplexer/metapulgin MUST support other CNI plugins (`req.inf.ntw.06`) and SHOULD provide an API based solution to administer the networks from a central point (`req.inf.ntw.03`) the selected CNI multiplexer/metapulgin may be [DANM](https://github.com/nokia/danm). For more detailed feature comparision of CNI multiplexers/metaplugins see Table 4-5| [req.inf.ntw.06](./chapter02.md#23-kubernetes-architecture-requirements), [req.inf.ntw.03](./chapter02.md#23-kubernetes-architecture-requirements) |
|`ra2.ntw.002`|CNI to implement a default network which implements the Kubernetes network model|A CNI plugin may be used which implements the Kubernetes network model and have capability to handle `NetworkPolicies`|[req.inf.ntw.08](./chapter02.md#23-kubernetes-architecture-requirements)|
|`ra2.ntw.003`|NAT less connectivity|An IPVLAN CNI plugin or the [MACVLAN CNI](https://github.com/containernetworking/plugins/tree/master/plugins/main/macvlan) may be used||
|`ra2.ntw.004`|User plane networks|[User Space CNI](https://github.com/intel/userspace-cni-network-plugin) may be used. The User Space CNI may use VPP or OVS-DPDK as a backend.||
|`ra2.ntw.005`|SR-IOV|[SR-IOV CNI plugin](https://github.com/intel/sriov-cni) may be used||
|`ra2.ntw.006`|SR-IOV|[SR-IOV Device Plugin](https://github.com/intel/sriov-network-device-plugin) may be used||

<p align="center"><b>Table 4-4:</b> Networking Solution Specifications</p>

<!--
> THE BELOW TEXT HAS BEEN COMMENTED AS NEEDS REVIEWING AND REPLACED WITH SPECS IN THE ABOVE TABLE AS PER:
#1555
#1637

As the selected CNI multiplexer/metapulgin MUST support other CNI plugins (`req.inf.ntw.06`) and SHOULD provide an API based solution to administer the networks from a central point (`req.inf.ntw.03`) the selected CNI multiplexer/metapulgin may be [DANM](https://github.com/nokia/danm).<br>
<p align="center"><b>Table 4-4:</b> Networking Solution Specifications</p>

The following table contains a comparision of relevant features and requirements in Multus and DANM.

| Requirement | Support in Multus | Support in DANM |
|-------------|-------------------|-----------------|
Expand All @@ -189,16 +184,10 @@ The following table contains a comparision of relevant features and requirements
| Do not interfere with or cause interference to any interface or network it does not own (`req.inf.ntw.09`) | Supported | Supported |
| Cluster wide coordination of IP address assignment (`req.inf.ntw.10`) | Supported via another CNI plugin | Supported |

<p align="center"><b>Table 4-2:</b> Comparision of CNI multiplexers/metaplugins</p>
<p align="center"><b>Table 4-5:</b> Comparision of CNI multiplexers/metaplugins</p>

1): Under implementation in the current release.

[Calico](https://github.com/projectcalico/cni-plugin) may be used as the CNI what complies with the basic networking assumptions of Kubernetes based on the requirement `req.inf.ntw.08` due to it's capability to handle `NetworkPolicies`, what is missing from [Flannel](https://github.com/coreos/flannel-cni).
For the network of signalling connections the built in IPVLAN CNI of DANM or the [MACVLAN CNI](https://github.com/containernetworking/plugins/tree/master/plugins/main/macvlan) may be used as these provide NAT-less connectivity. For the user plane network(s) the [User Space CNI](https://github.com/intel/userspace-cni-network-plugin) may be used. The User Space CNI may use VPP or OVS-DPDK as a backend.

> Editors note: The use of SR-IOV in container environments and, therefore, the inclusion of an SR-IOV CNI plugin and the [SR-IOV Device Plugin](https://github.com/intel/sriov-network-device-plugin) are still under debate.
-->

<a name="4.6"></a>
## 4.6 Storage components

Expand All @@ -211,7 +200,7 @@ In order for the storage solution(s) to be conformant with the Reference Archite
|`ra2.stg.003`||||
|`ra2.stg.004`||||

<p align="center"><b>Table 4-5:</b> Storage Solution Specifications</p>
<p align="center"><b>Table 4-6:</b> Storage Solution Specifications</p>

<!--
> THE BELOW TEXT HAS BEEN COMMENTED AS NEEDS REVIEWING AND REPLACED WITH SPECS IN THE ABOVE TABLE AS PER:
Expand Down Expand Up @@ -265,7 +254,7 @@ In order for the storage solution(s) to be conformant with the Reference Archite
|---|---|---|---|
|`ra2.pkg.001`|API-based package management|A package manager must use the Kubernetes APIs to manage application artefacts. Cluster-side components such as Tiller are not supported.|[req.int.api.02](./chapter02.md#23-kubernetes-architecture-requirements)|

<p align="center"><b>Table 4-6:</b> Kubernetes Application Package Management Specifications</p>
<p align="center"><b>Table 4-7:</b> Kubernetes Application Package Management Specifications</p>

<a name="4.9"></a>
## 4.9 Kubernetes workloads
Expand All @@ -279,7 +268,7 @@ In order for the Kubernetes workloads to be conformant with the Reference Archit
|`ra2.app.003`||||
|`ra2.app.004`||||

<p align="center"><b>Table 4-7:</b> Kubernetes Workload Specifications</p>
<p align="center"><b>Table 4-8:</b> Kubernetes Workload Specifications</p>

<a name="4.10"></a>
## 4.10 Additional required components
Expand Down