Kubernetes 如何使用子网的IP创建L7内部入口
因此,我们在europe-west3上有一个VPC主机项目,在europe-west1上有一个服务项目。我正在尝试创建一个具有多个节点端口服务的L7入口 我创建的集群使用来自主机项目的共享VPC网络。 所以我在共享VPC中有3个子网Kubernetes 如何使用子网的IP创建L7内部入口,kubernetes,google-kubernetes-engine,gke-networking,Kubernetes,Google Kubernetes Engine,Gke Networking,因此,我们在europe-west3上有一个VPC主机项目,在europe-west1上有一个服务项目。我正在尝试创建一个具有多个节点端口服务的L7入口 我创建的集群使用来自主机项目的共享VPC网络。 所以我在共享VPC中有3个子网 myapp节点子网 myapp pods子网 myapp内部lb子网 当我尝试创建入口时。前端lb使用myapp节点子网中的一个IP,但我希望它应该使用myapp内部lb子网 -------部署-------- -------服务-------- -------入口
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp-lb
name: myapp-lb
namespace: myapp-dev
annotations:
cloud.google.com/load-balancer-type: "Internal"
networking.gke.io/internal-load-balancer-allow-global-access: "true"
networking.gke.io/internal-load-balancer-subnet: "myapp-internal-lb-subnets"
spec:
type: LoadBalancer
loadBalancerIP: XX.XX.XX.XX(IP I assign)
ports:
- name: myapp-lb
port: 80
protocol: TCP
targetPort: 8080
selector:
app: myapp-web
恐怕这目前是不可能的。您是否考虑过在所需区域中创建一个内部负载平衡器,该区域将指向集群中的
nginx入口
控制器?您可以在这两个文档中查找更多参考资料。恐怕这目前是不可能的。您是否考虑过在所需区域中创建一个内部负载平衡器,该区域将指向集群中的nginx入口
控制器?您可以在这两个文档中查找更多参考。
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp-web-service
name: myapp-web-service
namespace: myapp-dev
spec:
ports:
- name: myapp-web-service
port: 8080
protocol: TCP
targetPort: 80
selector:
app: myapp-web
type: NodePort
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp-api-service-1
name: myapp-api-service-1
namespace: myapp-dev
spec:
ports:
- name: myapp-api-service-1
port: 8081
protocol: TCP
targetPort: 8080
selector:
app: myapp-api-1
type: NodePort
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: myapp-ingress
namespace: myapp-dev
annotations:
kubernetes.io/ingress.regional-static-ip-name: "my-app-static-ip-1"
kubernetes.io/ingress.class: "gce-internal"
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: myapp-web-service
servicePort: 80
- path: /api-service/*
backend:
serviceName: myapp-api-service-1
servicePort: 8081
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp-lb
name: myapp-lb
namespace: myapp-dev
annotations:
cloud.google.com/load-balancer-type: "Internal"
networking.gke.io/internal-load-balancer-allow-global-access: "true"
networking.gke.io/internal-load-balancer-subnet: "myapp-internal-lb-subnets"
spec:
type: LoadBalancer
loadBalancerIP: XX.XX.XX.XX(IP I assign)
ports:
- name: myapp-lb
port: 80
protocol: TCP
targetPort: 8080
selector:
app: myapp-web