• 11. Ingress及Ingress Controller(主nginx ingress controller)


    11. Ingress,Ingress Controller
    拥有七层代理调度能力

    什么是Ingress:
    Ingress是授权入站连接到达集群服务的规则集合
    Ingress是一个Kubernetes资源,允许您为在Kubernetes上运行的应用程序配置HTTP负载均衡器,由一个或多个服务代表。这样的负载平衡器是将这些应用程序交付给Kubernetes集群之外的客户端所必需的。

    Ingress资源支持以下功能:
    1 基于内容的路由:
    基于主机的路由。例如,将具有主机头的请求路由foo.example.com到一组服务,将主机头路由bar.example.com到另一个组。
    基于路径的路由。例如,使用/serviceA以服务A开头的URI和具有/serviceB以服务B 开头的URI的请求来路由请求。
    2 每个主机名的TLS / SSL终止,例如foo.example.com。

    Ingress将集群外部的HTTP和HTTPS路由暴露给集群中的服务。Ingress可以配置为提供服务外部可访问的URL,负载平衡流量,终止SSL / TLS,并提供基于名称的虚拟主机。

    什么是Ingress Controller?
    Ingress控制器是一个在集群中运行的应用程序,它根据Ingress资源配置HTTP负载均衡器。负载均衡器可以是在群集中运行的软件负载均衡器,也可以是在外部运行的硬件或云负载均衡器。不同的负载平衡器需要不同的Ingress控制器实现。
    在NGINX的情况下,Ingress控制器与负载平衡器一起部署在一个容器中。


    Ingress Controller:

    HAProxy 不推荐
    Nginx
    Envoy 微服务强烈推荐使用,可自动动态加载(对比与nginx的优势)
    Traefik 可自动动态加载(对比与nginx的优势)

    Ingress是一种资源,所以和pod service等定义的方式类似
    Ingress Controller k8s核心附件之一

    ===============================

    nginx Ingress Controller部署:

    使用官方推荐的mandatory.yaml这个文件部署 pod一直处于pending状态启动有问题
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml

    部署过程中需要拉取镜像quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1,国内非常慢

    有大佬写了个工具,亲测好使。
    https://github.com/xuxinkun/littleTools#azk8spull
    先将这个镜像拉取下来
    https://www.cnblogs.com/xuxinkun/p/11025020.html


    验证是否安装成功:
    kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch

    ssl需要secret

    TLS字段

    kubectl create secret tls tomcat-ingress-secret --cert=tls --key=tls.key

    kubectl get secret


    https://kubernetes.github.io/ingress-nginx/

  • 相关阅读:
    js Worker 线程
    C#接口
    C# 委托
    陆金所面试题
    spark-groupByKey
    spark完整的数据倾斜解决方案
    Spark Streaming
    用SparkSQL构建用户画像
    Spring Cloud底层原理(转载 石杉的架构笔记)
    TCC分布式事务的实现原理(转载 石杉的架构笔记)
  • 原文地址:https://www.cnblogs.com/heaven-xi/p/11312611.html
Copyright © 2020-2023  润新知