首页 文章

无法访问kubernetes v1.2.0上的apiserver

提问于
浏览
2

尝试在天蓝色环境中安装kubernetes v1.2.0但安装后无法访问8080端口的kube apis .

以下服务正在运行:

root      1473  0.2  0.5 536192 42812 ?        Ssl  09:22   0:00 /home/weave/weaver --port 6783 --name 22:95:7a:6e:30:ed --nickname kube-00 --datapath datapath --ipalloc-range 10.32.0.0/12 --dns-effective-listen-address 172.17.42.1 --dns-listen-address 172.17.42.1:53 --http-addr 127.0.0.1:6784
root      1904  0.1  0.2  30320 20112 ?        Ssl  09:22   0:00 /opt/kubernetes/server/bin/kube-proxy --master=http://kube-00:8080 --logtostderr=true

root      1907  0.0  0.0  14016  2968 ?        Ss   09:22   0:00 /bin/bash -c until /opt/kubernetes/server/bin/kubectl create -f /etc/kubernetes/addons/; do sleep 2; done
root      1914  0.2  0.3  35888 22212 ?        Ssl  09:22   0:00 /opt/kubernetes/server/bin/kube-scheduler --logtostderr=true --master=127.0.0.1:8080
root      3129  2.2  0.3  42488 25192 ?        Ssl  09:27   0:00 /opt/kubernetes/server/bin/kube-controller-manager --master=127.0.0.1:8080 --logtostderr=true

curl -v http://localhost:8080 返回错误

重建URL到:http:// localhost:8080 /尝试127.0.0.1 ...连接到127.0.0.1端口8080失败:连接被拒绝无法连接到localhost端口8080:连接被拒绝关闭连接0卷曲:(7)失败连接到localhost端口8080:连接被拒绝

同样适用于 v1.1.2 .

我正在使用以下指南https://github.com/kubernetes/kubernetes/tree/master/docs/getting-started-guides/coreos/azure并更新了行https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/coreos/azure/cloud_config_templates/kubernetes-cluster-main-nodes-template.yml#L187到用户版本 v1.2.0 .

1 回答

  • 2

    您显示的服务不包括apiserver . 为了快速分解,我可以解释您运行的每个服务的功能 .

    • Weave:这是一个软件覆盖网络,为您的pod分配IP地址 .

    • kube-proxy:在您的工作节点上运行,允许窗格在公开的服务之间运行和路由流量 .

    • kubectl create:Kubectl实际上是管理cli工具,但在这种情况下使用 -f /etc/kubernetes/addons/; sleep 2 正在观察/ etc / kubernetes / addons /文件夹并自动创建放在该文件夹中的任何对象(窗格,复制控制器,服务等) .

    • kube-scheduler:负责将pod安排到节点上 . 使用政策和规则 . kube-controller-manager:通过始终确保当前状态和所需状态相同来管理集群的状态 . 这包括启动/停止pod以及创建尚不存在的对象(服务,复制控制器等),或者如果它们不存在则终止它们 .


    所有这些服务都与kube-apiserver交互,后者应该是一个单独的服务,协调这些其他服务使用的所有信息 . 您需要运行apiserver才能使所有其他组件完成其工作 .

    我不会详细介绍如何让它在您的环境中运行,但是从它原始线程的注释中看起来就像找到一些缺少的文档来运行它 .

相关问题