云原生工具箱典型场景

云原生工具箱(Cloud Native Kit,简称CNKIT)适用于开发、测试和线上运维等阶段。本文介绍CNKIT的典型使用场景,例如查看下载Pod日志、终端命令审计和开发及调试。

查看下载Pod日志

Pod日志包括两种:Pod标准输出日志和Pod内磁盘日志。您可以执行以下操作查看并下载Pod日志。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 应用总览的左侧导航栏,单击云原生工具箱
  4. 开通步骤步骤三:服务访问配置区域,单击一键访问,跳转到Pod列表页面。
    • 对于Pod标准输出日志,您可以执行以下操作查询并下载Pod标准输出日志。

      1. Pod列表页面,单击Pod监控
      2. 在右侧滑出的面板中,单击标准输出内容下载,查询并下载Pod标准输出日志。
      查看(下载)Pod日志
    • 对于Pod内磁盘日志,您可以执行以下操作查询并下载Pod内的文件。

      1. Pod列表页面,单击打开终端
      2. 在弹出页面的右上角,单击文件管理,然后单击操作列的下载,查询并下载Pod内的文件。
      查询Pod内文件

终端命令审计

云原生工具箱提供的终端具备命令审计能力。您可以执行以下操作查看历史执行的命令记录。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 应用总览的左侧导航栏,单击云原生工具箱
  4. 开通步骤步骤三:服务访问配置区域,单击一键访问,跳转到Pod列表页面。
  5. Pod列表页面,单击审计日志查看历史执行的命令记录。
终端命令审计

开发及调试

您可以通过云原生工具箱创建一个临时工作空间(本质是一个Pod),在该Pod上进行开发、部署、调试和诊断,完成调试后可一键删除该临时工作空间。整体流程如下图所示。

开发及调试

复制

您可以执行以下操作实现Pod复制。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 应用总览的左侧导航栏,单击云原生工具箱
  4. 开通步骤步骤三:服务访问配置区域,单击一键访问,跳转到Pod列表页面。
  5. Pod列表页面,单击创建Pod实现Pod复制。
创建Pod
配置项说明
启动命令Pod的启动命令。默认使用原镜像的启动命令。如果需要进行迭代部署或者开启调试,需要自定义启动命令。这是由于原镜像启动命令往往会使用应用进程作为一号进程,一旦应用退出或重启,该Pod就会随之释放。因此,需要设置特殊的启动命令防止Pod随应用退出而被释放。
复制模式支持基于Pod复制或者从Deployment的Spec进行创建。
目标节点Pod运行的集群节点。默认通过K8s调度运行Pod,您也可以直接指定特定集群节点运行该Pod。
Pod日志将Pod日志输出到标准输出流或者重定向到文件。
流量控制通过全链路流控,使只有符合特定规则的请求进入该Pod节点。
诊断选项支持应用启动时立即运行Tcpdump进行监测、一键打开JVM异常记录和去除Liveness探针。

部署

对于在CNKIT上创建的Pod,您可以通过页面部署和插件部署两种方式进行包部署。

说明 原应用的Pod不支持页面部署和插件部署。

页面部署

您可以执行以下操作将包上传至该Pod并完成应用更新部署。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 应用总览的左侧导航栏,单击云原生工具箱
  4. 开通步骤步骤三:服务访问配置区域,单击一键访问,跳转到Pod列表页面。
  5. Pod列表页面,单击打开终端,然后单击部署调试区域的应用更新
  6. 应用更新页签,单击选取文件选中本地文件后,单击上传并部署即可将包上传至该Pod,并完成应用更新部署。
页面部署

插件部署

在IntelliJ IDEA中,安装Alibaba Cloud Toolkit后,可新建CNKIT Deploy运行配置。

  1. 启动IntelliJ IDEA,右上角单击配置,选择Edit Configurations...
  2. 在对话框中,单击添加,选择EDAS on Alibaba Cloud > EDAS for CNKIT Deploy。配置完成后,单击Ok
    插件部署
  3. 保存后,单击调试,即可在IntelliJ IDEA中一键部署至Pod。
    插件部署2

调试

在创建的Pod中,您可以执行以下操作一键打开调试端口。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 应用总览的左侧导航栏,单击云原生工具箱
  4. 开通步骤步骤三:服务访问配置区域,单击一键访问,跳转到Pod列表页面。
  5. Pod列表页面,单击打开终端,然后单击部署调试区域的远程调试
  6. 远程调试页签,单击开启调试
    调试
  7. 在IntelliJ IDEA中新建Remote JVM Debug配置,连接本地调试端口(截图示例端口为5005,可连接至该Pod应用调试端口)。
    1. 启动IntelliJ IDEA,右上角单击配置,选择Edit Configurations...
    2. 在对话框中,单击添加,选择Remote JVM Debug。配置完成后,单击Ok
    调试
  8. 单击调试,运行此配置即可进行远程调试。
    远程调试

诊断

CNKIT提供K8s调度事件、TcpDump和Arthas等能力,帮助您进行应用问题诊断。

  1. 登录EDAS控制台
  2. 在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域,并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
  3. 应用总览的左侧导航栏,单击云原生工具箱
  4. 开通步骤步骤三:服务访问配置区域,单击一键访问,跳转到Pod列表页面。
  5. CNKIT提供K8s调度事件、Arthas和TcpDump等能力,帮助您进行应用问题诊断。
    • K8s调度事件能力。

      Pod列表页面,单击Pod监控,在面板的Pod状态页签查看K8s调度事件和Pod状态。

      诊断
    • Arthas能力:

      Pod列表页面,单击打开终端,单击部署调试区域的Arthas,然后单击运行Arthas

      安装并运行Tcpdump
    • TcpDump能力:

      Pod列表页面,单击打开终端,单击部署调试区域的Tcpdump,然后单击安装Tcpdump

      安装并运行Arthas