k8 ingress-nginx

  

kubernetes Ingess是有2部分组成,入口控制器和入口服务组成,常用的入口控制器是ingress-nginx,工作的原理是:

  

入口控制器会动态感知集群中的入口的规则变化,然后读取,动态生成Nginx的配置文件,最后注入到运行Nginx的豆荚的中,然后会自动重载,配置生效。

  

用kubernetes入口是由于它是7层调度,可以直接卸载https会话,代理的后端的pod可以直接使用明文的http协议。

  

而服务NodePort得类型,是4层得调度,做不到这点,然而现在https是一种趋势,所以在kubernetes对外暴露服务得时候我们还是要选择入口。

  

下面我们来看下进入得部署:
原理图
 k8 ingress-nginx

  

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
  #后端服务的端口 

k8 ingress-nginx