kubectl - 检查 kubectl 版本时出现“身份验证为:您所在的匿名组”错误
问题描述
我正在尝试在我的机器中设置 kubectl 工具来远程管理 Kubernetes 集群并使用 Helm。我正在 Ubuntu 16.04 机器上尝试。
我正在关注来自以下链接的官方 Kubernetes 文档,
https://kubernetes.io/docs/tasks/tools/install-kubectl/
我运行了以下命令,
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
当我运行“ kubectl version ”命令来验证安装后,我得到以下信息,
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1",
GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean",
BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc",
Platform:"linux/amd64"}
Error from server (Forbidden): <html><head><meta http-equiv='refresh'
content='1;url=/login?from=%2Fversion%3Ftimeout%3D32s'/>
<script>window.location.replace('/login?from=%2Fversion%3Ftimeout%3D32s');
</script></head><body style='background-color:white; color:white;'>
Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:
Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
-->
而且也没有在机器中找到“~/.kube/config”文件。
为什么在检查 kubectl 版本时会出现此身份验证错误?
解决方案
您必须手动将.kube/目录从集群节点复制到本地~/.kube
如果主节点上没有.kube/ ,请从 /etc/kubernetes/kube.conf 复制它
mkdir $HOME/.kube
scp root@<master-public-ip>:/etc/kubernetes/kubelet.conf $HOME/.kube/config
也可以通过传入--kubeconfig参数来定义kubeconfig的文件路径,即
kubectl version --kubeconfig ~/.kube/config
推荐阅读
- lisp - Common Lisp 方法专门用于符号 - 不能在其他包中使用,不能导出?
- html - 自动将重叠的 Div 弯曲到具有相同左边距的新行
- javascript - React-big-calendar:日视图,时间在第二天凌晨 1 点结束
- python-3.x - 在 for 循环中打印多行,但只打印第一个打印请求一次
- spring-boot - 预计至少有 1 个 bean 有资格作为 autowire 候选者
- kubernetes - 从 preStop 挂钩运行脚本时,curl 到外部 api 返回 000 http 代码和空响应
- java - Spring Boot ArrayList 验证
- .net - IPublicClientApplication.GetAccountsAsync() 仅返回空数组
- python - Matplotlib 图形数据
- upgrade - 2sxc 2scx 支持的 DNN 版本是什么。它是否支持 DNN Evoq 9.6+?