我在谷歌云上使用 k8s 引擎。我想在主节点上运行 kube-proxy,以便通过主节点的 NodePort 类型的服务访问我的 pod。如何在主节点上运行 kube-proxy?
我使用 1.8.10-gke.0 k8s 版本。
我在谷歌云上使用 k8s 引擎。我想在主节点上运行 kube-proxy,以便通过主节点的 NodePort 类型的服务访问我的 pod。如何在主节点上运行 kube-proxy?
我使用 1.8.10-gke.0 k8s 版本。
此外,考虑到 GKE 中的主节点托管在项目外部的托管基础架构中,您无法控制它。
例如,您无法决定在 master 上运行 pod,也无法访问或修改那里运行的内容。
为了直接到达主人,你可以运行:
$ kubectl proxy -8080
然后你直接在 localhost 上找到主人。
例如,您可以尝试从您的 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"
}
我希望它对某人有所帮助。如果您通过此示例设法在 master 上运行 kube-proxy,请回答。