ClusterIP
    集群内部容器访问地址,会生成一个虚拟IP 与pod不在一个网段。
    NodePort
    会在宿主机上映射一个端口,供外部应用访问模式。
    LoadBalancer
    使用外部负载均衡。

    Headless CluserIP
    无头模式,无serviceip,即把spec.clusterip设置为None

    代理模式的分类
    33.png

    111.png

    3LRR]EISW3X45T~%W$U{4LT.png

    1111.png

    Ingress服务

    向 k8s 集群外部暴露服务的方式有三种: nodePort,LoadBalancer 和本文要介绍的 Ingress。每种方式都有各自的优缺点,nodePort 方式在服务变多的情况下会导致节点要开的端口越来越多,不好管理。而 LoadBalancer 更适合结合云提供商的 LB 来使用,但是在 LB 越来越多的情况下对成本的花费也是不可小觑。Ingress 是 k8s 官方提供的用于对外暴露服务的方式,也是在生产环境用的比较多的方式,一般在云环境下是 LB + Ingress Ctroller 方式对外提供服务,这样就可以在一个 LB 的情况下根据域名路由到对应后端的 Service,有点类似于 Nginx 反向代理,只不过在 k8s 集群中,这个反向代理是集群外部流量的统一入口

    集群版本:1.14

    Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx
    Ingress-Nginx 官方网站:https://kubernetes.github.io/ingress-nginx/
    222.png
    333.png

    前往nginx-ingress官网根据手册下载ingress-controller和nginx-ingress这两个yaml文件

    运行controller组件111.png

    查看运行状态

    222.png
    下载nginx-ingress的文件并运行333.png

    创建deployment文件
    11.png
    Service文件

    22.png
    Ingress文件

    33.png

    查看运行状态
    @XJR90DBMA_3W6P5L80}0V2.png

    进入windows下目录更改hosts文件
    55.png

    添加地址解析
    66.png

    确认访问成功
    77.png