我在谷歌云上使用k8s引擎。我想在主节点上运行 kube-proxy,以便通过主节点通过 NodePort 类型的服务访问我的 Pod。 如何在主节点上运行 kube-proxy ?
我使用 1.8.10-gke.0 k8s 版本。
此外,考虑到 GKE 中的主节点托管在项目外部的托管基础架构中,您无法控制它。
例如,您不能决定在主服务器上运行 pod,也不能访问或修改那里正在运行的内容。
为了直接到达主节点,您可以运行:
$ kubectl proxy -8080
然后你直接在本地主机上到达主人。
例如,您可以尝试从Google Shell运行它,并通过浏览器的预览访问Kubernetes仪表板:
https://8080-dot-[numeber-of-cloud-shell]-dot-devshell.appspot.com/ui
或者从外壳本身运行:
wget localhost:8080
我找到了一个解决方案,但它仍然对我不起作用。 也许有人可以做到这一点。
你可以在 k8s 中像 DaemonSet 一样运行 kube-proxy 。 链接到 yaml 示例
然后你必须为这个yaml添加容忍度,以便来自DaemonSet的Pod可以在主节点上运行。
"tolerations": [
{
"key": "node-role.kubernetes.io/master",
"value": "true",
"effect": "NoSchedule"
}
我希望这对某人有所帮助。如果您设法通过此示例在主上运行 kube-proxy ,请回答。