kubernetes Ingess是有2部分组成,入口控制器和入口服务组成,常用的入口控制器是ingress-nginx,工作的原理是:
入口控制器会动态感知集群中的入口的规则变化,然后读取,动态生成Nginx的配置文件,最后注入到运行Nginx的豆荚的中,然后会自动重载,配置生效。
用kubernetes入口是由于它是7层调度,可以直接卸载https会话,代理的后端的pod可以直接使用明文的http协议。
而服务NodePort得类型,是4层得调度,做不到这点,然而现在https是一种趋势,所以在kubernetes对外暴露服务得时候我们还是要选择入口。
下面我们来看下进入得部署:
原理图
1。创建后端容器和服务
首先创建一个文件夹专门放置Igress得yaml得文件,mkdir入口
vim myapp.yaml
<代码> apiVersion:应用程序/v1 :部署 元数据: 名称:myapp 规范: 副本:3 选择器: matchLabels: 应用:myapp 模板: 元数据: 标签: 应用:myapp 规范: 容器: ——名称:myapp-ding 图片:ikubernetes/myapp: v2 --- apiVersion: v1 类型:服务 元数据: 名称:myapp #等会进入就靠这个来匹配 规范: 选择器: 应用:myapp 类型:ClusterIP 港口: 端口:80 发送:80 代码>
2。配置入口的配置文件
<代码> apiVersion:扩展/v1beta1 :入口 元数据: 名称:ingress-ding 名称空间:默认 注释: kubernetes.io/入口。类:“nginx” 规范: 规则: (主持人:www.yang.com #虚拟机主机域名 http: 道路: -路径: 后端: 名:myapp #代理后端的服务的名称 servicePort: 80 #后端服务的端口代码>