使用¶
本页从 4 层和 7 层负载均衡角度讲述如何使用 f5network
4 层负载均衡¶
当组件安装为 4 层负载均衡模式时,可为集群中的 service 创建 F5 的负载均衡服务,具体用法请参考 F5 官方文档。
以下给出简单的例子:
-
当以 nodePort 转发方式工作时,必须为应用创建一个 LoadBalancer 类型的 service。
apiVersion: v1 kind: Service metadata: name: http-server annotations: cis.f5.com/ipamLabel: LabelName cis.f5.com/health: '{"interval": 10, "timeout": 31}' spec: type: LoadBalancer ports: - port: 80 targetPort: 80 name: http selector: app: http-server
注意如上 YAML 中的 annotation:
- 必须打上 "cis.f5.com/ipamLabel",注意替换该 key 的值,请设置为安装时填写"BIGIP L4 IP Pool"的 LabelName,否则该转发规则不会分配到 VIP。
- "cis.f5.com/health" 是可选的。
- 更多的 annotation 支持,请参考 F5 官方文档。
-
创建 service 后,即可观测到分配到的 EXTERNAL-IP:
-
登录到 F5 Web UI,切换到所使用的 partition,即可观测到下发的转发规则。
-
在集群外发,访问 F5 分配到的 VIP,即可访问到服务。
7 层负载均衡 http¶
当组件安装为 7 层负载均衡模式时,可为集群中的 ingress 创建 F5 的负载均衡服务,具体用法请参考 F5 官方文档。
以下给出简单的例子:
-
确认 F5 的 ingressClass。
-
当本组件以 nodePort 转发方式工作时,必须为应用创建一个 nodePort 类型的 service 和 ingress 对象。
apiVersion: v1 kind: Service metadata: name: http-server spec: type: nodePort ports: - port: 80 targetPort: 80 name: http selector: app: http-server --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: http-server spec: ingressClassName: f5 rules: - http: paths: - path: /http-server pathType: Prefix backend: service: name: http-server port: number: 80
在如上 ingress yaml 中:
- ingressClassName 使用 F5 的 ingressClass。
- ingress 还支持更多 annotation,请参考 F5 官方文档。
-
创建 ingress 后,可观测到 ingress 对象分配到的 ADDRESS。
-
登录到 F5 Web UI,切换到所使用的 partition,即可观测到下发的转发规则。
- 在集群外发,访问 F5 分配到 URL http://VIP/http-server,即可访问到服务。
7 层负载均衡 https¶
-
创建一组 TLS 证书。
-
创建 secret(注意:secert 的 key 必须是 tls.key 和 tls.crt)。
-
创建 ingress 对象。