簡體   English   中英

為什么 Kubernetes (AWS EKS) 將所有工作人員注冊到負載均衡器?

[英]Why is Kubernetes (AWS EKS) registering all workers to the Load Balancer?

我想知道這是默認行為還是我的設置有問題。

我有 150 名工人在 kubernetes 上運行。

我讓一組 kubernetes 工作人員(10 名工作人員)僅使用 nodeSelector 運行特定的部署,我為它創建了一個服務(type=LoadBalancer),當創建負載平衡器時,Kubernetes 的所有 150 個工作人員都注冊到了負載平衡器,而我期望只看到此部署/服務的這組工作人員(10 名工作人員)。

它與alb-ingress-controllerAWS 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM