我安装了适用于Windows 18.05.0-ce(Windows 10 Hyper-V)的Docker的Edge版本,之后启用了Kubernetes。 在我的另一台机器上自动创建了kubectl上下文,但在这台新机器上却没有。
> kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
> kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"windows/amd64"}
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
我可以使用Docker for Windows创建上下文吗?
或者我可以手动设置吗?
我有点不确定如何获得kubectl config set-context
命令所需的信息。
我可以在Kubernetes外面运行码头工人集装箱。 我看到在Docker中运行的Kubernetes容器。
> docker ps
CONTAINER ID IMAGE COMMAND
8285ca0dd57a 353b8f1d102e "kube-scheduler --ad…"
3b25fdb0b7a6 40c8d10b2d11 "kube-controller-man…"
e81db90fa68e e03746fe22c3 "kube-apiserver --ad…"
2f19e723e0eb 80cc5ea4b547 "/kube-dns --domain=…"
etc...
当HOMEDRIVE
设置为公司策略时,windows的docker存在问题。
如果将$KUBECONFIG
环境变量设置为C:\Users\my_username\.kube\config
(确保$HOME
环境变量扩展,请不要使用$HOME
本身。)它应该可以工作。
我发现Docker for Windows正确更新了我的kubectl配置文件,但在Windows 10 Enterprise上没有名为“HOME”的环境变量。
所以kubectl无法找到配置文件C:\users\{userid}\.kube\config
添加环境变量HOME=C:\users\{userid}
解决了我的机器上的问题。