Skip to content

Commit b314ff6

Browse files
authored
Merge pull request #22 from test-network-function/fix
Fix cnf- parts
2 parents 7dd9baf + 820bfb9 commit b314ff6

7 files changed

+91
-91
lines changed

main.adoc

Lines changed: 81 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -14,164 +14,164 @@ Workload best practices
1414

1515
toc::[]
1616

17-
include::modules/cnf-best-practices-foreword.adoc[leveloffset=+1]
17+
include::modules/k8s-best-practices-foreword.adoc[leveloffset=+1]
1818

19-
include::modules/cnf-best-practices-openshift-platform.adoc[leveloffset=+1]
19+
include::modules/k8s-best-practices-openshift-platform.adoc[leveloffset=+1]
2020

21-
include::modules/cnf-best-practices-helm.adoc[leveloffset=+2]
21+
include::modules/k8s-best-practices-helm.adoc[leveloffset=+2]
2222

23-
include::modules/cnf-best-practices-k8s.adoc[leveloffset=+2]
23+
include::modules/k8s-best-practices-k8s.adoc[leveloffset=+2]
2424

25-
include::modules/cnf-best-practices-cni-ovn.adoc[leveloffset=+2]
25+
include::modules/k8s-best-practices-cni-ovn.adoc[leveloffset=+2]
2626

27-
include::modules/cnf-best-practices-csi.adoc[leveloffset=+2]
27+
include::modules/k8s-best-practices-csi.adoc[leveloffset=+2]
2828

29-
include::modules/cnf-best-practices-block-storage.adoc[leveloffset=+2]
29+
include::modules/k8s-best-practices-block-storage.adoc[leveloffset=+2]
3030

31-
include::modules/cnf-best-practices-ephemeral-storage.adoc[leveloffset=+2]
31+
include::modules/k8s-best-practices-ephemeral-storage.adoc[leveloffset=+2]
3232

33-
include::modules/cnf-best-practices-local-storage.adoc[leveloffset=+2]
33+
include::modules/k8s-best-practices-local-storage.adoc[leveloffset=+2]
3434

35-
include::modules/cnf-best-practices-container-runtime.adoc[leveloffset=+2]
35+
include::modules/k8s-best-practices-container-runtime.adoc[leveloffset=+2]
3636

37-
include::modules/cnf-best-practices-cpu-manager-pinning.adoc[leveloffset=+2]
37+
include::modules/k8s-best-practices-cpu-manager-pinning.adoc[leveloffset=+2]
3838

39-
include::modules/cnf-best-practices-host-os.adoc[leveloffset=+2]
39+
include::modules/k8s-best-practices-host-os.adoc[leveloffset=+2]
4040

41-
include::modules/cnf-best-practices-ubi.adoc[leveloffset=+2]
41+
include::modules/k8s-best-practices-ubi.adoc[leveloffset=+2]
4242

43-
include::modules/cnf-best-practices-pod-security.adoc[leveloffset=+2]
43+
include::modules/k8s-best-practices-pod-security.adoc[leveloffset=+2]
4444

45-
include::modules/cnf-best-practices-ci-cd.adoc[leveloffset=+2]
45+
include::modules/k8s-best-practices-ci-cd.adoc[leveloffset=+2]
4646

47-
include::modules/cnf-best-practices-k8s-api-versions.adoc[leveloffset=+2]
47+
include::modules/k8s-best-practices-k8s-api-versions.adoc[leveloffset=+2]
4848

49-
include::modules/cnf-best-practices-ovn-kubernetes-cni.adoc[leveloffset=+2]
49+
include::modules/k8s-best-practices-ovn-kubernetes-cni.adoc[leveloffset=+2]
5050

51-
include::modules/cnf-best-practices-user-plane-functions.adoc[leveloffset=+2]
51+
include::modules/k8s-best-practices-user-plane-functions.adoc[leveloffset=+2]
5252

53-
include::modules/cnf-best-practices-hugepages.adoc[leveloffset=+3]
53+
include::modules/k8s-best-practices-hugepages.adoc[leveloffset=+3]
5454

55-
include::modules/cnf-best-practices-cpu-isolation.adoc[leveloffset=+3]
55+
include::modules/k8s-best-practices-cpu-isolation.adoc[leveloffset=+3]
5656

57-
include::modules/cnf-best-practices-topology-manager-and-numa-awareness.adoc[leveloffset=+3]
57+
include::modules/k8s-best-practices-topology-manager-and-numa-awareness.adoc[leveloffset=+3]
5858

59-
include::modules/cnf-best-practices-ipv4-ipv6.adoc[leveloffset=+3]
59+
include::modules/k8s-best-practices-ipv4-ipv6.adoc[leveloffset=+3]
6060

61-
include::modules/cnf-best-practices-vrfs-aka-routing-instances.adoc[leveloffset=+3]
61+
include::modules/k8s-best-practices-vrfs-aka-routing-instances.adoc[leveloffset=+3]
6262

63-
include::modules/cnf-best-practices-ports-reserved-by-openshift.adoc[leveloffset=+3]
63+
include::modules/k8s-best-practices-ports-reserved-by-openshift.adoc[leveloffset=+3]
6464

65-
include::modules/cnf-best-practices-user-plane-cnfs.adoc[leveloffset=+3]
65+
include::modules/k8s-best-practices-user-plane-cnfs.adoc[leveloffset=+3]
6666

67-
include::modules/cnf-best-practices-developer-guide.adoc[leveloffset=+1]
67+
include::modules/k8s-best-practices-developer-guide.adoc[leveloffset=+1]
6868

69-
include::modules/cnf-best-practices-refactoring.adoc[leveloffset=+2]
69+
include::modules/k8s-best-practices-refactoring.adoc[leveloffset=+2]
7070

71-
include::modules/cnf-best-practices-cnf-security.adoc[leveloffset=+2]
71+
include::modules/k8s-best-practices-cnf-security.adoc[leveloffset=+2]
7272

73-
include::modules/cnf-best-practices-avoid-accessing-resource-on-host.adoc[leveloffset=+3]
73+
include::modules/k8s-best-practices-avoid-accessing-resource-on-host.adoc[leveloffset=+3]
7474

75-
include::modules/cnf-best-practices-avoid-mounting-host-directories-as-volumes.adoc[leveloffset=+3]
75+
include::modules/k8s-best-practices-avoid-mounting-host-directories-as-volumes.adoc[leveloffset=+3]
7676

77-
include::modules/cnf-best-practices-avoid-the-host-network-namespace.adoc[leveloffset=+3]
77+
include::modules/k8s-best-practices-avoid-the-host-network-namespace.adoc[leveloffset=+3]
7878

79-
include::modules/cnf-best-practices-linux-capabilities.adoc[leveloffset=+2]
79+
include::modules/k8s-best-practices-linux-capabilities.adoc[leveloffset=+2]
8080

81-
include::modules/cnf-best-practices-openshift-operations.adoc[leveloffset=+2]
81+
include::modules/k8s-best-practices-openshift-operations.adoc[leveloffset=+2]
8282

83-
include::modules/cnf-best-practices-operations-that-can-not-be-executed-by-openshift.adoc[leveloffset=+2]
83+
include::modules/k8s-best-practices-operations-that-can-not-be-executed-by-openshift.adoc[leveloffset=+2]
8484

85-
include::modules/cnf-best-practices-analyzing-your-application.adoc[leveloffset=+2]
85+
include::modules/k8s-best-practices-analyzing-your-application.adoc[leveloffset=+2]
8686

87-
include::modules/cnf-best-practices-finding-the-capabilities-that-an-application-needs.adoc[leveloffset=+2]
87+
include::modules/k8s-best-practices-finding-the-capabilities-that-an-application-needs.adoc[leveloffset=+2]
8888

89-
include::modules/cnf-best-practices-cnf-securing-cnf-networks.adoc[leveloffset=+2]
89+
include::modules/k8s-best-practices-cnf-securing-cnf-networks.adoc[leveloffset=+2]
9090

91-
include::modules/cnf-best-practices-secrets-management.adoc[leveloffset=+3]
91+
include::modules/k8s-best-practices-secrets-management.adoc[leveloffset=+3]
9292

93-
include::modules/cnf-best-practices-scc-permissions-for-an-application.adoc[leveloffset=+3]
93+
include::modules/k8s-best-practices-scc-permissions-for-an-application.adoc[leveloffset=+3]
9494

95-
include::modules/cnf-best-practices-expectations-permissions.adoc[leveloffset=+2]
95+
include::modules/k8s-best-practices-expectations-permissions.adoc[leveloffset=+2]
9696

97-
include::modules/cnf-best-practices-cloud-native-design-best-practices.adoc[leveloffset=+3]
97+
include::modules/k8s-best-practices-cloud-native-design-best-practices.adoc[leveloffset=+3]
9898

99-
include::modules/cnf-best-practices-high-level-cnf-expectations.adoc[leveloffset=+4]
99+
include::modules/k8s-best-practices-high-level-cnf-expectations.adoc[leveloffset=+4]
100100

101-
include::modules/cnf-best-practices-pod-permissions.adoc[leveloffset=+4]
101+
include::modules/k8s-best-practices-pod-permissions.adoc[leveloffset=+4]
102102

103-
include::modules/cnf-best-practices-logging.adoc[leveloffset=+4]
103+
include::modules/k8s-best-practices-logging.adoc[leveloffset=+4]
104104

105-
include::modules/cnf-best-practices-monitoring.adoc[leveloffset=+4]
105+
include::modules/k8s-best-practices-monitoring.adoc[leveloffset=+4]
106106

107-
include::modules/cnf-best-practices-cpu-allocation.adoc[leveloffset=+4]
107+
include::modules/k8s-best-practices-cpu-allocation.adoc[leveloffset=+4]
108108

109-
include::modules/cnf-best-practices-memory-allocation.adoc[leveloffset=+4]
109+
include::modules/k8s-best-practices-memory-allocation.adoc[leveloffset=+4]
110110

111-
include::modules/cnf-best-practices-pods.adoc[leveloffset=+4]
111+
include::modules/k8s-best-practices-pods.adoc[leveloffset=+4]
112112

113-
include::modules/cnf-best-practices-pod-interaction-configuration.adoc[leveloffset=+5]
113+
include::modules/k8s-best-practices-pod-interaction-configuration.adoc[leveloffset=+5]
114114

115-
include::modules/cnf-best-practices-pod-exit-status.adoc[leveloffset=+5]
115+
include::modules/k8s-best-practices-pod-exit-status.adoc[leveloffset=+5]
116116

117-
include::modules/cnf-best-practices-graceful-termination.adoc[leveloffset=+5]
117+
include::modules/k8s-best-practices-graceful-termination.adoc[leveloffset=+5]
118118

119-
include::modules/cnf-best-practices-pod-resource-profiles.adoc[leveloffset=+5]
119+
include::modules/k8s-best-practices-pod-resource-profiles.adoc[leveloffset=+5]
120120

121-
include::modules/cnf-best-practices-storage-emptydir.adoc[leveloffset=+5]
121+
include::modules/k8s-best-practices-storage-emptydir.adoc[leveloffset=+5]
122122

123-
include::modules/cnf-best-practices-liveness-readiness-and-startup-probes.adoc[leveloffset=+5]
123+
include::modules/k8s-best-practices-liveness-readiness-and-startup-probes.adoc[leveloffset=+5]
124124

125-
include::modules/cnf-best-practices-affinity-anti-affinity.adoc[leveloffset=+5]
125+
include::modules/k8s-best-practices-affinity-anti-affinity.adoc[leveloffset=+5]
126126

127-
include::modules/cnf-best-practices-upgrade-expectations.adoc[leveloffset=+5]
127+
include::modules/k8s-best-practices-upgrade-expectations.adoc[leveloffset=+5]
128128

129-
include::modules/cnf-best-practices-taints-and-tolerations.adoc[leveloffset=+5]
129+
include::modules/k8s-best-practices-taints-and-tolerations.adoc[leveloffset=+5]
130130

131-
include::modules/cnf-best-practices-requests-limits.adoc[leveloffset=+5]
131+
include::modules/k8s-best-practices-requests-limits.adoc[leveloffset=+5]
132132

133-
include::modules/cnf-best-practices-use-imagepullpolicy-if-not-present.adoc[leveloffset=+5]
133+
include::modules/k8s-best-practices-use-imagepullpolicy-if-not-present.adoc[leveloffset=+5]
134134

135-
include::modules/cnf-best-practices-automount-services-for-pods.adoc[leveloffset=+5]
135+
include::modules/k8s-best-practices-automount-services-for-pods.adoc[leveloffset=+5]
136136

137-
include::modules/cnf-best-practices-disruption-budgets.adoc[leveloffset=+5]
137+
include::modules/k8s-best-practices-disruption-budgets.adoc[leveloffset=+5]
138138

139-
include::modules/cnf-best-practices-no-naked-pods.adoc[leveloffset=+5]
139+
include::modules/k8s-best-practices-no-naked-pods.adoc[leveloffset=+5]
140140

141-
include::modules/cnf-best-practices-image-tagging.adoc[leveloffset=+5]
141+
include::modules/k8s-best-practices-image-tagging.adoc[leveloffset=+5]
142142

143-
include::modules/cnf-best-practices-one-process-per-container.adoc[leveloffset=+5]
143+
include::modules/k8s-best-practices-one-process-per-container.adoc[leveloffset=+5]
144144

145-
include::modules/cnf-best-practices-init-containers.adoc[leveloffset=+5]
145+
include::modules/k8s-best-practices-init-containers.adoc[leveloffset=+5]
146146

147-
include::modules/cnf-best-practices-security-rbac.adoc[leveloffset=+4]
147+
include::modules/k8s-best-practices-security-rbac.adoc[leveloffset=+4]
148148

149-
include::modules/cnf-best-practices-custom-role-to-access-application-crds.adoc[leveloffset=+4]
149+
include::modules/k8s-best-practices-custom-role-to-access-application-crds.adoc[leveloffset=+4]
150150

151-
include::modules/cnf-best-practices-multus.adoc[leveloffset=+4]
151+
include::modules/k8s-best-practices-multus.adoc[leveloffset=+4]
152152

153-
include::modules/cnf-best-practices-multus-macvlan.adoc[leveloffset=+4]
153+
include::modules/k8s-best-practices-multus-macvlan.adoc[leveloffset=+4]
154154

155-
include::modules/cnf-best-practices-sr-iov-interface-settings.adoc[leveloffset=+4]
155+
include::modules/k8s-best-practices-sr-iov-interface-settings.adoc[leveloffset=+4]
156156

157-
include::modules/cnf-best-practices-attaching-the-vf-to-a-pod.adoc[leveloffset=+4]
157+
include::modules/k8s-best-practices-attaching-the-vf-to-a-pod.adoc[leveloffset=+4]
158158

159-
include::modules/cnf-best-practices-discovering-sr-iov-devices-properties-from-the-application.adoc[leveloffset=+4]
159+
include::modules/k8s-best-practices-discovering-sr-iov-devices-properties-from-the-application.adoc[leveloffset=+4]
160160

161-
include::modules/cnf-best-practices-numa-awareness.adoc[leveloffset=+4]
161+
include::modules/k8s-best-practices-numa-awareness.adoc[leveloffset=+4]
162162

163-
include::modules/cnf-best-practices-platform-upgrade.adoc[leveloffset=+4]
163+
include::modules/k8s-best-practices-platform-upgrade.adoc[leveloffset=+4]
164164

165-
include::modules/cnf-best-practices-openshift-virtualization-kubevirt.adoc[leveloffset=+4]
165+
include::modules/k8s-best-practices-openshift-virtualization-kubevirt.adoc[leveloffset=+4]
166166

167-
include::modules/cnf-best-practices-vm-image-import-recommendations-cdi.adoc[leveloffset=+5]
167+
include::modules/k8s-best-practices-vm-image-import-recommendations-cdi.adoc[leveloffset=+5]
168168

169-
include::modules/cnf-best-practices-working-with-large-vm-disk-images.adoc[leveloffset=+5]
169+
include::modules/k8s-best-practices-working-with-large-vm-disk-images.adoc[leveloffset=+5]
170170

171-
include::modules/cnf-best-practices-operator-best-practices.adoc[leveloffset=+4]
171+
include::modules/k8s-best-practices-operator-best-practices.adoc[leveloffset=+4]
172172

173-
include::modules/cnf-best-practices-cnf-operator-requirements.adoc[leveloffset=+5]
173+
include::modules/k8s-best-practices-cnf-operator-requirements.adoc[leveloffset=+5]
174174

175-
include::modules/cnf-best-practices-requirements-cnf-reqs.adoc[leveloffset=+2]
175+
include::modules/k8s-best-practices-requirements-cnf-reqs.adoc[leveloffset=+2]
176176

177-
include::modules/cnf-best-practices-copyright.adoc[leveloffset=+1]
177+
include::modules/k8s-best-practices-copyright.adoc[leveloffset=+1]

modules/k8s-best-practices-container-runtime.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ OpenShift uses CRI-O as a CRI interface for Kubernetes. CRI-O manages `runC` for
88
====
99
Images should be OCI compliant. Red Hat recommends that you build images using Red Hat's open Universal Base Image (UBI).
1010
11-
See <<cnf-best-practices-ubi>> for additional information about UBI and support.
11+
See <<k8s-best-practices-ubi>> for additional information about UBI and support.
1212
1313
See test case link:https://github.com/test-network-function/cnf-certification-test/blob/main/CATALOG.md#platform-alteration-isredhat-release[platform-alteration-isredhat-release]
1414
====

modules/k8s-best-practices-csi.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Pod volumes are supported via local storage and the CSI for persistent volumes. Local storage is truly ephemeral storage, it is local only to the physical node that a pod is running on and is lost when a pod is killed and recreated. If a pod requires persistent storage, the CSI can be used via Kubernetes native primitives `persistentVolume` (`PV`) and `persistentVolumeClaim` (`PVC`) to get persistent storage, such as an NFS share via the CSI backed by NetApp Trident.
55

6-
When using storage with Kubernetes, you can use storage classes. Refer to <<cnf-best-practices-block-storage>> for a description of the available storage classes. Using storage classes, you can create volumes based on the parameters of the required storage.
6+
When using storage with Kubernetes, you can use storage classes. Refer to <<k8s-best-practices-block-storage>> for a description of the available storage classes. Using storage classes, you can create volumes based on the parameters of the required storage.
77

88
Workloads should clear persistent storage by deleting the associated `PV` resources when removing the application from a cluster.
99

modules/k8s-best-practices-developer-guide.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33

44
This section discusses recommendations and requirements for workload application builders.
55

6-
[id="cnf-best-practices-preface"]
6+
[id="k8s-best-practices-preface"]
77
== Preface
88

99
Cloud-native workload applications are containerized instances of classic physical or virtual applications which have been decomposed into microservices supporting elasticity, lifecycle management, security, logging, and other capabilities in a Cloud-Native format.
1010

11-
[id="cnf-best-practices-goal"]
11+
[id="k8s-best-practices-goal"]
1212
== Goal
1313

1414
This document is mainly for the developers of workloads, who need to build high-performance applications in a containerized environment. We have created a guide that any partner can take and follow when developing their workloads so that they can be deployed on the OpenShift Container Platform (OCP) in a secure, efficient and supportable way.
1515

16-
[id="cnf-best-practices-non-goal"]
16+
[id="k8s-best-practices-non-goal"]
1717
== Non-goal
1818

1919
This is not a guide on how to build workload functionality.

modules/k8s-best-practices-numa-awareness.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33

44
If the pod is using a guaranteed QoS class and the kubelet is configured with a suitable topology manager policy (restricted, single-numa node) then the VF assigned to the pod will belong to the same NUMA node as the other assigned resources (CPU and other NUMA aware devices). Please note that HugePages are currently not NUMA aware.
55

6-
See <<cnf-best-practices-performance-addon-operator-pao>> for NUMA awareness and more information about how HugePages are turned on.
6+
See <<k8s-best-practices-performance-addon-operator-pao>> for NUMA awareness and more information about how HugePages are turned on.
77

modules/k8s-best-practices-openshift-operations.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ The application should not require `NET_ADMIN` capability to perform the followi
1717

1818
* All the links should be set up before attaching it to a pod.
1919

20-
[id="cnf-best-practices-ip/mac-address-assignment"]
20+
[id="k8s-best-practices-ip/mac-address-assignment"]
2121
== Assigning IP/MAC addresses
2222

2323
* For all the networks, the IP/MAC address should be assigned to the interface during pod creation.
2424

2525
* MULTUS also allows users to override the IP/MAC address. Refer to link:https://docs.openshift.com/container-platform/latest/networking/multiple_networks/attaching-pod.html[Attaching a pod to an additional network] for more information.
2626

27-
[id="cnf-best-practices-manipulate-pod’s-route-table"]
27+
[id="k8s-best-practices-manipulate-pod’s-route-table"]
2828
== Manipulating pod route tables
2929

3030
* By default, the default route of the pod will point to the cluster network, with or without the additional networks. MULTUS also allows users to override the default route of the pod. Refer to link:https://docs.openshift.com/container-platform/latest/networking/multiple_networks/attaching-pod.html[Attaching a pod to an additional network] for more information.
@@ -44,7 +44,7 @@ The SR-IOV Network Operator also supports configuring the following parameters f
4444
* `spoofChk`
4545
* `trust`
4646

47-
[id="cnf-best-practices-multicast"]
47+
[id="k8s-best-practices-multicast"]
4848
== Configuring multicast
4949

5050
In OpenShift, multicast is supported for both the default interface (OVN or OpenShift-SDN) and the additional interfaces such as macvlan, SR-IOV, etc. Multicast is disabled by default. To enable it, refer to the following procedures:

modules/k8s-best-practices-requirements-cnf-reqs.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ Red Hat UBI images are the preferred images to build VNFs on as they will levera
113113
+
114114
Red Hat UBI images are free to vendors so there is a low barrier of entry to getting started.
115115

116-
[id="cnf-best-practices-application-dns-configuration-requirements"]
116+
[id="k8s-best-practices-application-dns-configuration-requirements"]
117117
== Application DNS configuration requirements
118118

119119
Workloads should use the service name only as a configuration parameter for attaching to a service within your namespace, the cluster will append namespace name and kubernetes service nomenclature on behalf of the application via search string in DNS. This allows a generic name for a service that works in all clusters no matter what the namespace name is and what the cluster base FQDN is.

0 commit comments

Comments
 (0)