Luc*_*cci 4 subdomain kubernetes google-kubernetes-engine
我在 GKE 中有不同的 Kubernetes 部署,我想从不同的外部子域访问它们。
我尝试创建两个具有子域“sub1”和“sub2”以及主机名“app”的部署,另一个具有主机名“app”的部署以及一个将其公开在应用程序 DNS 上配置的 IP XXX.XXX.XXX.XXX 上的服务。 mydomain.com
我想从 sub1.app.mydomain.com 和 sub2.app.mydomain.com 访问 2 个子部署
这应该是自动的,添加新的部署我不能每次都更改 DNS 记录。也许我以错误的方式处理这个问题,我是 GKE 的新手,有什么建议吗?
api版本:扩展/v1beta1
种类:部署
元数据:
名称:我的主机
规格:
副本:1
战略: {}
模板:
元数据:
创建时间戳:空
标签:
名称:我的主机
类型:代理
规格:
主机名:应用程序
容器:
- 图片:nginx:alpine
名称:nginx
端口:
-名称:nginx
集装箱端口:80
主机端口:80
重启策略:始终
地位: {}
---
api版本:扩展/v1beta1
种类:部署
元数据:
名称: my-subdomain-1
规格:
副本:1
战略: {}
模板:
元数据:
创建时间戳:空
标签:
名称: my-subdomain-1
类型:应用程序
规格:
主机名:应用程序
子域:sub1
容器:
- 图片:nginx:alpine
名称:nginx
端口:
-名称:nginx
集装箱端口:80
主机端口:80
重启策略:始终
地位: {}
---
api版本:扩展/v1beta1
种类:部署
元数据:
名称:我的子域2
规格:
副本:1
战略: {}
模板:
元数据:
创建时间戳:空
标签:
名称:我的子域2
类型:应用程序
规格:
主机名:应用程序
子域:sub2
容器:
- 图片:nginx:alpine
名称:nginx
端口:
-名称:nginx
集装箱端口:80
主机端口:80
重启策略:始终
地位: {}
---
api版本:v1
种类: 服务
元数据:
名称: my-expose-dns
规格:
端口:
- 端口:80
选择器:
名称:我的主机
类型:负载均衡器
你想要Ingress。有多种可用选项(Istio、nginx、traefik 等)。我喜欢使用 nginx,它非常易于安装和使用。安装步骤可以在kubernetes.github.io找到。
安装 Ingress Controller 后,您需要确保已使用 type=LoadBalancer 的服务公开它。接下来,如果您使用的是 Google Cloud DNS,请为您的域设置通配符条目,其中 A 记录指向 Ingress Controller 服务的外部 IP 地址。在您的情况下,它将是 *.app.mydomain.com。
现在,您到 app.mydomain.com 的所有流量都将进入该负载均衡器并由 Ingress Controller 处理,因此现在您需要为您想要的任何服务添加服务和 Ingress 实体。
apiVersion: v1
kind: Service
metadata:
name: my-service1
spec:
selector:
app: my-app-1
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
apiVersion: v1
kind: Service
metadata:
name: my-service2
spec:
selector:
app: my-app2
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: name-virtual-host-ingress
spec:
rules:
- host: sub1.app.mydomain.com
http:
paths:
- backend:
serviceName: my-service1
servicePort: 80
- host: sub2.app.mydomain.com
http:
paths:
- backend:
serviceName: my-service2
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
显示的路由是基于主机的,但您可以轻松地像基于路径一样处理这些服务,因此到 app.mydomain.com/service1 的所有流量都将转到您的部署之一。
| 归档时间: |
|
| 查看次数: |
2525 次 |
| 最近记录: |