gpt4 book ai didi

google-compute-engine - 设置多个入口,服务,部署资源和Cloud DNS

转载 作者:行者123 更新时间:2023-12-02 11:41:42 24 4
gpt4 key购买 nike

我试图弄清楚如何创建共享IP的多个入口资源。
或者,如果不可能,我想知道是否有某种转发
规则我可以​​与确保所有流量的Cloud DNS条目结合使用
到一个IP(我可以使其变为静态)到一个kubernetes集群。

本质上,我想为每个包含一个或多个服务的服务设置一个入口
更多子域,所有这些入口都指向同一集群。马上
每次进入时,我都会获得不同的临时IP。我可以创建一些转发
将所有流量都指向静态IP的规则转到群集,然后也许
创建一个通配符DNS条目,该条目将所有子域都指向静态IP?

这是一个与我使用的配置类似的示例:

apiVersion: v1
kind: Service
metadata:
name: api-service
labels:
name: api-service
spec:
type: NodePort
ports:
- port: 80
targetPort: 3000
protocol: TCP
selector:
name: api-deployment
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: api-deployment
labels:
name: api-deployment
spec:
template:
metadata:
labels:
name: api
spec:
containers:
- image: us.gcr.io/[project]/hello-world:1.0.0
name: api
ports:
- containerPort: 3000
env:
- name: NAME
value: api
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: api-ingress
spec:
backend:
serviceName: api-service
servicePort: 80
rules:
- host: api.example.com
http:
paths:
- backend:
serviceName: api-service
servicePort: 80

我像这样在kube集群上创建这些资源:

$ kubectl create -f api.yml

然后查看创建的入口,如下所示:

$ kubectl get ing
NAME RULE BACKEND ADDRESS AGE
api-ingress - api-service:80 130.211.32.223 1h
api.example.com
api-service:80

现在,假设您复制上面的yaml并更改服务,部署和
将名称输入api-2并创建它们。您最终将得到如下结果:

$ kubectl get ing
NAME RULE BACKEND ADDRESS AGE
api-ingress - api-service:80 130.211.32.223 1h
api.example.com
api-service:80
api-2-ingress - api-2-service:80 130.211.22.214 1h
api-2.example.com
api-2-service:80

很好...但是我需要确保* .example.com的所有流量都进入
集群,以便入侵者可以尽其所能并将请求路由到正确的位置
服务。

我知道我可以创建一个入口资源并修补该入口资源,而不是
创建一个新服务,但是我想避免这种情况,因此希望可以为每个服务创建一个服务。

这有可能吗?

相关: https://github.com/kubernetes/kubernetes/issues/26935

最佳答案

每个入口资源将具有一个单独的IP。如果需要在域之间共享单个IP,则需要在同一入口资源中配置两个域。如果您不想直接在命令行上打补丁,请尝试kubectl edit

关于google-compute-engine - 设置多个入口,服务,部署资源和Cloud DNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com