ingress

七层代理
如果跟客户端想进行https的访问,我们完全不需要在每一台apache配置https,只要在nginx开启https认证即可,nginx反向代理走http协议

和对外部https加密

k8s中默认没有改方式。

如果采用svc 必须在每个apache配置https加密证书。才能在默认的svc里进行https会话连接。

k8s在1.11版本后推出了ingress的api接口。
在这里插入图片描述
在这里插入图片描述
当然也可以使用haproxy等,这里使用nginx反向代理

在这里插入图片描述
nginx如何跟后端svc连接?
依然是nodeport部署方案。
以内部服务暴露给外部用户。访问Nginx
再链接至不用的svc。
nginx的配置文件会自动添加。
在这里插入图片描述
api server需要跟store进行api监听状态。以协程pod的方式向API server发起链接的方案进行监听。发生新的更新会写入到循环队列中。nginx coontroller会监听updatechannel的资源实践。发生一个循环会更新一个事件,把它写入到更新队列中。等待被协程更改配置文件。定期执行需要叠加的任务。如果有不需要进行更新的任务,两个协程可以直接发送沟通。判断是否需要重载。不需要重载的就等待不需要重载的数据即可。最后以nginx模块去运行。

构建ingress nginx

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看需要下载的镜像
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所以如果想要访问http就访问31345端口,访问https访问31802
在这里插入图片描述
ingress也需要service的nodeport去暴露,跟development一样。

一、ingress HTTP代理

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
创建了一个nginx服务

现在想要通过nginx的ingeress方案把它保留出去,实现根据域名访问。
在这里插入图片描述
新建一个文件

访问的路径就是host域名下面的根目录。
这里的ingress链接的就是上面svc的名称nginx-svc
在这里插入图片描述
可以通过域名访问了
因为没有域名解析 所以更改/etc/hosts文件
在这里插入图片描述
访问的端口是ingress的端口
在这里插入图片描述
在这里插入图片描述

二、ingress实现虚拟主机的方案

两个deployment www1. www2
创建svc与deployment对应的pod关联
创建ingress的配置方式,与两个svc关联

在这里插入图片描述
虚拟主机的方案都放下面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建第二个
在这里插入图片描述
注意标签就不能一致了
在这里插入图片描述
在这里插入图片描述
写ingress规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
cat /etc/nginx.conf
可以看到两个域名反向代理的规则
规则会转换成nginx的配置文件 注入进配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这就是ingress的规则

三、通过ingress https代理访问

在这里插入图片描述
首先创建一个证书。
req证书请求
x509格式
时间365天
用一个newkey新建
key的输出结果是tls.key
out 输出到证书 格式是tls.crt
subject就是标识
创建了一个secret格式是tls格式。指定key和证书。
可以认为是tls-cecret的secret保存了刚才创建的证书和私钥

在这里插入图片描述
创建一个www3
在这里插入图片描述
在这里插入图片描述
通过secret封装进去

开始ingrss的创建
在这里插入图片描述

创建新的deployment
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、nginx 进行基础认证

因为ingress采用的是nginx方案,所以nginx支持的ingress也支持
需要阿帕奇模块
在这里插入图片描述

在这里插入图片描述
创建密钥文件
创建名称为auth 用户名称为foo
在这里插入图片描述
创建一个密码文件
在这里插入图片描述
会话的说明。realm
在这里插入图片描述
访问这个域名会进行一个认证方案,并且访问的是svc1版本
所以其他的只需要添加annotations字段也可认证。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
因为这里是http协议,所以采用的还是31345端口哈
在这里插入图片描述
用户名:foo
密码就是刚才设置的
在这里插入图片描述
这个就是给nginx加一个基础的认证

五、nginx进行重写

在这里插入图片描述
需要在annotations里面添加这些
使用第一个:
在这里插入图片描述

现在设置如果想要访问re.itguigu.com就跳转到www3.atiguigu.com中去
www3是https的
在这里插入图片描述
在这里插入图片描述
此处的svc可以随意链接
在这里插入图片描述
在这里插入图片描述
访问re自动跳转了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值