【发布时间】:2020-01-23 09:28:50
【问题描述】:
我在 Kubernetes 集群中的 GCP 上有 2 个节点。我在 GCP 中也有一个负载均衡器。这是一个常规集群(不是 GCK)。我正在尝试向世界公开我的前端服务。我正在尝试 nginx-ingress type:nodePort 作为解决方案。我的负载均衡器应该指向哪里?这是一种好的架构方法吗?
世界 --> GCP-LB --> nginx-ingress-resource(GCP k8s 集群) --> 服务(pods)
要访问我的站点,我必须将 LB 指向运行 nginx pod 的 worker-node-IP。这是不好的做法。我是这个主题的新手,并试图理解。 谢谢
部署服务:
apiVersion: v1
kind: Service
metadata:
name: mycha-service
labels:
run: mycha-app
spec:
ports:
- port: 80
targetPort: 3000
protocol: TCP
selector:
app: mycha-app
nginx服务:
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
labels:
app: nginx-ingress
spec:
type: NodePort
ports:
- nodePort: 31000
port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
selector:
name: nginx-ingress
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
labels:
run: nginx-ingress
spec:
type: NodePort
ports:
- nodePort: 31000
port: 80
targetPort: 3000
protocol: TCP
selector:
app: nginx-ingress
nginx-资源:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mycha-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: mycha-service
servicePort: 80
此配置无效。
【问题讨论】:
-
什么不起作用?你有什么错误?
标签: nginx kubernetes architecture