使用YAML部署和暴露Nginx服务并通过SLS监控日志

阿里云容器服务控制台提供丰富的集群及应用的管理运维功能。本文将介绍如何通过控制台部署Nginx服务、配置Ingress以及查询日志。

前提条件

步骤一:部署Nginx应用

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态

  3. 无状态页面,单击使用YAML创建资源,对模板进行相关配置,完成配置后单击创建

    • 在页面顶部设置命名空间default,并设置示例模板Resource - basic Deployment

    • 配置日志采集。有关更多日志参数的配置信息,请参见通过日志服务采集Kubernetes容器日志

      在模板中的spec字段下添加以下内容。

      说明

      下方示例代码中aliyun_logs_log-nginxvarlog表示创建一个名为log-nginxvarlog的Logstore,日志采集路径为stdout的配置,从而将容器的标准输出采集到Logstore中。

      env:
      - name: aliyun_logs_log-nginxvarlog
        value: stdout

      配置日志采集

    • 将Nginx镜像版本改为 1.9.1。设置镜像

    创建成功后,单击页面左上方的image.png,可以在无状态页签下查看创建成功的Nginx应用。Nginx

步骤二:创建Service并发布Nginx应用

  1. 在集群管理页左侧导航栏,选择网络 > 服务

  2. 服务页面,单击创建,然后在创建服务对话框,配置服务信息,然后单击创建

    参数

    说明

    示例值

    名称

    设置服务名称。

    nginxservice

    类型

    支持多种设置类型虚拟集群IP

    虚拟集群IP

    关联

    设置关联对象。

    nginx-deployment-basic

    端口映射

    自定义端口名称,配置服务端口为80,容器端口为80,协议TCP

    • test

    • 80

    • 80

    • TCP

步骤三:创建Nginx Ingress路由对外暴露Nginx应用

  1. 在集群管理页左侧导航栏,选择网络 > 路由

  2. 路由页面,单击创建 Ingress

  3. 选择网关类型Nginx,参照下方内容配置路由,然后单击确定

    以下为重点配置项,其他配置项的说明请参见创建Nginx Ingress

    • 名称:自定义路由名称,本示例设置为ingress-demo。

    • 规则:域名置空,设置路径/,匹配规则为默认,设置服务名称为上文创建的服务名称,即nginxservice,端口自动绑定为80。

    等待1分钟左右,路由列表的端点列将显示路由的IP。在浏览器中输入端点IP,显示以下页面,表明路由创建成功。Nginx

步骤四:查看Nginx Access日志

Nginx应用成功发布并对外暴露后,Nginx Ingress Controller支持将所有HTTP请求日志记录到标准输出中。您可以在SLS控制台查看Nginx应用的访问日志,监控Nginx Ingress的实时状态。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息

  3. 在集群信息页面单击集群资源页签,单击日志服务Project的ID,跳转至日志库。

  4. 在日志库中,选择log-nginxvarlog,查看最近访问日志。

    日志