kubectl versions Error: exec plugin is configured to use API version client.authentication.k8s.io/v1alpha1
kubectl versions Error: exec plugin is configured to use API version client.authentication.k8s.io/v1alpha1
我正在为我的 eks 环境设置新的 Mac。
安装 kubectl 后,aws-iam-authenticator 和 kubeconfig 文件放置在默认位置。我 运行 命令 kubectl 命令并在命令块中得到下面提到的这个错误。
我的集群使用 v1alpha1 客户端验证 api 版本所以基本上我想在我的 Mac 中使用相同的版本。
我也尝试了最新版本(1.23.0)的kubectl,还是一样的错误。而当我尝试使用 aws-iam-authenticator(版本 0.5.5)时,我无法下载较低版本。
有人可以帮我解决吗?
% kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", 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/v1alpha1, plugin returned version client.authentication.k8s.io/v1beta1
感谢和问候,
萨拉瓦纳
我有同样的问题
您正在使用 aws-iam-authenticator
0.5.5
,AWS 更改了它在 0.5.4
中的行为方式以要求 v1beta1
。
这取决于您的配置,但您可以尝试将您正在使用的 K8s 上下文更改为 v1beta1
通过检查你的 kubeconfig 文件(通常在 ~/.kube/config
中)从 client.authentication.k8s.io/v1alpha1
到 client.authentication.k8s.io/v1beta1
否则切换回 aws-iam-authenticator
0.5.3
- 如果您使用 M1 架构,您可能需要从源代码构建它,因为没有为它构建的 darwin-arm64
二进制文件
这对我使用 M1 芯片很有效
sed -i .bak -e 's/v1alpha1/v1beta1/' ~/.kube/config
我还通过更新我的 kube 配置文件 (~/.kube/config
) 中的 apiVersion
值解决了这个问题。
client.authentication.k8s.io/v1alpha1
到 client.authentication.k8s.io/v1beta1
我用下面的命令解决了这个问题
aws eks update-kubeconfig --name mycluster
这可能有助于解决那些使用 GitHub 操作的人的问题。
对于我的情况,我使用 kodermax/kubectl-aws-eks
和 GitHub 操作。
我使用 kodermax/kubectl-aws-eks
为每个步骤添加了 KUBECTL_VERSION
和 IAM_VERSION
环境变量,以将它们保持在固定版本中。
- name: deploy to cluster
uses: kodermax/kubectl-aws-eks@master
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA_STAGING }}
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: my-app
IMAGE_TAG: ${{ github.sha }
KUBECTL_VERSION: "v1.23.6"
IAM_VERSION: "0.5.3"
使用 kubectl 1.21.9 为我修复了它,使用 asdf:
asdf plugin-add kubectl https://github.com/asdf-community/asdf-kubectl.git
asdf install kubectl 1.21.9
而且我建议使用 .tools-versions
文件:
kubectl 1.21.9
此问题与 error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" CircleCI
重复
我正在为我的 eks 环境设置新的 Mac。 安装 kubectl 后,aws-iam-authenticator 和 kubeconfig 文件放置在默认位置。我 运行 命令 kubectl 命令并在命令块中得到下面提到的这个错误。
我的集群使用 v1alpha1 客户端验证 api 版本所以基本上我想在我的 Mac 中使用相同的版本。
我也尝试了最新版本(1.23.0)的kubectl,还是一样的错误。而当我尝试使用 aws-iam-authenticator(版本 0.5.5)时,我无法下载较低版本。
有人可以帮我解决吗?
% kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", 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/v1alpha1, plugin returned version client.authentication.k8s.io/v1beta1
感谢和问候, 萨拉瓦纳
我有同样的问题
您正在使用 aws-iam-authenticator
0.5.5
,AWS 更改了它在 0.5.4
中的行为方式以要求 v1beta1
。
这取决于您的配置,但您可以尝试将您正在使用的 K8s 上下文更改为 v1beta1
通过检查你的 kubeconfig 文件(通常在 ~/.kube/config
中)从 client.authentication.k8s.io/v1alpha1
到 client.authentication.k8s.io/v1beta1
否则切换回 aws-iam-authenticator
0.5.3
- 如果您使用 M1 架构,您可能需要从源代码构建它,因为没有为它构建的 darwin-arm64
二进制文件
这对我使用 M1 芯片很有效
sed -i .bak -e 's/v1alpha1/v1beta1/' ~/.kube/config
我还通过更新我的 kube 配置文件 (~/.kube/config
) 中的 apiVersion
值解决了这个问题。
client.authentication.k8s.io/v1alpha1
到 client.authentication.k8s.io/v1beta1
我用下面的命令解决了这个问题
aws eks update-kubeconfig --name mycluster
这可能有助于解决那些使用 GitHub 操作的人的问题。
对于我的情况,我使用 kodermax/kubectl-aws-eks
和 GitHub 操作。
我使用 kodermax/kubectl-aws-eks
为每个步骤添加了 KUBECTL_VERSION
和 IAM_VERSION
环境变量,以将它们保持在固定版本中。
- name: deploy to cluster
uses: kodermax/kubectl-aws-eks@master
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA_STAGING }}
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: my-app
IMAGE_TAG: ${{ github.sha }
KUBECTL_VERSION: "v1.23.6"
IAM_VERSION: "0.5.3"
使用 kubectl 1.21.9 为我修复了它,使用 asdf:
asdf plugin-add kubectl https://github.com/asdf-community/asdf-kubectl.git
asdf install kubectl 1.21.9
而且我建议使用 .tools-versions
文件:
kubectl 1.21.9
此问题与 error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" CircleCI
重复