Skip to content

Commit 7807338

Browse files
authored
Add files via upload
1 parent d2bac0f commit 7807338

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
[id="cnf-best-practices-spk-integration-via-spk-operator"]
2+
[id="spk-integration-via-spk-operator"]
3+
= SPK Integration via SPK Operator
4+
The SPK runs in a separate namespace from the CNF. The CNF will not have direct permissions to access this namespace. In order to allow applications to manage the lifecycle of the SPK deployment, the SPK operator is used. The SPK Operator defines several CRDs for which CRs are created in the CNF namespace:
5+
6+
[id="cnf-best-practices-spkprofile"]
7+
== SPKProfile
8+
The `SPKProfile` CRD handles LCM operations of SPK itself. Example:
9+
10+
[source,yaml]
11+
----
12+
apiVersion: webscale.verizon.com/v1
13+
kind: SPKProfile
14+
metadata:
15+
name: spkprofile-democnf
16+
namespace: democnf
17+
spec:
18+
bgp_networks:
19+
edn:
20+
ip_version:
21+
- v4
22+
- v6
23+
mtu: 8000
24+
provision: true
25+
replicas: 2
26+
spk_version: v1.7.0
27+
----
28+
29+
When the `SPKProfile` CR is created, tmm pods are started within the spk namespace `spk-<app
30+
namespace>` with the specified version and number of replicas.
31+
32+
[id="cnf-best-practices-spkstaticroute"]
33+
== SPKStaticroute
34+
The SPK Staticroute is used to provision static routes in the SPK by application owners in the
35+
application namespace. Example:
36+
37+
[source,yaml]
38+
----
39+
apiVersion: webscale.verizon.com/v1
40+
kind: SPKStaticRoute
41+
metadata:
42+
name: edn-loopbacks-183
43+
namespace: spk-democnf
44+
spec:
45+
gatewaynetworks:
46+
edn:
47+
destination_v4:
48+
- 10.183.0.0/24
49+
destination_v6:
50+
- fd00:4888:2000:1400:22/64
51+
----
52+
53+
[id="cnf-best-practices-spksnatpool"]
54+
== SPKSnatpool
55+
The SPKSnatpool is provisioned within the application namespace to configure source network address translations (SNAT) on egress network traffic for the SPK. When internal Pods connect to external resources, their internal cluster IP address is translated to one of the available IP addresses in the SNAT pool. Example:
56+
57+
[source,yaml]
58+
----
59+
apiVersion: k8s.f5net.com/v1
60+
kind: F5SPKSnatpool
61+
metadata:
62+
name: egress-snatpool
63+
namespace: spk-democnf
64+
spec:
65+
addressList:
66+
- 10.183.247.229
67+
- fdb0:5b22:e86a:1122::22
68+
- 10.183.247.23
69+
- fdb0:5b22:e86a:1122::230
70+
----
71+
72+
More details on the SPK operator are in the "SPK Operator User Guide".
73+
74+
.VCP CNF requirement - Doors Id 94142
75+
[IMPORTANT]
76+
====
77+
The application MUST integrate with the SPK Operator to perform lifecycle management of the SPK.
78+
====

0 commit comments

Comments
 (0)