你指定了正确的主机或端口吗?Kubernetes上的错误

poi*_*rez 45 kubernetes

我已经按照http://kubernetes.io/docs/hellonode/上的helloword教程进行了操作.

当我跑:

kubectl run hello-node --image=gcr.io/PROJECT_ID/hello-node:v1 --port=8080
Run Code Online (Sandbox Code Playgroud)

我得到:与服务器localhost:8080的连接被拒绝 - 你指定了正确的主机或端口吗?

为什么命令行尝试连接到localhost?

小智 54

问题是你kubeconfig不对.要自动生成它,请运行:

gcloud container clusters get-credentials "CLUSTER NAME"
Run Code Online (Sandbox Code Playgroud)

这对我有用.

  • 谢谢,对我来说,它也询问区域名称,`gcloud 容器集群 get-credentials "CLUSTER NAME" --region=us-central1-a` (6认同)

Far*_*der 9

运行“kubeinit”命令后,kubernetes 要求您以普通用户身份运行

mkdir -p $HOME/.kube

须藤cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

须藤 chown $(id -u):$(id -g) $HOME/.kube/config

但是,如果您以普通用户身份运行它,您将收到“与服务器 localhost:8080 的连接被拒绝 - 您是否指定了正确的主机或端口?” 尝试以 root 用户身份访问时,反之亦然。因此,尝试以执行上述命令的用户身份访问“kubectl”


Lor*_*ord 8

我试图连接本地主机并最终遇到同样的问题,然后我发现,我需要启动 Kubernetes API 服务器的代理。

kubectl proxy --port=8080
Run Code Online (Sandbox Code Playgroud)

https://kubernetes.io/docs/tasks/extend-kubernetes/http-proxy-access-api/


小智 7

我有同样的错误,这对我有用。跑

minikube status

如果响应是

type: Control Plane
host: Stopped
kubelet: Stopped
apiserver: Stopped
kubeconfig: Stopped
Run Code Online (Sandbox Code Playgroud)

minikube start

type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
Run Code Online (Sandbox Code Playgroud)

你可以继续


Gan*_*san 6

重新启动后我遇到了同样的问题,我按照此处描述的指南进行操作

所以请尝试以下操作:

$ sudo -i
# swapoff -a
# exit
$ strace -eopenat kubectl version
Run Code Online (Sandbox Code Playgroud)

之后就可以正常工作了。

  • 那么 k8s 需要关闭 swap。至于`strace`,它只是一个检查,它不是灵魂的一部分 (2认同)

小智 5

从Udacity进行名为Kubernetes可扩展微服务的教程https://classroom.udacity.com/courses/ud615时,在使用Kubernetes(本课程的第3部分)时,会重现相同的错误。

启动一个实例:

kubectl run nginx --image=nginx:1.10.0

错误:

Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.

我如何解决错误:

登录到Google Cloud Platform

导航到容器引擎 Google Cloud Platform,容器引擎

单击 群集上的连接

使用登录凭据访问您的终端中的群集[NAME]

继续工作!!!


小智 5

确保您的配置设置为项目- gcloud config set project [PROJECT_ID]

  1. 运行帐户中群集的清单: gcloud container clusters list

  2. 检查输出: NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VE. alpha-cluster asia-south1-a 1.9.7-gke.6 35.200.254.78 f1-micro 1.9.7- NUM_NODES STATUS gke.6 3 RUNNING

  3. 运行以下cmd-

gcloud container clusters get-credentials your-cluster-name --zone your-zone --project your-project

  1. 以下输出如下:

Fetching cluster endpoint and auth data. kubeconfig entry generated for alpha-cluster.

  1. 尝试检查正在运行的节点的详细信息,kubectl例如-
    kubectl get nodes -o wide

应该很好走。