我發現一些與公有云合作的k8s生產案例,會在Nginx Ingress前面放一個LoadBalancer型別的服務。(你可以從下面的yaml中找到一個例子。)
正如我所知,ingress可以用來將內部服務暴露給公眾,那么在ingress前面放一個負載平衡器有什么意義?我可以洗掉該服務嗎?
apiVersion: v1
kind: Service
metadata: 服務
注釋:
標簽:/span>
helm.sh/chart: ingress-nginx-3.27.0
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/version: 0.45.0
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: controller
kubernetes.io/elb.class: union
name: ingress-nginx-controller
namespace: ingress-nginx
規格:
type: LoadBalancer
loadBalancerIP: xxx.xxx.xxx
externalTrafficPolicy: Cluster
埠:
- name:/span> http
port: 80
協議: TCP
targetPort: http
- name:/span> https
port: 443
協議: TCP
targetPort: https
選擇器:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/component: controller
uj5u.com熱心網友回復:
...。 所以 什么是 點 要 放 a loadbalancer in front of the ingress?
這種方式允許你利用云提供商的LB設施(如multi-az等),然后通過Ingress,你可以使用路徑或基于名稱的虛擬主機來進一步控制集群中的服務的路由。
可以 我 洗掉 那個 服務?
Ingress不做埠映射或pods選擇,而且你不能用DNS決議Ingress的名字。
uj5u.com熱心網友回復:
因為在這種情況下,Ingress控制器本身是在Pod內運行的,所以它需要像其他在Pod內運行的東西一樣暴露在互聯網上。一些Ingress控制器的實際代理運行在外部,如AWS的ALB。但是,Nginx只是像正常一樣在容器內運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/330612.html
標籤:
上一篇:在任何遞回函式中獲得無用的變數?
