【问题标题】:Does the kube-apiserver expect the presence of kube-proxy?kube-apiserver 是否期望 kube-proxy 的存在?
【发布时间】:2017-08-06 03:18:02
【问题描述】:

我一直在运行我的 kubernetes master 与我的 kubernetes 节点分开。所以我有kube-apiserverkube-schedulerkube-controllermanager 在没有kubeletkube-proxyflannel 的服务器上运行。

到目前为止,这一切都很好。但是,今天我尝试设置 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?

【问题讨论】:

    标签: kubernetes flannel kubelet kube-proxy


    【解决方案1】:

    这不是必需的,但它肯定会让您的生活更轻松。

    这不起作用的原因是 kube-proxy 没有将流量引导到服务。尝试kube-node:8080/ui(假设您已将其与 NodePort 配置一样公开

    【讨论】:

      【解决方案2】:

      理论上,Kube apiserver 期望 kube-proxy 的存在。 这意味着 kube apiserver 将正确运行,接收请求并处理它们(主要是读取和写入 etcd)。

      但如果你想让整个集群正常工作,你需要运行其他组件,例如:

      • 如果您想安排 podsdeploymentskube-scheduler 应该运行
      • 如果您希望 podscontainers 在节点中运行,kubelet 必须运行
      • 如果你想replications 可以被保护,controller-manager 应该运行

      至于kube-proxyflannel,它们是确保网络正常工作的关键部分。 Load Balanceserviceacross-hosts pod communication 等都依赖于它们。

      【讨论】:

        猜你喜欢
        • 2020-06-16
        • 2021-06-12
        • 2019-05-08
        • 2020-12-31
        • 2021-07-25
        • 2018-10-25
        • 1970-01-01
        • 2016-10-21
        • 2019-10-18
        相关资源
        最近更新 更多