我对我是否可以在防火墙后面的网络中运行带有公开控制平面和工作节点的k8(这是边缘/物联网部署用例)感兴趣。我认为主要的关注点是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源代码超出了我的能力。任何帮助表示赞赏:)
答案 0 :(得分:1)
可以将其配置为仅节点->主站通信吗?我该如何实现?
我想只有尝试一下才能证明apiserver不需要联系kubelet
。但是,与此相关的是:请注意,在这样的设置中,kubectl exec
和kubectl logs
将不再起作用,因为这些命令直接连接到kubelet二进制文件上的端口10254,而不是通过API发送所有流量服务器
对于kube-proxy,it appears使用集群内$KUBERNETES_SERVICE_HOST
,它将是.1
CIDR的Service
IP,并将使用软件定义的网络到达apiserver。尽管有other configurations个卷从主机上装入了一个kubeconfig
,所以我想最终的答案取决于您如何安装群集。