【问题标题】:The connection to the server localhost:8080 was refused - did you specify the right host or port?与服务器 localhost:8080 的连接被拒绝 - 您是否指定了正确的主机或端口?
【发布时间】:2018-12-09 19:03:21
【问题描述】:

当我尝试测试 kubectl 的配置时

kubectl get svc 

我收到了

错误:服务器没有资源类型“svc”

当我尝试这个命令时

kubectl get services 

我收到错误:

与服务器 localhost:8080 的连接被拒绝 - 您是否指定了正确的主机或端口?

我正在按照这个用户指南在我的 mac 上部署一个 kubernetes 应用程序

https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#eks-create-cluster

Admins-MacBook-Pro:~ Harshin$ kubectl version --short --client
Client Version: v1.10.3

【问题讨论】:

    标签: kubernetes kubectl amazon-eks


    【解决方案1】:

    复制配置文件并解决此问题:

    sudo mkdir ~/.kube
    sudo cp /etc/kubernetes/admin.conf ~/.kube/
    
    cd ~/.kube
    
    sudo mv admin.conf config
    sudo service kubelet restart
    

    【讨论】:

    • 谢谢,这拯救了我的一天!
    • 是的,也是我的英雄!
    • 如果你没有那个目录怎么办?我是通过自制软件安装的,但没有 /etc/kubernetes/admin.conf 文件
    • 我想你错过了“kubeadm init”这一步
    • 我没有错过kubeadm init这一步,在我退出机器并登录后我也遇到了这种情况,除了显示新节点角色之外,我可以得到节点<None>
    【解决方案2】:

    你需要像这样为 kubectl 指定 kubeconfig。

    kubectl --kubeconfig .kube/config  get nodes
    

    【讨论】:

    • 它确实对我有用,但不知道为什么。你能详细说明一下吗?
    • @iamnicoj 这是因为您指定了保存目标 AKS 凭据的配置。我在 WLS2 上遇到了这个问题,这对于 Azure CLI 来说不是一个非常原生的环境,这对这种解决方法很有意义。将alias k="kubectl --kubeconfig .kube/config" 添加到您的.bashrc.zshrc 将使您更容易导航。
    • 我还可以使用环境变量设置此标志值,如下所示:export KUBECONFIG=".kube/config"
    【解决方案3】:

    我在尝试访问 AWS EKS 集群时遇到了同样的问题。这是我必须运行的命令,它为我解决了这个问题:

    aws eks update-kubeconfig --name <EKS_Cluster_Name> --region <Region_Name>
    

    【讨论】:

    • 这对我有用。谢谢!
    【解决方案4】:

    kubectl 使用由容器服务(GCP、ACS 或 AWS)公开的接口 当您收到该错误时,可能是您没有配置对该容器服务(GCp、ACS、AWS 等)的身份验证 例如,在 Google Container Service 中,您可以执行以下操作: gcloud auth login

    终于

    gcloud container clusters get-credentials [cluster-name] --zone cluster-zone
    [cluster-zone]
    

    会有这样的输出:

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for website.
    

    最后一行是我们要搜索的内容

    【讨论】:

    • 这是最正确的答案
    【解决方案5】:

    问题是连接默认为 localhost:8080,只需更改 kubectl.cfg 指定您希望连接到的位置。另一个可能的问题是在变量 KUBECONFIG 中没有正确设置它的路径。祝你好运

    【讨论】:

      【解决方案6】:

      您似乎还没有设置集群。在 master 下面运行。

      sudo kubeadm init --pod-network-cidr=10.244.0.0/16
      

      【讨论】:

        【解决方案7】:

        您可能在错误的地方使用了 sudoChown 你的主目录:

        sudo chown -R loggedonuser .
        

        【讨论】:

          猜你喜欢
          • 2022-08-22
          • 2019-06-01
          • 1970-01-01
          • 2018-12-03
          • 2019-09-25
          • 2021-05-05
          • 2018-12-18
          • 2021-03-16
          • 2020-02-25
          相关资源
          最近更新 更多