全国服务热线:

15861139266

ingress 资源,苏州PLC培训,苏州上位机培训,苏州机器视觉培训,苏州工业机器人培训,苏州电工培训
发布时间:2023-04-23 09:12:08 点击次数:276

ingress 资源

ingress 资源通过yaml进行管理的,比如以下:


apiVersion: extensions/v1beta1

kind: Ingress

metadata:

  name: order

spec: 

  rules:

  - host: order.example.com

    http:

      paths: /

      backend: 

        serviceName: order

        servicePort: 80

以上我们定义了一个单一规则的ingress,该pod(nginx-ingress)接收到外部所有的请求,将被发送到内部order服务的80端口上。接下来我们看pod(nginx-ingress)如何把ingress资源转化为该pod中的nginx反向代理配置文件


upstream order{

    server order:80;

}


server {

    listen 80;

    server_name  order.example.com;

    ...

    ...

    location / {

        proxy_pass_header Server;

        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Scheme $scheme;

        proxy_pass http://order; # 对应ingress 资源 name: order

    }

}

当然ingress如果包含https,那么会转化nginx对应的443端口及证书的配置文件内容,这里就不写了。


那么,单一个规则的ingress资源代理多个服务(比如order服务,product服务)或者多个ingress资源文件如何转化为nginx配置?猜测,其实就是转化成了多个。


upstream order{

    server order:80;

}

当然,被转化的nginx配置文件要比这些复杂的多,据说还是用lua脚本写的,灵活如openresty。

nginx-ingress对外提供服务

一般来讲,pod直接对外提供服务就只有两种方式:


create一个service,该service暴漏nodePort

forward 映射

我们一般采用第一种。


nginx-ingress也是一个pod,所以,为了能使外部通过该pod代理访问,还需要nginx-ingress对外提供一个nodePort的service。这个service这里也不再写了。


nginx-ingress工作流程

40.9.png









1.png

立即咨询
  • 品质服务

    服务贴心周到

  • 快速响应

    全天24小时随时沟通

  • 专业服务

    授权率高,保密性强

  • 完善售后服务

    快速响应需求,及时性服务

直播课程
软件开发基础课程
上位机软件开发课
机器视觉软件开发课
专题课
联系方式
电话:15861139266
邮箱:75607082@qq.com
地址:苏州吴中区木渎镇尧峰路69号
关注我们

版权所有:江苏和讯自动化设备有限公司所有 备案号:苏ICP备2022010314号-1

技术支持: 易动力网络