什么是admissionWebhooks?
admissionWebhooks是Kubernetes的一种高级特性,它允许集群管理员通过Webhook服务来验证和修改提交到Kubernetes API服务器的资源请求。这些资源请求可以包括创建、更新或删除Kubernetes对象,如Pod、Service、Deployment等。
参考文档:
《K8S中安装使用Ingress》一文中,我们安装配置了Ingress。
安装Ingress后,默认的服务端口是NodePort,范围 30000-32767 。因为端口不是80和443,所以我们无法直接把域名解析到节点IP上,上层还需要增加一个LB或者Nginx进行转发。而增加了上层,整个链路就变长了,增加了响应耗时和出现问题的概率。
本文中,我们学习一种Ingress配置方法,能够使Ingress直接使用宿主机的80和443端口。
ingress是k8s中的一个七层的负载均衡,可以把流量路由到service。
如果没有ingress,我们可以通过外部的nginx、haproxy等也可以实现七层负载均衡,但是配置nginx比较麻烦,因为想要配置nginx的upstream必须先查询service的ip,那如果使用service的name,还要维护一个dns;如果想要换成haproxy,成本也比较高。而有了ingress,实际上就是把nginx等七层负载均衡集成到了k8s中,配置就更加简单也更加通用。
它的工作原理是ingress服务作为流量的入口,收到请求后,根据host、path等规则,匹配到对应的service和端口,然后把流量转发到service的端口,service再转发流量给pod。
参考文档: