Upversion kubernetes config files to 1.16

Refer to:
https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16

DaemonSet changes from extensions/v1beta to apps/v1
Deployment changes from extensions/v1beta to apps/v1
selector fields must match label fields.

helm init is not k8s 1.16 compatable, so a sed command is
required to convert it until tiller has a fix for:
https://github.com/helm/helm/issues/6374

In k8s 1.16 the scheduler.alpha.kubernetes.io/critical-pod
annotation is removed. Pod priority (spec.priorityClassName)
should be used instead to mark pods as critical.

cniVersion changed from 0.3.0 to 0.3.1
cniVersion is a required field for multus-cni-config.

multus image was built from kube-1.16-change branch at:
https://github.com/intel/multus-cni.

Change-Id: I3f29407652d2b017276e7a50e10a003d5b6292da
Story: 2005860
Task: 36705
Depends-On: https://review.opendev.org/#/c/684351
Signed-off-by: Al Bailey <Al.Bailey@windriver.com>
This commit is contained in:
Al Bailey
2019-09-17 13:04:44 -05:00
committed by Al Bailey
parent 285c8d4bc1
commit 2b049882fb
5 changed files with 68 additions and 26 deletions

View File

@@ -47,7 +47,7 @@ data:
cni_network_config: |-
{
"name": "k8s-pod-network",
"cniVersion": "0.3.0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "calico",
@@ -490,7 +490,7 @@ subjects:
# - The cnibin volume hostPath is made variable
# - The UPDATE_CNI_BINARIES environment variable is set to 'false'
kind: DaemonSet
apiVersion: extensions/v1beta1
apiVersion: apps/v1
metadata:
name: calico-node
namespace: kube-system
@@ -508,13 +508,8 @@ spec:
metadata:
labels:
k8s-app: calico-node
annotations:
# This, along with the CriticalAddonsOnly toleration below,
# marks the pod as a critical add-on, ensuring it gets
# priority scheduling and that its resources are reserved
# if it ever gets evicted.
scheduler.alpha.kubernetes.io/critical-pod: ''
spec:
priorityClassName: system-node-critical
nodeSelector:
beta.kubernetes.io/os: linux
hostNetwork: true
@@ -771,18 +766,19 @@ metadata:
# Source: calico/templates/calico-kube-controllers.yaml
# This manifest deploys the Calico node controller.
# See https://github.com/projectcalico/kube-controllers
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: calico-kube-controllers
namespace: kube-system
labels:
k8s-app: calico-kube-controllers
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
spec:
# The controller can only have a single active instance.
replicas: 1
selector:
matchLabels:
k8s-app: calico-kube-controllers
strategy:
type: Recreate
template:
@@ -792,6 +788,7 @@ spec:
labels:
k8s-app: calico-kube-controllers
spec:
priorityClassName: system-node-critical
nodeSelector:
beta.kubernetes.io/os: linux
tolerations:

View File

@@ -85,16 +85,17 @@ data:
{
"name": "multus-cni-network",
"type": "multus",
"cniVersion": "0.3.1",
"capabilities": {
"portMappings": true
},
"delegates": [
{
"cniVersion": "0.3.0",
"cniVersion": "0.3.1",
"name": "chain",
"plugins": [
{
"cniVersion": "0.3.0",
"cniVersion": "0.3.1",
"name": "k8s-pod-network",
"type": "calico",
"masterplugin": true,
@@ -134,7 +135,7 @@ data:
"kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig"
}
---
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: kube-multus-ds-amd64
@@ -142,16 +143,21 @@ metadata:
labels:
tier: node
app: multus
name: multus
spec:
selector:
matchLabels:
name: multus
template:
metadata:
labels:
tier: node
app: multus
name: multus
spec:
hostNetwork: true
nodeSelector:
beta.kubernetes.io/arch: amd64
kubernetes.io/arch: amd64
tolerations:
- operator: Exists
effect: NoSchedule
@@ -160,7 +166,7 @@ spec:
- name: docker-registry-secret
containers:
- name: kube-multus
image: "{{ docker_registry.url }}/nfvpe/multus:v3.2"
image: "{{ docker_registry.url }}/starlingx/multus:v3.2.16"
env:
- name: KUBERNETES_NODE_NAME
valueFrom:

View File

@@ -7,7 +7,7 @@
# - The daemonset is modified to tolerate all NoSchedule taints
# - The cnibin volume hostPath is made variable
---
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: kube-sriov-cni-ds-amd64
@@ -16,6 +16,10 @@ metadata:
tier: node
app: sriov-cni
spec:
selector:
matchLabels:
tier: node
app: sriov-cni
template:
metadata:
labels:

View File

@@ -16,7 +16,7 @@ metadata:
namespace: kube-system
---
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: kube-sriov-device-plugin-amd64
@@ -25,6 +25,10 @@ metadata:
tier: node
app: sriovdp
spec:
selector:
matchLabels:
tier: node
app: sriovdp
template:
metadata:
labels: