【k8s系列十四】nginx-ingress原理

一. 现存的问题

现在所有的app再上线之前都必须进行加密,这里的加密不是说对应用加密,而是对请求加密,比如https加密请求。如果我们使用的是clusterIp类型, clusterIp是四层协议,那么就不能再svc层加密,这时必须在每一个app上进行加密。 也就是每台服务器都要配置https加密协议

这样的问题是,每次上线一个app,都要对app进行加密。很多重复操作。

那么,我们能不能换一种方案,就实现一次加密呢?比如将ClusterIp替换为nginx,这样就采用七层协议(四层协议只能用来进行数据传输,七层协议才可以用来做加密)。

这样用户在请求到nginx的时候,采用的是https加密协议, 而nginx在请求到pod的时候, 采用的是http协议, 这样我们只需要在nginx进行加密就可以了. 这样的配置更简单, 后端服务的压力也会更小.

我们要是在物理机上像上面那样实现是可以的, 那么, 要是在k8s中, 应该如何实现呢?

第一步:创建一个myapp-deployment, 创建n个pod. 在创建一个clusterIp类型的svc, 关联到myapp. 设置好对内端口. 第二步:创建一个nginx-deployment,创建n个nginx的pod, 在创建一个NodePort类型的svc, 对内关联nginx的pod, 对外暴露

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值