我已创建一个部署yaml文件。我正在尝试使用kubectl apply -f filename.yml
应用此配置,但出现此错误:The connection to the server localhost:8080 was refused - did you specify the right host or port?
如何确保我连接到localhost:8080
?或取消任何限制?
答案 0 :(得分:0)
您的kubectl
CLI似乎配置不正确。
默认情况下,kubectl在$HOME/.kube
目录中查找名为config的文件。您可以通过设置KUBECONFIG
环境变量或设置--kubeconfig
标志来指定其他kubeconfig文件。
答案 1 :(得分:0)
kubectl是一个命令行工具,可让您针对Kubernetes集群运行命令
默认情况下, kubectl在$ HOME / .kube目录中查找名为config的文件以与集群连接。确保您在此路径中有一个名为config的文件,其值正确。
$ pwd
/home/ubuntu/.kube
$ ll
total 88
drwxrwxrwx 4 ubuntu ubuntu 4096 Jan 16 10:31 ./
drwxr-xr-x 7 ubuntu ubuntu 4096 Jan 16 10:30 ../
drwxr-x--- 3 ubuntu ubuntu 4096 Jan 13 13:00 cache/
-rwxr-xr-x 1 ubuntu ubuntu 5455 Jan 13 15:17 config*
您可以通过设置KUBECONFIG环境变量或设置--kubeconfig标志来指定其他kubeconfig文件。
注意:如果使用--kubeconfig
传递配置文件,它将优先于KUBECONFIG环境变量。
示例:设置KUBECONFIG env变量。
$ KUBECONFIG=$HOME/.kube/cluster-1
$ kubectl cluster-info
Kubernetes master is running at https://xx.xx.xx.101:6443
KubeDNS is running at https://xx.xx.xx.101:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
示例:使用--kubeconfig传递配置文件以覆盖默认的KUBECONFIG
$ kubectl cluster-info --kubeconfig=/home/ubuntu/.kube/cluster-2
Kubernetes master is running at https://xx.xx.xx.102:6443
KubeDNS is running at https://xx.xx.xx.102:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
要重现您的错误,我只需将KUBECONFIG设置为空即可显示在运行kubectl命令时缺少此设置
$ KUBECONFIG=""
$ kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?