Argo: apps/v1beta2 is deprecated in k8s 1.16, should use apps/v1 instead

Created on 4 Feb 2020  路  14Comments  路  Source: argoproj/argo

Checklist:

  • [x] I've included the version.
  • [x] I've included reproduction steps.
  • [ ] I've included the workflow YAML.
  • [ ] I've included the logs.

What happened:

Trying to install argo according to the "Getting Started" documentation I get the following when trying to run command:

$ kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/v2.2.1/manifests/install.yaml

customresourcedefinition.apiextensions.k8s.io/workflows.argoproj.io unchanged
serviceaccount/argo unchanged
serviceaccount/argo-ui unchanged
clusterrole.rbac.authorization.k8s.io/argo-aggregate-to-admin unchanged
clusterrole.rbac.authorization.k8s.io/argo-aggregate-to-edit unchanged
clusterrole.rbac.authorization.k8s.io/argo-aggregate-to-view unchanged
clusterrole.rbac.authorization.k8s.io/argo-cluster-role unchanged
clusterrole.rbac.authorization.k8s.io/argo-ui-cluster-role unchanged
clusterrolebinding.rbac.authorization.k8s.io/argo-binding unchanged
clusterrolebinding.rbac.authorization.k8s.io/argo-ui-binding unchanged
configmap/workflow-controller-configmap unchanged
service/argo-ui unchanged
unable to recognize "https://raw.githubusercontent.com/argoproj/argo/v2.2.1/manifests/install.yaml": no matches for kind "Deployment" in version "apps/v1beta2"
unable to recognize "https://raw.githubusercontent.com/argoproj/argo/v2.2.1/manifests/install.yaml": no matches for kind "Deployment" in version "apps/v1beta2"

What you expected to happen:

I'd expect the instructions under "Getting Started" to work without errors.

According to this post API version 1.16 no longer supports apps/v1beta2 and it should be replaced with apps/v1.

How to reproduce it (as minimally and precisely as possible):

Install minikube locally and run:

kubectl create ns argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/v2.2.1/manifests/install.yaml

Anything else we need to know?:

Environment:

  • Argo version:
argo: v2.2.1
  BuildDate: 2018-10-11T16:26:28Z
  GitCommit: 3b52b26190163d1f72f3aef1a39f9f291378dafb
  GitTreeState: clean
  GitTag: v2.2.1
  GoVersion: go1.10.3
  Compiler: gc
  Platform: linux/amd64
  • Kubernetes version :
clientVersion:
  buildDate: "2020-01-18T23:30:10Z"
  compiler: gc
  gitCommit: 59603c6e503c87169aea6106f57b9f242f64df89
  gitTreeState: clean
  gitVersion: v1.17.2
  goVersion: go1.13.5
  major: "1"
  minor: "17"
  platform: linux/amd64
serverVersion:
  buildDate: "2019-10-15T19:09:08Z"
  compiler: gc
  gitCommit: c97fe5036ef3df2967d086711e6c0c405941e14b
  gitTreeState: clean
  gitVersion: v1.16.2
  goVersion: go1.12.10
  major: "1"
  minor: "16"
  platform: linux/amd64
epitech-debt good first issue help wanted

Most helpful comment

Also apiextensions.k8s.io/v1beta1 was deprecated in 1.16 in favor of v1 (though it still works til 1.19, so less of an issue):

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition

All 14 comments

Also apiextensions.k8s.io/v1beta1 was deprecated in 1.16 in favor of v1 (though it still works til 1.19, so less of an issue):

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition

This should be a case of search-and-replace on the manifests? If I'm right - would you like to submit a PR?

I was checking if I can fix this one being new to k8s, argo, and Go. I replaced the strings in https://github.com/argoproj/argo/blob/master/manifests/base/crds/workflow-crd.yaml
from apiVersion: apiextensions.k8s.io/v1beta1 to apiVersion: apiextensions.k8s.io/v1 and ran make verify-manifests. The make file errors without a clear error, just

Makefile:224: recipe for target 'verify-manifests' failed
make: *** [verify-manifests] Error 1

How can I figure out what errors? (Also make build errors on my system, not sure if that is required?)

This should be a case of search-and-replace on the manifests? If I'm right - would you like to submit a PR?

I can confirm that the Deployment definitions apiVersion can simply be replaced with apps/v1 to solve the issue. I haven't tried anything in regards to apiextensions.

Should we wait for it all to be solved or would you like me to make a PR with the changes to https://raw.githubusercontent.com/argoproj/argo/v2.2.1/manifests/install.yaml alone?

Yeah, sorry I should have just made a separate ticket. What I mentioned is MUCH lower priority. IMO don't worry about the CRDs.

@iMoses it'd be awesome if you submit a PR. v2.2 is rather old now and I don't believe we'd back-port changes to that.

Is this resolved? Otherwise I would be happy to fix it @alexec

Please. Anything labelled with "help wanted" and "good first issue" are great to look at.

We now need to fix this.

I will make a PR later today, then to get it up to date :)

As far as I can see master is up to date when it comes to all the deployment resources. And you also mentioned earlier @alexec that back-porting to version not is necessary for version 2.2, should we back port some other versions? Am I missing something?

Thank you @NikeNano

I don't think we need to back-port - people really ought to be running the most recent stable version. If it is only older versions - then we can close this.

I think this is done now. Please re-open if still an issue.

Was this page helpful?
0 / 5 - 0 ratings