【发布时间】:2019-08-31 20:28:36
【问题描述】:
我有一个已发布的应用程序,其中 URL 是硬编码的“upload.mydomain.io:123123/myRoute”。
此 DNS 指向 NGINX 将流量分配给服务的 VM。 现在我需要在虚拟机前面放置一个高度可扩展的服务,而不能更改硬编码的 URL。到目前为止我已经尝试过:
- 云函数
- App 引擎
- 云跑
- 我自己的 Kubernetes 集群。
作为 DNS 分发器,我使用 Cloudflare,我还尝试使用 Page Rules 做一些事情。
函数 -> 在欧盟没有域
Cloud Run -> 仅端口 80
App Engine -> 仅端口 8080
Kubernetes Ingress -> 我可以打开我的域,也可以将端口作为服务端口,但是在 URL 中端口消失了
这是我的 Kubernetes 清单:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: myApp-api
name: myApp-api
spec:
replicas: 3
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
app: myApp-api
spec:
containers:
- name: myApp-api
env:
- name: NODE_ENV
value: production
image: eu.gcr.io/myApp-123/myApp-api:latest
imagePullPolicy: Always
ports:
- containerPort: 21337
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: myApp-api-service
name: myApp-api-service
spec:
ports:
- name: myApp-api-port
port: 21337
targetPort: 21337
selector:
app: myApp-api
type: LoadBalancer
status:
loadBalancer: {}
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myApp-api-ingress
spec:
tls:
- hosts:
- upload.myDomain.io
secretName: tls-secret
rules:
- host: upload.myDomain.io
http:
paths:
- path: /*
backend:
serviceName: myApp-api-service
servicePort: myApp-api-port
是否有可能通过某种服务以某种方式创建这条路线?
【问题讨论】:
-
您可能想尝试在 ServerFault 上询问此问题。 serverfault.com
标签: kubernetes google-cloud-platform google-cloud-functions cloudflare