Ole*_*leg 2 kubernetes google-kubernetes-engine kubernetes-ingress
我在 google Kubernetes 引擎上配置 Ingress。我是 ingress 方面的新手,但据我了解,ingress 可以为不同的负载均衡器提供服务,并且不同的 LB 应该进行不同的配置。
我从 GKE 上的简单入口配置开始:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: web-np
servicePort: 8080
- path: /v2/keys
backend:
serviceName: etcd-np
servicePort: 2379
Run Code Online (Sandbox Code Playgroud)
它工作正常,所以我有 2 个不同的 NodePort 服务 web-np 和etcd-np
. 但现在我需要使用一些重写规则来扩展此逻辑,以便指向/service1
- 的请求将被重定向到其他service1-np
服务,但之前/service1/hello.html
必须替换为/hello.html
。这就是为什么我有以下问题:
kubernetes.io/ingress.global-static-ip-name
广泛使用的注释谷歌的例子。
Ingress
- 管理对集群中服务的外部访问的 API 对象,通常是 HTTP。Ingress 可以提供负载平衡、SSL 终止和基于名称的虚拟托管。
Kubernetes 可以有多个Ingress
控制器。这些控制器彼此不同。Ingress
您在这个特定问题中提到的控制器是:
Ingress-GCE
Ingress
- 集群的默认资源GKE
:
Ingress-nginx
-Ingress
可以部署到您的GKE
集群的替代控制器:
Ingress
您粘贴的配置将使用Ingress-GCE
控制器。如果您想切换到Ingress-nginx
其中一个,则需要部署它并设置注释,例如:
kubernetes.io/ingress.class: "nginx"
如何在入口中配置重写以及是否可以使用默认负载均衡器。
这里有一个支持重写的持续功能请求Ingress-GCE
:Github.com:Ingress-GCE:重写。
您可以使用Ingress-nginx
它来支持重写。有一个关于部署它的官方文档:Kubernetes.github.io: Ingress-nginx: Deploy
有关重写的更多资源,您可以使用:
GKE 上的默认负载均衡器是什么。
Ingress
如果您使用默认选项创建资源Ingress-GCE
,您将创建一个L7 HTTP&HTTPS LoadBalancer。
如果您创建 类型的服务,LoadBalancer
您GKE
将创建一个L4 网络负载均衡器
Ingress-nginx
如果您在集群中部署控制器GKE
,您将创建一个指向该Ingress-nginx
控制器的 L4 网络负载均衡器,之后该控制器将根据您的Ingress
定义路由流量。如果您愿意使用,Ingress-nginx
则需要指定:
kubernetes.io/ingress.class: "nginx"
在你的Ingress
定义中。
请查看这篇文章:Medium.com:Google Cloud:Kubernetes Nodeport vs Loadbalancer vs Ingress
我在哪里可以找到它的所有注释的列表。我认为完整的列表位于https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/上,但有一个完全不同的列表,并且没有 kubernetes.io/ingress。 global-static-ip-name 注释在 google 示例中广泛使用。
您提供的带注释的链接专门用于Ingress-nginx
. 此注释不适用于Ingress-GCE
.
示例中使用的注释GCP
特定于Ingress-GCE
.
您可以为Issuetracker.google.comIngress-GCE
上的可用注释列表创建功能请求。
归档时间: |
|
查看次数: |
10348 次 |
最近记录: |