argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
18.01k stars 5.49k forks source link

`no kind "ExecCredential" is registered` when adding EKS cluster #13557

Open ravindraprasad85 opened 1 year ago

ravindraprasad85 commented 1 year ago

I am trying to add external cluster but its not getting added , My request and suggestion is to add the feature where we can add external clusters using UI or through helm charts (values.yaml)

Appreciate the consideration of this request

ravindraprasad85 commented 1 year ago

Command-1:

argocd cluster add arn:aws:eks:us-east-1:**xxxxxxxxxxxxxx**:cluster/tcs-dev-perf-east1-us --in-cluster --namespace ccid-argo-cd WARNING: This will create a service accountargocd-manageron the cluster referenced by contextarn:aws:eks:us-east-1:xxxxxxxxxx:cluster/tcs-dev-perf-east1-us` with full namespace level privileges. Do you want to continue [y/N]? y

FATA[0004] Failed to create service account "argocd-manager" in namespace "kube-system": Post "https://xxxxxxxxxxxxxxxxxxxx.gr7.us-east-1.eks.amazonaws.com/api/v1/namespaces/kube-system/serviceaccounts": getting credentials: decoding stdout: no kind "ExecCredential" is registered for version "client.authentication.k8s.io/v1alpha1" in scheme "pkg/runtime/scheme.go:100"`

Command-2: argocd cluster add arn:aws:eks:us-east-1:xxxxxxxxxx:cluster/tcs-dev-perf-east1-us --in-cluster --namespace ccid-argo-cd WARNING: This will create a service account argocd-manager on the cluster referenced by context arn:aws:eks:us-east-1:xxxxxxxx:cluster/tcs-dev-perf-east1-us with full namespace level privileges. Do you want to continue [y/N]? y

FATA[0002] Failed to create service account "argocd-manager" in namespace "kube-system": Post "https://xxxxxxxxxxxxxxxx.gr7.us-east-1.eks.amazonaws.com/api/v1/namespaces/kube-system/serviceaccounts": getting credentials: decoding stdout: no kind "ExecCredential" is registered for version "client.authentication.k8s.io/v1alpha1" in scheme "pkg/runtime/scheme.go:100"

Steps followed: i have modified .kuber/config (from v1alpha1 to v1beta1 but no luck)

kubectl version Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:49:13Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"darwin/amd64"} Unable to connect to the server: getting credentials: exec plugin is configured to use API version client.authentication.k8s.io/v1beta1, plugin returned version client.authentication.k8s.io/v1alpha1

todaywasawesome commented 1 year ago

@ravindraprasad85 You can add clusters directly by creating a secret with the relevant information. See declarative setup https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters

We won't add cluster creation to the UI because we need access to a kubeconfig to do it and the declarative option already works well for those that want to handle it manually.

Don't get me wrong, if you make a PR for it, maybe we could get it merged but I think not going to get any attention from maintainers. Closing issue, feel free to reopen if you think I missed something.

Nithya2505 commented 1 year ago

I'm using eks fargate 1.26 version and argocd version as 2.7.6. I'm receiving the same error.

argocd cluster add $CONTEXT_NAME

WARNING: This will create a service account argocd-manager on the cluster referenced by context arn:aws:eks:us-west-2:878252606197:cluster/cluster-name with full cluster level privileges. Do you want to continue [y/N]? y FATA[0007] Failed to create service account "argocd-manager" in namespace "kube-system": Post "https://XXXXXXXXXXXXXXXXXXXX.xxx.us-west-2.eks.amazonaws.com/api/v1/namespaces/kube-system/serviceaccounts": getting credentials: decoding stdout: no kind "ExecCredential" is registered for version "client.authentication.k8s.io/v1alpha1" in scheme "pkg/runtime/scheme.go:100"

Nithya2505 commented 1 year ago

Is there anything I need to change with argocd version

crenshaw-dev commented 1 year ago

Re-titling and re-opening to track the error message rather than the UI enhancement request.

salwell commented 11 months ago

I'm using eks fargate 1.29 version and argocd version as 2.7.14. I hava a same error.

ubuntu@ie-uat-ec2-cicd-01:~/k8s/argocd$ kubectl config view -o jsonpath='{.current-context}' arn:aws:eks:eu-west-1:108985076236:cluster/ie-uat-eks-cluster-01ubuntu@ie-uat-ec2-cicd-01:~/k8s/argocd$ ubuntu@ie-uat-ec2-cicd-01:~/k8s/argocd$ argocd cluster add arn:aws:eks:eu-west-1:108985076236:cluster/ie-uat-eks-cluster-01 FATA[0000] exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" ubuntu@ie-uat-ec2-cicd-01:~/k8s/argocd$ CONTEXT_NAME=kubectl config view -o jsonpath='{.current-context}' ubuntu@ie-uat-ec2-cicd-01:~/k8s/argocd$ echo $CONTEXT_NAME arn:aws:eks:eu-west-1:108985076236:cluster/ie-uat-eks-cluster-01 ubuntu@ie-uat-ec2-cicd-01:~/k8s/argocd$ argocd cluster add $CONTEXT_NAME FATA[0000] exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"