...
cIPsec is a new implemented that is targeted in Frankfurt. This time, the VIMs containing these resources is no longer Openstack but Kubernetes. This implementation is planned to be achieved along with the help of the functionalities provided in Extending HPA for K8S. The K8s plugin resided in MC will handle the job of scheduling IPsec. As it is implemented in Kubernetes, IPsec need to be packaged as a helm chart that would be processed by the k8s plugin.
Code Block |
---|
#Helm chart architecture
----- Chart.yaml
values.yaml
templates/
-------- deployment.yaml
xx-network.yaml
...
charts/
-------- remote-ipsec-gateway/
-------- Chart.yaml
values.yaml
templates/
pktgen/
-------- Chart.yaml
values.yaml
templates/
sink/
-------- Chart.yaml
values.yaml
templates/ |
However, since the helm chart will be transmitted as an artifact inside the CSAR package and currently SO is not able to handle the container-based -based CSAR package, a heat template and related policies need to be mapped to the helm chart, containing the requirements that needed for IPsec.
Code Block |
---|
#Requirements designed in the heat template and the policies
#Requirements on SRIOV
{
"hpa-feature": "sriovNICNetwork",
"mandatory": "True",
"architecture": "generic",
"hpa-version": "v1",
"directives" : [] ,// a placeholder for OOF usage
"hpa-feature-attributes": [
{ "hpa-attribute-key": "pciVendorId", "hpa-attribute-value": "0000", "operator": "=", "unit": "" },
{ "hpa-attribute-key": "pciDeviceId", "hpa-attribute-value": "0000", "operator": "=", "unit": "" },
{ "hpa-attribute-key": "pciCount", "hpa-attribute-value": "1", "operator": ">=", "unit": "" },
{ "hpa-attribute-key": "physicalNetwork", "hpa-attribute-value": "xxx", "operator": "=", "unit": "" }
]
}
#Requirements on CPU and memory size
{
"hpa-feature": "basicCapabilities",
"mandatory": "True",
"architecture": "generic",
"hpa-version": "v1",
"directives" : [] ,//a placeholder for OOF usage
"hpa-feature-attributes": [
{ "hpa-attribute-key": "numVirtualCpu", "hpa-attribute-value": "1", "operator": "=", "unit": "" },
{ "hpa-attribute-key": "virtualMemSize", "hpa-attribute-value": "4", "operator": "=", "unit": "GB" }
]
}
|
Code Block |
---|
#Requirements designed in the helm chart
#Requirements on SRIOV
nodeSelector:
feature.node.kubernetes.io/sriov-capable: "true"
feature.node.kubernetes.io/pci-0000_0000_present: "true"
#Requirement on CPU and Memory size
resources:
requests:
cpu: 1
memory: 4Gi |