Definitely calico v3.6.x or even little bit earlier v3 branch versions are targeting for a newer kubernetes version.
I'm almost sure that most of the cluster owners are running kubernetes of v1.9+
Is it possible to have your generating manifests to have stable resources version for RBAC, Deployments and Daemonset?
Excerpts from calico.yaml for standalone etcd cluster.
---
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
name: calico-node
namespace: kube-system
labels:
k8s-app: calico-node
spec:
selector:
matchLabels:
k8s-app: calico-node
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: calico-kube-controllers
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: calico-kube-controllers
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: calico-kube-controllers
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: calico-node
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: calico-node
Fine, DaemonSet and Deployment both are from extensions/v1beta1 but why Deployment is missing selector?
Here are some references to k8s api resource graduation:
DaemonSet, Deployment, ReplicaSet - are stable since kubernetes v1.9 and are in apps/v1
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md#apps
rbac.authorization.k8s.io API group is GA and v1 since kubernetes v1.8
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#sig-auth
Just it is really frustrating to constantly review your templates before application in my clusters.
I'm really sorry if I'm not tolerant enough. But I think as many projects have already updated their definitions, Calico can benefit from this too.
same about "cniVersion": "0.3.0", in CNI plugin configuration which is 0.3.1 for quite a long time
https://github.com/containernetworking/cni/blob/master/SPEC.md
https://github.com/containernetworking/cni/blob/master/Documentation/spec-upgrades.md
https://github.com/containernetworking/cni/blob/spec-v0.3.1/SPEC.md
Yes, we should absolutely do this.
We've held off for a while to make sure we give people enough time to update to versions of k8s with the stable APIs, but I think we've waited long enough!
Most helpful comment
Yes, we should absolutely do this.
We've held off for a while to make sure we give people enough time to update to versions of k8s with the stable APIs, but I think we've waited long enough!