amazon-web-services - AWS 中的 Kubernetes 负载均衡器服务类型是否等于 NordPort + ELB(NLB)?
问题描述
首先,Deployment
我的 k8s 集群(EKS)中有一个。我想向公众公开我的部署。所以,我Load Balancer
用上面的选择器创建了服务类型Deployment
。(LB类=NLB)
然后我可以在我的 AWS 控制台上看到预置的 NLB。我的 NLB 的监听器在 80 端口监听,并指示目标组(有两个工作节点)与端口 30603 的映射;
我的意思是NLB:80 -> worker node:30603
。
所以我假设当我配置我Load Balancer
的云供应商(同样是 AWS)时。
他们自动创建NodePort
Service 类型并在 Deployment 之间与 NLB 连接。
像这样。
NLB:80 -> NodePort:30306 -> Deployment
NodePort
但是在创建服务类型后我看不到任何服务Load Balancer
类型。
❯ kubectl get svc --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 22h
default nginx-service LoadBalancer 10.100.124.116 xxxx.elb.us-west-2.amazonaws.com 80:30603/TCP 160m
kube-system kube-dns ClusterIP 10.100.0.10 <none>
所以我这样检查nginx-service
。
❯ kubectl describe svc nginx-service
Name: nginx-service
Namespace: default
Labels: <none>
Annotations: service.beta.kubernetes.io/aws-load-balancer-type: nlb
Selector: app=nginx
Type: LoadBalancer
IP Families: <none>
IP: 10.100.124.116
IPs: <none>
LoadBalancer Ingress: a53cf3ff0507f44029248d267ddbc1e2-b687bfe561168a53.elb.us-west-2.amazonaws.com
Port: <unset> 80/TCP
TargetPort: 80/TCP
NodePort: <unset> 30603/TCP
Endpoints: 192.168.0.164:80,192.168.76.220:80
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
Load Balancer
我的服务类型上有 NodePort 。
所以我只是困惑。
与仅创建服务类型之间的手动创建NodePort
和制作 AWS NLB有什么不同吗?NodePort
Load Balancer
解决方案
推荐阅读
- c# - 使用 C# 在默认浏览器中使用 dataURI 加载文档
- sql-server - 错误编辑器或编辑器扩展 System.TypeInitializationException
- jersey-2.0 - 使用 EJB + JPA + Jersey 进行延迟加载
- google-maps - Google Maps Platform 无法创建项目(Google Cloud Platform 服务已被禁用)
- javascript - findOneAndUpdate 不更新文档
- reactjs - 在 React + React Redux 中在哪里执行更新操作?
- masstransit - 有没有办法从错误的活动中执行补偿
- scala - Spark 数据集:编译异常
- r - 流体行()没有显示在带有 toc 的一行上
- view - VMware Horizon View Client 双显示器