Upgrade ovn-kubernetes CNI to latest release
[iec.git] / src / foundation / scripts / cni / ovn-kubernetes / templates / ovn-setup.yaml.j2
1 ---
2 # ovn-namespace.yaml
3 #
4 # Setup for Kubernetes to support the ovn-kubernetes plugin
5 #
6 # Create the namespace for ovn-kubernetes.
7 #
8 # This provisioning is done as part of installation after the cluster is
9 # up and before the ovn daemonsets are created.
10
11 apiVersion: v1
12 kind: Namespace
13 metadata:
14   name: ovn-kubernetes
15
16 ---
17 # ovn-policy.yaml
18 #
19 # Setup for Kubernetes to support the ovn-kubernetes plugin
20 #
21 # Create the service account and policies.
22 # ovnkube interacts with kubernetes and the environment
23 # must be properly set up.
24
25 # This provisioning is done as part of installation after the cluster is
26 # up and before the ovn daemonsets are created.
27
28 apiVersion: v1
29 kind: ServiceAccount
30 metadata:
31   name: ovn
32   namespace: ovn-kubernetes
33
34 ---
35 # for now throw in all the privileges to run a pod. we can fine grain it further later.
36
37 apiVersion: policy/v1beta1
38 kind: PodSecurityPolicy
39 metadata:
40   name: ovn-kubernetes
41   annotations:
42     seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
43 spec:
44   allowPrivilegeEscalation: true
45   allowedCapabilities:
46   - '*'
47   fsGroup:
48     rule: RunAsAny
49   privileged: true
50   runAsUser:
51     rule: RunAsAny
52   seLinux:
53     rule: RunAsAny
54   supplementalGroups:
55     rule: RunAsAny
56   volumes:
57   - '*'
58   hostPID: true
59   hostIPC: true
60   hostNetwork: true
61   hostPorts:
62   - min: 0
63     max: 65536
64
65 ---
66 apiVersion: rbac.authorization.k8s.io/v1
67 kind: ClusterRole
68 metadata:
69   name: ovn-kubernetes
70 rules:
71 - apiGroups:
72   - ""
73   resources:
74   - pods
75   - namespaces
76   - nodes
77   - endpoints
78   - services
79   - configmaps
80   verbs: ["get", "list", "watch"]
81 - apiGroups:
82   - extensions
83   - networking.k8s.io
84   - apps
85   resources:
86   - networkpolicies
87   - statefulsets
88   verbs: ["get", "list", "watch"]
89 - apiGroups:
90   - ""
91   resources:
92   - events
93   - endpoints
94   - configmaps
95   verbs: ["create", "patch", "update"]
96 - apiGroups:
97   - ""
98   resources:
99   - nodes
100   - pods
101   verbs: ["patch", "update"]
102 - apiGroups:
103   - extensions
104   - policy
105   resources:
106   - podsecuritypolicies
107   resourceNames:
108   - ovn-kubernetes
109   verbs: ["use"]
110
111 ---
112 apiVersion: rbac.authorization.k8s.io/v1
113 kind: ClusterRoleBinding
114 metadata:
115   name: ovn-kubernetes
116 roleRef:
117   name: ovn-kubernetes
118   kind: ClusterRole
119   apiGroup: rbac.authorization.k8s.io
120 subjects:
121 - kind: ServiceAccount
122   name: ovn
123   namespace: ovn-kubernetes
124
125 ---
126 # The network cidr and service cidr are set in the ovn-config configmap
127 kind: ConfigMap
128 apiVersion: v1
129 metadata:
130   name: ovn-config
131   namespace: ovn-kubernetes
132 data:
133   net_cidr:      "{{ net_cidr }}"
134   svc_cidr:      "{{ svc_cidr }}"
135   k8s_apiserver: "{{ k8s_apiserver }}"
136   mtu:           "{{ mtu_value }}"