---
# System prepended metadata

title: expose-loadbalancer-services-using-iptables-nat-rules_zh-CN
tags: [summer-ospp]

---

---
tags: summer-ospp
---
# expose-loadbalancer-services-using-iptables-nat-rules_zh-CN
## 项目目标

为 [PorterLB](https://porterlb.io/) 开发一个简易模式，允许用户使用 Kubernetes 集群节点的 IP 和 Service 端口来发布 LoadBalancer 服务。



## 技术要求

* Golang
* Kubernetes
* Linux 网络 (iptables 和 IPVS)

## 项目背景

目前，PorterLB 支持二层模式和 BGP 模式，它可以在 Kubernetes 集群中发布 LoadBalancer 服务。二模式和 BGP 模式都需要其他的配置（Eip，BgpConf 和 BgpPeer），并且 BGP 模式要求路由器支持 BGP 协议。

我们希望提供一种简易模式，以便用户可以更容易地发布 LoadBalancer 服务。


## 项目详情

新模式需要支持以下功能：

* 可以通过 Kubernetes 集群节点的 IP 和 Service 端口直接访问 LoadBalancer 服务，而无需使用 NodePort。
* PorterLB 自动选择一个 Kubernetes 集群节点，并且该集群节点的 Service 端口所对应的端口未被占用。
* Service 流量通过 iptables NAT 规则转发到 LoadBalancer 服务的群集IP地址，并通过kube-proxy 进一步转发到后端 Pod。

## 项目范围

TODO

## 项目产出

TODO

## 链接

* https://porterlb.io/
* https://github.com/kubesphere/porter/issues/180

## 快速入门

You can start with [a minimal KubeSphere system](https://kubesphere.io/docs/quick-start/minimal-kubesphere-on-k8s/). [Install Porter on KubeSphere](https://porterlb.io/docs/getting-started/installation/install-porter-on-kubesphere/) once KubeSphere is ready and [Build the Porter Project](https://porterlb.io/docs/building/).

## 入门 Issues

* [Add events and logs in key places during service processing](https://github.com/kubesphere/porter/issues/187)
* [Integration with calico, reuse of calico bgp functions](https://github.com/kubesphere/porter/issues/151)

## 导师/联系方式

* [Zhengyi Lai](https://github.com/zheng1)
* [Jiong Duan](https://github.com/duanjiong)

