「容器云架构」基于NGINX 的Kubernetes控制器

网友投稿 687 2022-08-25

「容器云架构」基于NGINX 的Kubernetes控制器

「容器云架构」基于NGINX 的Kubernetes控制器

Kubernetes是一个开源的容器调度和编制系统,最初由谷歌创建,然后捐赠给云计算基金会。Kubernetes自动安排容器在服务器集群中均匀运行,从开发人员和操作人员中抽象出这个复杂的任务。最近,Kubernetes已经成为-容器协调器和调度器。

Kubernetes的NGINX Ingress Controller为Kubernetes应用程序提供企业级交付服务,为开源NGINX和NGINX Plus的用户带来好处。使用Kubernetes的NGINX Ingress控制器,您可以获得基本的负载平衡、SSL/TLS终止、对URI重写的支持以及上游的SSL/TLS加密。NGINX Plus用户还为有状态应用程序获得会话持久性,为api获得JSON Web Token (JWT)认证。

注:对于NGINX Plus客户,Kubernetes的NGINX Ingress Controller支持不含额外费用。

Kubernetes的NGINX入口控制器是如何工作的

默认情况下,Kubernetes服务的豆荚不能从外部网络访问,只能通过Kubernetes集群中的其他豆荚访问。Kubernetes有一个内建的HTTP负载平衡配置,称为Ingress,它定义了Kubernetes服务的外部连接规则。需要提供对Kubernetes服务的外部访问的用户创建一个定义规则的入口资源,包括URI路径、支持服务名称和其他信息。进入控制器然后可以自动编程一个前端负载均衡器,以启用进入配置。Kubernetes的NGINX入口控制器使Kubernetes能够配置NGINX和NGINX Plus来平衡Kubernetes服务的负载。

注意:有关安装说明,请参阅我们的GitHub存储库。

下面的例子。yml文件创建一个Kubernetes入口资源,根据请求URI和主机报头将客户端请求路由到不同的服务。对于带有主机报头cafe.example.com的客户机请求,带有/tea URI的请求被路由到tea服务,而带有/coffee URI的请求被路由到coffee服务。

apiVersion: extensions/v1beta1 kind: Ingress metadata: name: cafe-ingress annotations: nginx.org/sticky-cookie-services: "serviceName=coffee-svc srv_id expires=1h path=/coffee" nginx.com/jwt-realm: "Cafe App" nginx.com/jwt-token: "$cookie_auth_token" nginx.com/jwt-key: "cafe-jwk" spec: tls: - hosts: - cafe.example.com secretName: cafe-secret rules: - host: cafe.example.com paths: - path: /tea backend: serviceName: tea-svc servicePort: 80 - path: /coffee backend: serviceName: coffee-svc servicePort: 80

要终止SSL/TLS通信,使用SSL/TLS证书和密钥创建Kubernetes Secret对象,并将其分配给Kubernetes Ingress资源(Secret包含少量敏感数据,如用于加密数据的证书和密钥)。有关机密的更多信息,请参见Kubernetes文档。

通过在Ingress资源YAML文件中指定注释或将Kubernetes资源(如ConfigMaps)映射到Ingress控制器,可以很容易地定制Ingress控制器。在上面的示例中,我们使用注释来定制Ingress控制器,方法是启用对咖啡服务的会话持久性,并配置JWT验证。我们的GitHub库提供了许多使用NGINX Plus部署Kubernetes Ingress控制器的完整示例。

有关可以使用NGINX和NGINX Plus在Ingress控制器上配置的所有附加功能的详细列表,请参阅存储库。

比较版本

谢谢大家关注,转发,点赞。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【事件驱动架构】 全面了解Kafka和RabbitMQ选型(1) -两种不同的消息传递方式
下一篇:「PostgreSQL技术」扩展Postgresql到TB
相关文章

 发表评论

暂时没有评论,来抢沙发吧~