New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Determine what happens to the "kubectl convert" functionality #725
Comments
/sig cli |
@seans3: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @soltysh |
I think some of this going to come down on jordan, myself, and Daniel agreeing on the role of staging. I see it as a way to organize our components and some aspects of it are valid to depend upon (client-go and api for instance) and others makes less sense (a kube-controller-manager or kube-apiserver). I think building a separate command that lives near our internal APIs make sense and I'd rather do that that coerce it into a kube-apiserver subcommand. Doing that would give a cleaner example to others trying to build a similar thing (think of the position cert-manager is in today). |
Discussed this in the code organization call yesterday. The (note that this differs from the |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/reopen |
@soltysh: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Even if we'll have to install something extra, glad to see this command will remain available and without making a request to the API service (right?) |
/priority important-soon |
just curious, why is |
|
The deprecation plan is to create |
Hey guys, where can I find the convert plugin ? |
@angadrandhawa I don't know where the binary is, but you can build from the source code:
|
I'm missing the kubectl convert feature, cannot find a plugin or binary. I need it to upgrade from 1.15. The command above does not work anymore. Please advise. |
Yeah, apologies for that we missed that bit in the last release, there will be binaries available in the upcoming 1.21 version and I'm planning to include them in the krew for ease of use. |
In Konveyor Move2Kube we had added the conversion capability for kubernetes yamls. After installing move2kube If you would want to get the versions in a specific cluster, set it in context for your This could be a stop gap solution till kubectl convert is released in 1.21 as @soltysh has mentioned. Hope it helps. |
I'm running
...and I can't use this command. I'm confused, how do I use this? I have no clue yet how I migrate my deployments from I also tried installing it from source, but got this error:
|
I also have the same error as @mikaelkundert on $ go get -v k8s.io/kubernetes/cmd/kubectl-convert
get "k8s.io/api": found meta tag vcs.metaImport{Prefix:"k8s.io/api", VCS:"git", RepoRoot:"https://github.com/kubernetes/api"} at //k8s.io/api?go-get=1
get "k8s.io/kube-controller-manager": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-controller-manager", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-controller-manager"} at //k8s.io/kube-controller-manager?go-get=1
get "k8s.io/cri-api": found meta tag vcs.metaImport{Prefix:"k8s.io/cri-api", VCS:"git", RepoRoot:"https://github.com/kubernetes/cri-api"} at //k8s.io/cri-api?go-get=1
get "k8s.io/sample-apiserver": found meta tag vcs.metaImport{Prefix:"k8s.io/sample-apiserver", VCS:"git", RepoRoot:"https://github.com/kubernetes/sample-apiserver"} at //k8s.io/sample-apiserver?go-get=1
get "k8s.io/metrics": found meta tag vcs.metaImport{Prefix:"k8s.io/metrics", VCS:"git", RepoRoot:"https://github.com/kubernetes/metrics"} at //k8s.io/metrics?go-get=1
get "k8s.io/component-base": found meta tag vcs.metaImport{Prefix:"k8s.io/component-base", VCS:"git", RepoRoot:"https://github.com/kubernetes/component-base"} at //k8s.io/component-base?go-get=1
get "k8s.io/client-go": found meta tag vcs.metaImport{Prefix:"k8s.io/client-go", VCS:"git", RepoRoot:"https://github.com/kubernetes/client-go"} at //k8s.io/client-go?go-get=1
get "k8s.io/csi-translation-lib": found meta tag vcs.metaImport{Prefix:"k8s.io/csi-translation-lib", VCS:"git", RepoRoot:"https://github.com/kubernetes/csi-translation-lib"} at //k8s.io/csi-translation-lib?go-get=1
get "k8s.io/component-helpers": found meta tag vcs.metaImport{Prefix:"k8s.io/component-helpers", VCS:"git", RepoRoot:"https://github.com/kubernetes/component-helpers"} at //k8s.io/component-helpers?go-get=1
get "k8s.io/apimachinery": found meta tag vcs.metaImport{Prefix:"k8s.io/apimachinery", VCS:"git", RepoRoot:"https://github.com/kubernetes/apimachinery"} at //k8s.io/apimachinery?go-get=1
get "k8s.io/kube-proxy": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-proxy", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-proxy"} at //k8s.io/kube-proxy?go-get=1
get "k8s.io/legacy-cloud-providers": found meta tag vcs.metaImport{Prefix:"k8s.io/legacy-cloud-providers", VCS:"git", RepoRoot:"https://github.com/kubernetes/legacy-cloud-providers"} at //k8s.io/legacy-cloud-providers?go-get=1
get "k8s.io/kube-aggregator": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-aggregator", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-aggregator"} at //k8s.io/kube-aggregator?go-get=1
get "k8s.io/apiextensions-apiserver": found meta tag vcs.metaImport{Prefix:"k8s.io/apiextensions-apiserver", VCS:"git", RepoRoot:"https://github.com/kubernetes/apiextensions-apiserver"} at //k8s.io/apiextensions-apiserver?go-get=1
get "k8s.io/kubelet": found meta tag vcs.metaImport{Prefix:"k8s.io/kubelet", VCS:"git", RepoRoot:"https://github.com/kubernetes/kubelet"} at //k8s.io/kubelet?go-get=1
get "k8s.io/controller-manager": found meta tag vcs.metaImport{Prefix:"k8s.io/controller-manager", VCS:"git", RepoRoot:"https://github.com/kubernetes/controller-manager"} at //k8s.io/controller-manager?go-get=1
get "k8s.io/kube-scheduler": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-scheduler", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-scheduler"} at //k8s.io/kube-scheduler?go-get=1
get "k8s.io/apiserver": found meta tag vcs.metaImport{Prefix:"k8s.io/apiserver", VCS:"git", RepoRoot:"https://github.com/kubernetes/apiserver"} at //k8s.io/apiserver?go-get=1
get "k8s.io/kubectl": found meta tag vcs.metaImport{Prefix:"k8s.io/kubectl", VCS:"git", RepoRoot:"https://github.com/kubernetes/kubectl"} at //k8s.io/kubectl?go-get=1
get "k8s.io/cli-runtime": found meta tag vcs.metaImport{Prefix:"k8s.io/cli-runtime", VCS:"git", RepoRoot:"https://github.com/kubernetes/cli-runtime"} at //k8s.io/cli-runtime?go-get=1
get "k8s.io/cluster-bootstrap": found meta tag vcs.metaImport{Prefix:"k8s.io/cluster-bootstrap", VCS:"git", RepoRoot:"https://github.com/kubernetes/cluster-bootstrap"} at //k8s.io/cluster-bootstrap?go-get=1
get "k8s.io/mount-utils": found meta tag vcs.metaImport{Prefix:"k8s.io/mount-utils", VCS:"git", RepoRoot:"https://github.com/kubernetes/mount-utils"} at //k8s.io/mount-utils?go-get=1
get "k8s.io/cloud-provider": found meta tag vcs.metaImport{Prefix:"k8s.io/cloud-provider", VCS:"git", RepoRoot:"https://github.com/kubernetes/cloud-provider"} at //k8s.io/cloud-provider?go-get=1
get "k8s.io/code-generator": found meta tag vcs.metaImport{Prefix:"k8s.io/code-generator", VCS:"git", RepoRoot:"https://github.com/kubernetes/code-generator"} at //k8s.io/code-generator?go-get=1
go get: k8s.io/kubernetes@v1.15.0-alpha.0 updating to
k8s.io/kubernetes@v1.21.2 requires
k8s.io/api@v0.0.0: reading k8s.io/api/go.mod at revision v0.0.0: unknown revision v0.0.0 |
kubectl convert is deprecated
The initial
kubectl convert
deprecation was announced prior to release 1.13. Following the Kubernetes deprecation policy, thiskubectl
subcommand is now eligible to be removed in release 1.17. The following are options for next steps as thisconvert
functionality is removed fromkubectl
. If you have an opinion, please add comments to this issue so that we can quickly drive consensus and make a decision on which option we will pursue.Convert as a Plugin
We could move the
kubectl convert
code into a plugin namedkubectl-convert
. The invocation of the plugin would mimic the current command:kubectl convert
.kubectl-convert
will ensurekubectl
users can type the same command:kubectl convert
.Convert as a Binary
Convert into the API Server
Drop convert functionality
kubectl convert
subcommand code.The text was updated successfully, but these errors were encountered: