当前位置: 首页 > news >正文

阳西网站seo镇江房产网站建设

阳西网站seo,镇江房产网站建设,电子商务系统网站开发总结,昆山教育平台网站建设文章目录 背景搞起拓展( PROXY Protocol )参考 背景 公司业务繁多, HTTP、GRPC、TCP多种协议服务并存,Kubernetes流量入口复杂,所以萌生了通过LoadBalancer Ingress-nginx 的方式完全的结果入口流量,当然在高并发的场景下可以对…

文章目录

    • 背景
    • 搞起
    • 拓展( PROXY Protocol )
    • 参考

背景

公司业务繁多, HTTP、GRPC、TCP多种协议服务并存,Kubernetes流量入口复杂,所以萌生了通过LoadBalancer + Ingress-nginx 的方式完全的结果入口流量,当然在高并发的场景下可以对LoadBalancer 和Ingress-nginx 进行拆分管理。

HTTP以及GRPC在Ingress上的使用就不过多说明了。 主要验证下ingres-nginx对TCP流量的转发,以及简单窥探下实现逻辑。

搞起

首先先准备好内部TCP环境, 这里使用mysql作为测试服务,使用如下命令对服务进行部署。

cat > mysql.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:name: mysql-masterlabels:name: mysql-masternamespace: default
spec:replicas: 1selector:matchLabels:app: mysql-mastername: mysql-mastertemplate:metadata:labels:app: mysql-mastername: mysql-masterspec:containers:- name: mysql-masterimage: mysql:9imagePullPolicy: Alwaysports:- containerPort: 3306env:- name: MYSQL_ROOT_PASSWORDvalue: "123456"
---
kind: Service
apiVersion: v1
metadata:name: mysqlnamespace: default
spec:type: ClusterIPclusterIP: Noneports:- name: mysqlport: 3306selector:name: mysql-master
---
# 创建ingress tcp转发用到的configmap
apiVersion: v1
kind: ConfigMap
metadata:name: tcp-servicesnamespace: ingress-nginx
data:9000: "default/mysql:3306"
EOF
kubectl apply -f mysql.yaml

ingress对于TCP与UDP的转发通过增加--tcp-services-configmap--udp-services-configmap参数配置,用于指定配置保存的configmap。
configmap 格式如下:
<external port>:<namespace/service name>:<service port/name>:[PROXY]:[PROXY]

  • external port:表示ingress对外暴露的端口,需要在ingress service进行添加。 下一步添加。
  • <namespace/service name>:service 所在的namespace及名称。
  • <service port/name>:service的名称或端口。
  • [PROXY]:[PROXY]:TCP 服务中使用代理协议解码 (listen) 和/或编码 (proxy_pass)。第一个PROXY控制代理协议的解码,第二个PROXY控制使用代理协议的编码。(可选)

拓展( PROXY Protocol )

什么是 PROXY Protocol ? 其实很简单,就是为了解决多层NET或TCP转发时 无法获取客户端真实IP的问题,在 TCP 第一行加入了一些信息标识协议、客户端地址、转发地址以及端口等。目前有 v1 和 v2 两个版本。

开源版本支持:

  • HTTP 的 PROXY 协议:NGINX Open Source 1.5.12及更高版本
  • TCP 客户端 PROXY 协议:NGINX Open Source 1.9.3及更高版本
  • 接受 TCP 的 PROXY 协议:NGINX Open Source 1.11.4及更高版本
  • PROXY 协议 v2:NGINX Open Source 1.13.11及更高版本
    NGINX Open Source 默认不包含HTTP和Stream TCP的 Real-IP 模块;

一般获取客户端真实IP有以下2种方案:

HTTP:

  • 使用 X-Forwarded-For(XFF)头
  • Proxy Protocol + X-Forwarded-For

TCP:

  • Proxy Protocol + nginx日志分析
  • 基于网络层信息获取(toa)

然后接着说, 需要对ingress-nginx service 开启相应的端口转发,增加如下配置。

    - name: proxied-tcp-9000port: 9000targetPort: 9000protocol: TCP

最后,修改ingress-nginx deployment , 在启动参数中加入如下配置,用来更新nginx 关于TCP/UDP的转发配置。

args:- /nginx-ingress-controller- --tcp-services-configmap=ingress-nginx/tcp-services

完结~撒花🎉~~

参考

nginx-ingress 服务架构图
在这里插入图片描述
根据配置的信息自动加载后端IP、Port (https://github.com/kubernetes/ingress-nginx/blob/main/rootfs/etc/nginx/lua/tcp_udp_balancer.lua)
在这里插入图片描述

http://www.yayakq.cn/news/651075/

相关文章:

  • 做电影网站赚了几百万校园微网站界面
  • 建网站免费程序免费的十大免费货源网站
  • 同步网站内容怎么做做自己的网站收费吗
  • 网站的内容有哪些内容连云港网站建设推广
  • 网站开发项目报告书莆田建设局网站
  • 湖南省住房和建设厅网站wordpress百度网盘插件
  • 网站关键词都在第二页免费苏州企业名录
  • 网站建设方案的企业网站建设试题以及答案
  • 网站建设管理内容保障制度做企业网站 目的
  • 外国人做中国英语视频网站吗承德网站制作报价
  • 建设网站建设公司大型门户网站设计
  • 怎么制作网站图片不显示seo教程seo入门讲解
  • 多光营销软件网站牡丹江在哪个城市
  • 朝阳市网站建设信阳建设企业网站
  • 宁夏建设工程质量网站网站建设的论坛
  • 建设三类人员报考网站seo优化专家
  • 深圳南山企业网站建设网站欢迎屏怎么做
  • 网站建设开发企业上海企业建设网站报价
  • 做空包网站合法吗网络营销推广8种方法
  • 医疗网站建设哪家好网站建设 好公司
  • 河北省网站建设做封面的地图网站
  • 亚马逊中国官网网站ppt模板免费下载整套
  • 网站可不可以做自己的专利资阳市网站建设
  • 信阳专业做网站公司wordpress靶场
  • 宝塔面板做网站只做网站不推广能行吗
  • 网站的建设时间北京欢迎您网站建设
  • 营销型网站免费模板广东双语网站建设多少钱
  • 湖南网站建设设计网站与微网站区别
  • 精简网站模板网站建设中网站图片如何修改
  • 网站管理文档怎么写荣县网站开发