Prisma Cloud 计算:如何配置负载均衡器类型AWS弹性 Kubernetes 服务 (EKS )
23515
Created On 11/11/19 22:03 PM - Last Modified 03/21/24 01:19 AM
Objective
安装 Twistlock 时AWS弹性 Kubernetes 服务,部署创建一个AWS经典负载均衡器 (ELB ) 默认情况下,Twistlock 控制台通过ELB. 这ELB是面向互联网的,有一个安全组为互联网的端口 8081 和 8083 提供服务。 在许多情况下,这并不理想,因为 Internet 上的任何人都可以使用负载均衡器的DNSname 可以访问控制台的登录页面。
从 1.9.0 版本开始,Kubernetes 支持AWS网络负载均衡器(NLB ). 与 ELB 不同,NLB 转发客户的IP通过到节点。 您可以利用此属性来限制哪些 IP 可以访问NLB通过设置.spec.loadBalancerSourceRanges在您的部署文件中。 如果.spec.loadBalancerSourceRanges未设置,Kubernetes 允许从 0.0.0.0/0 到节点安全组的流量。 如果节点有公共IP地址,请注意,非NLB流量还可以到达那些修改后的安全组中的所有实例。
如果您使用混合环境,有时需要从同一环境中的服务路由流量VPC. 在水平分割中DNS环境中,您需要两个服务才能将外部和内部流量路由到您的端点。 这是内部负载平衡器有用的地方,它允许将更多限制性设置应用到由 Twistlock 控制台部署创建的负载平衡器。
本指南向您展示如何更改负载均衡器的配置。 它由添加到您的 Twistlock 控制台服务部署文件的注释控制。
Environment
- Prisma Cloud 计算 SaaS 版本
- Prisma Cloud 计算自托管 21.04 及更高版本
- AWS EKS 1.9.0及以上版本
Procedure
供应网络负载均衡器
先决条件
- 您已经创建了一个EKS簇。
- 你有twistlock_console.yaml在您当前的工作目录中。 此部署文件是使用 twistcli 工具生成的。
- 打开 twistlock_console.yaml 进行编辑。
- 在Service中添加如下注解:
注释:service.beta.kubernetes.io/aws-load-balancer-type: nlb
- (可选)限制哪个客户端IP的可以访问网络负载均衡器,指定以下内容:
规格:
loadBalancerSourceRanges:
- “143.231.0.0/16”
loadBalancerSourceRanges:
- “143.231.0.0/16”
- 部署 Twistlock 控制台
$ kubectl create -f twistlock_console.yaml
如果操作正确,Twistlock 控制台将通过网络负载均衡器提供服务。 由此产生的服务YAML在 twistlock_console.yaml 中应该如下所示:
---
api版本:v1
种类:服务
元数据:
标签:
名称:控制台
名称:扭锁控制台
命名空间:扭锁
注释:service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
规格:
端口:
- 名称:通信端口
端口:8084
- 名称:管理端口-https
端口:8083
- 名称:mgmt-http
端口:8081
loadBalancerSourceRanges:
- “143.231.0.0/16”
选择器:
名称:扭锁控制台
名称:扭锁控制台
类型:负载均衡器
---
提供内部负载平衡器
先决条件
- 您已经创建了一个EKS簇。
- 你有twistlock_console.yaml在您当前的工作目录中。 此部署文件是使用 twistcli 工具生成的。
程序
- 打开 twistlock_console.yaml 进行编辑
- 将以下注释添加到服务。
注释:service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
- 部署 Twistlock 控制台。
$ kubectl create -f twistlock_console.yaml
对于内部负载均衡器,您的 AmazonEKS集群必须配置为使用您的至少一个私有子网VPC. Kubernetes 检查您的子网的路由表,以确定它们是公共的还是私有的。 公共子网具有使用互联网网关直接连接到互联网的路由,但私有子网没有。
如果操作正确,Twistlock 控制台将在整个内部负载均衡器中提供服务。 由此产生的服务YAML在 twistlock_console.yaml 中应该如下所示:
---
api版本:v1
种类:服务
元数据:
标签:
名称:控制台
名称:扭锁控制台
命名空间:扭锁
注释:service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
规格:
端口:
- 名称:通信端口
端口:8084
- 名称:管理端口-https
端口:8083
- 名称:mgmt-http
端口:8081
选择器:
名称:扭锁控制台
名称:扭锁控制台
类型:负载均衡器
---
api版本:v1
种类:服务
元数据:
标签:
名称:控制台
名称:扭锁控制台
命名空间:扭锁
注释:service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
规格:
端口:
- 名称:通信端口
端口:8084
- 名称:管理端口-https
端口:8083
- 名称:mgmt-http
端口:8081
选择器:
名称:扭锁控制台
名称:扭锁控制台
类型:负载均衡器
---
有关完整的 Kubernetes 安装过程,请参阅在 Kubernetes 上安装 Twistlock .
Additional Information
有关负载平衡的更多信息,请访问EKS, 看到EKS负载平衡用户指南