Ingresscontroller是一个典型的部署在集群中的代理服务,它只是暴露给服务的Kubernetes部署。以下是可用于Kubernetes的IngressController:
NginxIngressController
Traefik
HAproxy
Contour
GKEIngressController
目前,Nginx是大多数企业的选择。以下是NginxIngressController的工作原理:
在Nginxcontrollerpod内部的nginx.conf文件是一个go模板,它可以与KubernetesIngressAPI通信并实时获得流量路由的最新值。
Nginxcontroller与KubernetesingressAPI通信以检查是否为流量路由创建了规则。
如果它发现了任何ingress规则,它将应用到NginxController配置,也就是使用go模板在pod内的nginx.conf文件。
如果你使用exec连接到pod并检查/etc/nginx/nginx.conf文件,则可以看到在conf文件中应用的ingress对象中指定的所有规则。
前期准备
一个Kubernetes集群
安装好的kubectl并已对Kubernetes集群进行身份验证
Kubernetes集群的管理员访问权限
指向ingresscontroller负载均衡器的有效域
如果你在谷歌云上,请为你的账户分配管理员权限以启用集群角色。
设置NginxIngressController
我们将使用Kubernetes社区的nginxcontroller。
Ingresscontroller需要特定的命名空间、服务账户、集群角色绑定、configmap等。因此,你需要使用官方ingressrepo中的yaml文件来创建所提到的Kubernetes对象。
检查ingresscontrollerpod以确保它是否正确设置:
kubectlgetpods-ningress-nginx
结束语:以上就是关于KubernetesIngressController是什么意思的全部内容,更多内容请关注学步园。