Docker容器技术我是程序员阿里云

基于Knative开发应用

2019-06-17  本文已影响39人  阿里云云栖号

目录

创建 Kubernetes 集群

安装 Istio

安装 Istio 时注意以下几点:

在容器服务集群管理页面可以直接在目标集群上部署 Istio

安装 Knative

选择好目标集群使用一键部署功能直接安装即可, 安装文档

玩转 helloworld-go

日志管理

设置数据导入方式

选择 Docker标准输出

{
  "inputs": [
    {
      "detail": {
        "IncludeEnv": {
          "K_SERVICE": "helloworld-go"
        },
        "IncludeLabel": {},
        "ExcludeLabel": {}
      },
      "type": "service_docker_stdout"
    }
  ],
  "processors": [
    {
      "detail": {
        "KeepSource": false,
        "NoMatchError": true,
        "Keys": [
          "time",
          "level",
          "msg"
        ],
        "NoKeyError": true,
        "Regex": "(\\d+-\\d+-\\d+ \\d+:\\d+:\\d+)\\s+(\\w+)\\s+(*)",
        "SourceKey": "content"
      },
      "type": "processor_regex"
    }
  ]
}

分别为相应的键值 time、level 和 msg 设置数据类型

部署 Helloworld

到容器服务控制台页面,打开集群详情页。复制 KubeConfig 内容保存到本地 ~/.kube/config 文件

多访问几次 helloworld-go 生成一些访问日志

./sample/run-test.sh

生成一些访问日志以后点击查询,即可查看相应的日志

日志服务控制台: https://sls.console.aliyun.com

日志服务有丰富的查询条件,比如查询 ERROR 日志

监控告警

使用下查询语句进行搜索,这条语句使用了 SELECT ,可以进行更高级别的操作。

level:ERROR | SELECT  COUNT(*) as total

搜索ERROR 日志,时间跨度选择一分钟。

点击另存为告警

触发条件的变量就是 左侧表格中的列名称

如下设置的含义是,1分钟检索一次 ERROR 日志的数量如果大于等于4 就告警。

可以设置多种告警通知方式,并且告警 body 还可以使用系统变量。获取告警的上下文信息。

打开邮件可以看到告警通知

调用链

选择相应的 Region,点击应用列表查看应用列表

调用链查询页面

压测数据展示

下载源文件: https://kstarter.oss-cn-beijing.aliyuncs.com/knload-result.html ,直接用浏览器打开即可查看

压测的并发数陡增导致服务响应时间抖动,但随着 Pod 数量的自动扩容 RT 很快就恢复到了正常水位。

WordPress

部署 WordPress

多并发测试

hey -z 30s -c 50 "http://wordpress.default.example.com/" && kubectl get pods

修改主题和安装 plugin



本文作者:冬岛

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

上一篇下一篇

猜你喜欢

热点阅读