阿里oss开发,阿里oss存储

title: (三)基于Knative开发应用目录安装 Istio安装 Knative玩转 helloworld-goWordPress 实战创建 Kubernetes 集群确保 Kubernetes 集群创建阿里oss开发的时候已经选择阿里oss开发了启用日志服务确保 Kubernetes 集群和 OSS 在一个 regionKubernetes 集群创建的时候需要开启 kube-apiserver 公网访问提前帮用户配置好 kubeconfig 命令行安装 Istio

安装 Istio 时注意以下几点阿里oss开发

默认要安装 gateway日志服务和 Xtrace 要提前开通阿里oss开发,Istio 需要使用 ZipKin v1 向 Xtrace 汇报监控数据

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

阿里oss开发,阿里oss存储

安装 Knative

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

玩转 helloworld-go配置日志采集策略部署 Helloworld监控告警调用链压测数据展示

日志管理

日志服务控制台: https://sls.console.aliyun.com本示例以容器标准输出采集为例进行展示,详细设置步骤可以参考日志服务文档根据 Kubernetes 集群 ID 找到对应的日志服务 Project创建一个新的 Logstore

设置数据导入方式

选择 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

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

git clone https://github.com/knative-sample/helloworld-go安装cd helloworld-go kubectl apply -f sample/service.yaml

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

./sample/run-test.sh

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

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

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

监控告警

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

level:ERROR | SELECT COUNT(*) as total

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

点击另存为告警

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

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

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

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

调用链

调用链控制台: https://tracing- *** ysis.console.aliyun.com

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

调用链查询页面

压测数据展示

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

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

阿里oss开发,阿里oss存储

压测工具 knloadserver 端模拟:http-serverWordPress部署 WordPress修改主题和安装 pluginOSS 图片添加水印现场互动压测

部署 WordPress

工程https://github.com/knative-sample/wordpresshttps://github.com/knative-sample/deployer部署 WordPress## ENV 换成具体的值 env: - name: WORDPRESS_DB_HOST value: {db_host:3306} - name: WORDPRESS_DB_NAME value: {db_name} - name: WORDPRESS_DB_USER value: {db_user} - name: WORDPRESS_DB_PASSWORD value: {db_password} ## 部署 WordPress # kubectl apply -f /Users/qiulin.nql/works/github/knative-sample/secret/wordpress-service.yaml kubectl apply -f sample/service.yaml添加 Egresskubectl apply -f sample/egress.yaml 访问 WordPress 服务./hack/run-wp-test.shhost 绑定 && 浏览器访问日志收集{ "inputs": [ { "detail": { "IncludeEnv": { "K_SERVICE": "wordpress" }, "IncludeLabel": {}, "ExcludeLabel": {} }, "type": "service_docker_stdout" } ], "processors": [ { "detail": { "KeepSource": false, "NoMatchError": true, "Keys": [ "ip", "time", "req", "code" ], "NoKeyError": true, "Regex": "(\\d+.\\d+.\\d+.\\d+)\\s+-\\s+(\\d+/\\w+/\\d+:\\d+:\\d+:\\d+\\s\\+\\d+)\\s\"(.*)\"\\s(\\d+)", "SourceKey": "content" }, "type": "processor_regex" } ]}

多并发测试

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

修改主题和安装 plugin

plugins

作者:冬岛

发布于 2024-07-03 14:07:39
收藏
分享
海报
0 条评论
40
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~