【问题标题】:How does kube apiserver communicates with kubelet and kube-proxy?kube apiserver 如何与 kubelet 和 kube-proxy 通信?
【发布时间】:2020-06-16 06:57:18
【问题描述】:

如果我可以在防火墙后面的网络中使用公开可用的控制平面和工作节点运行 k8s(这是边缘/物联网部署用例),我很感兴趣。我认为主要关注的是 apiserver 和 kubelet/kube-proxy 之间的通信。是否可以配置为仅节点-> 主通信?我怎样才能做到这一点?

除了在 kubelet reference 中的这个简短说明之外,我找不到精确的信息: HTTP endpoint: HTTP endpoint passed as a parameter on the command line. This endpoint is checked every 20 seconds (also configurable with a flag).

对于 kube-proxy,我找不到任何信息。

我也是 golang 新手,所以分析 k8s 源代码目前超出了我的技能范围。任何帮助表示赞赏:)

【问题讨论】:

    标签: kubernetes iot kubelet kube-proxy kubernetes-apiserver


    【解决方案1】:

    是否可以配置为仅节点-> 主通信?我怎样才能做到这一点?

    我想只有尝试它才能确定 apiserver 不需要联系kubelet。然而,与此相关:请注意,在这样的设置中,kubectl execkubectl logs 将不再起作用,因为这些命令直接连接到 kubelet 二进制文件上的端口 10254,而不是通过 API 服务器发送所有流量

    至于 kube-proxy,it appears 它使用集群内的$KUBERNETES_SERVICE_HOST,这将是Service CIDR 的.1 IP,并将使用软件定义的网络来访问 apiserver。虽然有 other configurations 哪个卷从主机挂载了一个 kubeconfig,所以我想最终的答案将取决于您如何安装集群。

    【讨论】:

    • 谢谢!我做了一些测试,我能够添加节点。 kube-proxy 和 calico pod 已安排好。 kubelete 将节点的状态发布到 apiserver。但是,由于某些操作系统配置错误,容器运行时崩溃了,所以我无法在添加的节点上运行任何工作负载。完整的答案很快就会:)
    猜你喜欢
    • 2019-10-02
    • 2022-01-25
    • 2017-08-06
    • 2021-06-12
    • 2020-02-27
    • 2016-10-21
    • 2019-12-02
    • 2017-04-19
    • 2020-12-31
    相关资源
    最近更新 更多