端口转发工具 Rinetd
- Rinetd 重定向传输协议控制工具;
- 可将源ip端口 数据转发至目标 ip端口;
- 在 k8s 中用于将service服务对外暴露;
安装
cd /opt/pack/
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar -zxvf rinetd.tar.gz
cd rinetd
sed -i 's/65536/65535/g' rinetd.c
mkdir -p /usr/man
# yum install -y gcc
make && make install
vim /etc/rinetd.conf
0.0.0.0 8000 10.108.178.75 8000
rinetd -c /etc/rinetd.conf
netstat -tulpn | grep 8000
利用 Rinetd 实现Service 负载均衡
- tomcat-service.yml 调整
apiVersion: v1
kind: Service
metadata:
name: tomcat-service
labels:
app: tomcat-service
spec:
# type: NodePort
selector:
app: tomcat-cluster # tomcat-deploy.yml 中的labels
ports:
- port: 8000
targetPort: 8080
# nodePort: 32500
kubectl create -f tomcat-service.yml
kubectl describe service tomcat-service
-
/opt/workspace/webapps/www-data/test/index.jsp:
-
<%=request.getLocalAddr()%>
-
浏览器访问: 192.168.249.134:8000/test/index.jsp