入门级实操教程!从概念到部署,全方位了解k8入口!

  

Kubernetes入口用于添加规则,以将流量从外部路由到Kubernetes集群的服务中。在本文中你将了解入口的概念,以及用于路由外部流量到Kubernetes部署的入口控制器。

  

,

  

通常情况下,自定义Nginx或HAproxy Kubernetes部署将作为服务被暴露,它们用于将外部流量代理到内部集群的服务中。其中,路由规则将会烤到舱中,并作为configmap添加.Kubernetes入口的行为与此类似,只是路由规则将作为Kubernetes入口对象维护。它具有动态路由规则配置的巨大优势,因此无需重新部署代理豆荚。
,
入门级实操教程!从概念到部署,全方位了解k8入口!

  

,

  

Kubernetes入口入门浅析

  

,

  

想要顺利开始使用Kubernetes入口,你需要了解以下两个关键概念:

  

,

  

1, Kubernetes入口

  

2, Kubernetes入口控制器

  

,

  

让我们来逐一了解。

  

,

  

Kubernetes入口

  

,

  

Kubernetes入口是一个原生的Kubernetes资源,你可以设置规则来从外部路由流量到集群内部的服务端点。它需要一个入口控制器来路由入口对象所指定的规则.Ingress对象如下所示:
,

  
 <代码> apiVersion:扩展/v1beta1
  :入口
  元数据:
  名称:test-ingress
  名称空间:开发
  规范:
  规则:
  (主持人:test.apps.example.com
  http:
  道路:
  后端:
  名:hello-service
  servicePort: 80  
  

,
上面的声明意味着,对test.apps.example.com的所有调用都应打击该名为hello-service的服务,这一服务位于dev命名空间中。

  

,

  

关于入口对象,你需要了解的关键事项如下:

  

,

  
      <李>   

    你应该在你所部署服务的命名空间内创建入口规则。如果在其他没有入口对象的命名空间中,你将无法路由流量到其中的服务内。

      李   <李>   

    一个入口对象需要一个入口控制器来路由流量

      李   <李>外部流量将不会进入API,而打击是入口控制器服务。   
  

,

  

Kubernetes入口控制器/h3>   

,

  

入口控制器是一个典型的部署在集群中的代理服务,它只是暴露给服务的Kubernetes部署。以下是可用于Kubernetes的入口控制器:

  

,

  
      <李>   

    Nginx入口控制器   李   <李>   

    Traefik   李   <李>   HAproxy

      李   <李>   

    轮廓   李   <李> GKE入口控制器
    ,   

  

目前,Nginx是大多数企业的选择。以下是Nginx入口控制器的工作原理:
,

  
      <李>   

    在Nginx控制器豆荚内部的Nginx。参看文件是一个走模板,它可以与Kubernetes入口API通信并实时获得流量路由的最新值。

      李   <李>   

    Nginx控制器与Kubernetes入口API通信以检查是否为流量路由创建了规则。

      李   <李>如果它发现了任何进入规则,它将应用到Nginx控制器配置,也就是使用去模板在仓内的nginx.conf文件。   
  

,

  

如果你使用exec连接到舱并检查/etc/nginx nginx.conf文件,则可以看到在参看文件中应用的入口对象中指定的所有规则。
,

  

以下的架构图将解释在一个Kubernetes集群上的入口设置。
,

  

入门级实操教程!从概念到部署,全方位了解k8入口!”> <br/>, <br/>接下来,我们详细看看如何使用Nginx入口控制器在Kubernetes中设置入口。<br/>, </p>
  <h2>前期准备</h2>
  <p>, </p>
  <ul>
  <李>
  <p>一个Kubernetes集群</p>
  李</>
  <李>
  <p>安装好的kubectl并已对Kubernetes集群进行身份验证</p>
  李</>
  <李>
  <p> Kubernetes集群的管理员访问权限</p>
  李</>
  <李>指向入口控制器负载均衡器的有效域李</>
  </ul>
  <p>, </p>
  <p>如果你在谷歌云上,请为你的账户分配管理员权限以启用集群角色。<br/>, </p>
  <pre> <代码>账户=$ (gcloud信息——格式=价值(config.account))
  kubectl创建clusterrolebinding owner-cluster-admin-binding \
  ——clusterrole集群管理员\
  ——用户账户美元</代码> </pre>
  <p>, </p>
  <blockquote>
  <h2 class=入门级实操教程!从概念到部署,全方位了解k8入口!