如何将我的 kubectl 设置重置为默认值

Sco*_*and 7 google-compute-engine kubernetes

在我的 ubuntu 笔记本电脑上,我发出了一些 kubectl 命令,包括从本地 Docker 容器运行 kubernetes 一切都很好......然后我在某个时候发出了这个命令

kubectl config set-cluster test-doc --server=https://104.196.108.118
Run Code Online (Sandbox Code Playgroud)

现在我的本地 kubectl 无法执行......看起来服务器端需要重置回默认值

kubectl version

Client Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.2", GitCommit:"528f879e7d3790ea4287687ef0ab3f2a01cc2718", GitTreeState:"clean"}
error: couldn't get version/kind; json parse error: json: cannot unmarshal string into Go value of type struct { APIVersion string "json:\"apiVersion,omitempty\""; Kind string "json:\"kind,omitempty\"" }
Run Code Online (Sandbox Code Playgroud)

我删除并重新安装了 gcloud SDK 二进制文件并运行

mv ~/.config/gcloud ~/.config/gcloud~ignore

gcloud init

gcloud components update kubectl
Run Code Online (Sandbox Code Playgroud)

如何删除我的本地 kubectl 设置(在 ubuntu 16.04 上)并重新开始?

cas*_*eyh 6

请务必注意,您已经为客户端设置了kubeconfig设置。当您运行时,您将获得客户端和服务器的版本,在您的情况下,这似乎是 version 命令的问题。kubectl version

更新您的配置

您需要将设置更新为适当的信息。您可以使用用于设置服务器的相同命令将其更改为正确的服务器。

如果您想清除客户端配置方面的 slate,您应该删除 kubeconfig 文件。根据我对 gcloud 设置的经验,这只是~/.kube/config.

如果您通过谷歌云引擎运行集群,您可以使用 gcloud 来根据容器引擎快速入门指南为您设置 kubeconfig 。下面假设您具有项目、区域和集群集的默认值。

gcloud container clusters get-credentials CLUSTER_NAME
Run Code Online (Sandbox Code Playgroud)

删除 kubectl - 这不是必需的

如果您的目标是彻底摆脱 kubectl,您应该删除该组件而不是重置 gcloud。

gcloud components remove kubectl
Run Code Online (Sandbox Code Playgroud)

但这并不能解决您的问题,因为~/.kube/config当我在 Mac 上运行它时它不会删除或重置,如果您想继续使用它,则需要重新安装 kubectl。