[英]Why is Kubernetes (AWS EKS) registering all workers to the Load Balancer?
我想知道這是默認行為還是我的設置有問題。
我有 150 名工人在 kubernetes 上運行。
我讓一組 kubernetes 工作人員(10 名工作人員)僅使用 nodeSelector 運行特定的部署,我為它創建了一個服務(type=LoadBalancer),當創建負載平衡器時,Kubernetes 的所有 150 個工作人員都注冊到了負載平衡器,而我期望只看到此部署/服務的這組工作人員(10 名工作人員)。
它與alb-ingress-controller
和AWS NLB
行為相同
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- port: 8080
type: LoadBalancer
和部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
selector:
matchLabels:
app: my-app
replicas: 10
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: master-api
image: private/my-app:prod
resources:
requests:
memory: 8000Mi
ports:
- containerPort: 8080
nodeSelector:
role: api
我已經用標簽role=api
標記了 10 個工作節點,其中 10 個僅運行此部署的 pod,沒有其他工作人員正在運行此服務我也沒有使用端口 8080 的其他服務或容器
所以 ALB 控制器實際上不會檢查您的標簽等。它純粹是查看您子網中的標簽。 因此,如果您的工作節點在帶有標簽kubernetes.io/role/alb-ingress
或類似標簽的子網內運行,那么您的所有工作節點都將添加到負載均衡器中。
我相信它是自動發現文檔的一部分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.