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