我一直在独立于kubernetes节点运行kubernetes主机。因此,我在没有kubelet、kube-proxy或flannel的服务器上运行kube-apiserver、kube-scheduler和kube-controllermanager。
到目前为止,这是完美的。但是,今天我尝试设置Web UI并通过API服务器访问它。访问http://kube-master-0:8080/ui时出现以下错误
Error: 'dial tcp 172.16.72.12:9090: getsockopt: connection timed out' Trying to reach: 'http://172.16.72.12:9090/'
这表明API服务器正在尝试连接到pod IP,因为我们没有在此主机上运行flannel或kube-proxy,所以172.16.72.12 IP将不会被路由。
我需要在API服务器上运行kube-proxy和flannel吗?有没有其他方法可以让API服务器代理UI?
发布于 2017-03-15 23:00:18
这不是必须的,但它肯定会让你的生活变得更容易。
这不起作用的原因是kube-proxy没有将流量定向到服务。尝试使用kube-node:8080/ui (假设您已经使用NodePort配置公开了它
发布于 2017-04-07 11:28:12
理论上,Kube apiserver 并不期望kube-的存在。这意味着kube apiserver将正确运行,接收请求并处理它们(主要是从etcd读取和写入)。
但是,如果您希望整个集群正常工作,则需要运行其他组件,例如:
pods或deployments,则kube-scheduler应该运行pods和containers在节点中运行,<代码>D12必须运行<代码>H213<代码>H114如果您希望可以保护<代码>D15,则<代码>D16应该运行<代码>H217<代码>F218至于kube-proxy和flannel,它们是确保网络正常工作的关键部分。Load Balance、service、across-hosts pod communication等都依赖于它们。
https://stackoverflow.com/questions/42808838
复制相似问题