我的目标是向GCE部署一个小型测试应用程序。我读过的每个指南似乎都指向使用LoadBalancer
服务将pod暴露给互联网。不幸的是,这带来了很高的相关成本,我希望能够在不创建负载均衡器的情况下暴露容器(或使用HAProxy / nginx来自行开发)。
有可能这样做吗?如果是这样,我需要采取哪些步骤以及可能的其他相关费用?
谢谢!
答案 0 :(得分:1)
您可以选择NodePort作为服务类型。
apiVersion: v1
kind: Service
metadata:
name: myapp-servoce
labels:
name: myapp
context: mycontext
spec:
type: NodePort
ports:
# the port that this service should serve on
- port: 8080
# label keys and values that must match in order to receive traffic for this service
selector:
name: myapp
context: mycontext
这将在群集的每个节点的端口8080上公开该服务。现在,您的所有节点都具有外部可访问的IP地址,您可以使用相同的方法进行测试
答案 1 :(得分:1)
在https://github.com/kubernetes/ingress/tree/master/controllers/nginx找到的NGINX入口控制器应满足您的成本节约要求。我不会考虑这个"滚动自己的"因为它住在GLBC入口控制器旁边。
应该有足够的文档来满足您的安装要求,如果没有,请在https://github.com/kubernetes/ingress上打开问题