阿里云容器计算服务控制台提供丰富的集群及应用的管理运维功能。本文将介绍如何通过控制台部署Nginx服务、配置Ingress以及查询日志。
前提条件
-
ACS集群中已安装ALB Ingress Controller组件。具体操作,请参见管理ALB Ingress Controller组件。
-
已为ACS集群配置SNAT,开启公网访问能力。具体操作,请参见为集群开启公网访问能力。
步骤一:部署Nginx应用
-
登录容器计算服务控制台,在左侧导航栏选择集群列表。
-
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。
-
在无状态页面的顶部,设置命名空间为default,然后单击使用YAML创建资源。
-
对模板进行相关配置,完成配置后单击创建。
-
设置示例模板为Resource - basic Deployment。
-
将Nginx镜像版本改为 1.9.1。
spec: # nodeSelector: # env: test-team containers: - name: nginx image: nginx:1.9.1 # replace it with your exactly <image_name:tags> ports: - containerPort: 80 env: - name: aliyun_logs_log-nginxvarlog value: stdout -
在模板中的
spec字段下添加以下内容来配置日志采集。aliyun_logs_log-nginxvarlog表示创建一个名为log-nginxvarlog的Logstore,日志采集路径为stdout的配置,从而将容器的标准输出采集到Logstore中。更多关于日志参数的配置信息,请参见通过Pod环境变量配置应用日志采集。env: - name: aliyun_logs_log-nginxvarlog value: stdoutspec: # nodeSelector: # env: test-team containers: - name: nginx image: nginx:1.7.9 # replace it with your exactly <image_name:tags> ports: - containerPort: 80 env: - name: aliyun_logs_log-nginxvarlog value: stdout
-
-
单击创建。
创建成功后,可以在无状态页签下看到Nginx应用。
步骤二:发布Nginx应用
-
在集群管理页左侧导航栏,选择。
-
在服务页面,单击创建。
-
在创建服务对话框中配置服务,然后单击确定。
配置项
说明
服务名称
设置服务名称。
服务类型
设置类型为虚拟集群IP。
服务关联
设置关联对象为nginx-deployment-basic。
端口映射
设置端口名称,。服务端口为80,容器端口为80,协议为TCP。
注解
按需为服务添加一个注解(Annotation)。
标签
按需为服务添加一个标签,标识该服务。
步骤三:创建Ingress服务
-
在集群管理页左侧导航栏,选择。
-
在路由页面,单击创建Ingress。
-
在弹出面板中配置路由,然后单击确定。
以下为重点配置项,其他配置项的说明请参见ALB Ingress快速入门。
-
网关类型:选择ALB Ingress。
-
名称:自定义路由名称,本例设置为ingress-demo。
-
Ingress Class:选择IngressClass。
-
规则:自定义输入域名,然后设置路径为
/,设置服务名称为步骤二中创建的服务名称,端口自动绑定为80。
-
-
通过域名访问应用。
根据配置的自定义域名,在浏览器中输入
http://域名,显示以下页面,说明路由创建成功。访问后页面显示 Nginx 默认欢迎页面,标题为 Welcome to nginx!,表明 Nginx 已成功安装并正常运行,Ingress 服务配置生效。
步骤四:查看Nginx Access日志
-
在集群管理页左侧导航栏,单击集群信息。
-
在基本信息页签下的集群资源区域,单击日志服务 Project,跳转到日志库。
-
在日志库中,选择log-nginxvarlog,查看最近访问日志。
日志详情中包含容器元数据字段:
_container_name_(nginx)、_image_name_(nginx:1.9.1)、_namespace_(default)、_pod_name_(nginx-deployment-basic-58fb6d5489-vxcl2)、_source_(stdout),以及content字段记录的 Nginx 访问日志内容(包含 GET 请求、HTTP/1.1 200 状态码、User-Agent 等信息)。