我目前正在使用 kubernetes。我根据文档使用 vagrant 方法在本地启动了它。一切正常,但我无法公开服务端口,例如容器的 Web 前端。在文档中,它仅针对 google cloud 进行了描述,其中 google 似乎已自动配置为在其负载均衡器上公开端口。但是如何在本地安装上配置端口?
答案1
假设你知道如何在没有 Kubernetes 的情况下重定向 vagrant 上的端口(https://docs.vagrantup.com/v2/networking/forwarded_ports.html), Kubernetes 中有多种方式可以访问 Services:
部署裸机服务负载均衡器(https://github.com/kubernetes/contrib/tree/master/service-loadbalancer)或入口控制器 + 创建入口(这需要 Kubernetes 1.1https://github.com/kubernetes/contrib/tree/master/service-loadbalancer)
使用 service.type=nodeport (https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/user-guide/services.md#type-nodeport)
同样,使用代理到服务(https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service)
将 hostPort 用于你的 RC/Pod(违反最佳实践:https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/user-guide/config-best-practices.md)