开发者社区> 游客4hiqtt4ojtdwi> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【最佳实践】《微服务架构日志采集运维管理》手把手实操步骤与常见问题

简介: 根据阿里云《微服务架构日志采集运维管理》最佳实践文档实践步骤复现应用搭建的过程,同时总结归纳部分在应用搭载过程中遇见的问题与解决方案。
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

前提概要

场景描述:阿里云日志服务(SLS)结合Kubernetes日志特点以及应用场景,提供全方位的容器微服务应用环境下的日志采集、处理以及分析的实践。

产品列表:容器服务?Kubernetes?版、日志服务?SLS、专有网络?VPC、负载均衡?SLB、弹性计算?ECS、容器镜像服务?ACR、云数据库?RDS?版、智能解析?DNS。

解决问题:

  1. 容器微服务架构下日志采集困难;
  2. 日志采集?Agent?资源消耗多;
  3. 运维日志平台系统成本代价高;
  4. 日志分析方式少,日志分析不方便。

实践方案架构:

image

方案价值:

  1. 基于?Logtail?一键完成安装,CRD?扩展,与?K8S?部署管理方式无缝集成;
  2. 日志服务为?Ingress?提供可视化分析报表;
  3. 简化?Ingress?日志分析与监控的门槛。

日志采集部署建议:

  1. 核心应用:使用?SideCar?方式采集;
  2. 普通应用/系统日志:使用?DaemonSet?方式采集;
  3. 标准输出:?使用?DaemonSet?方式采集。



常见问题

CADT创建资源校验失败怎么办?

  1. 确定各个产品的权限已开通;
  2. 创建VPC网络与ACK的Service?CIDR不能有网段交叉,以下为我创建时填写的参数,仅供参考:
    1. ACK的网段设置
      1. Pod?网络?CIDR:10.30.0.0/16
      2. Service?CIDR:172.16.0.0/16?

CADT资源创建成功后资源状态却又改为已删除?

  1. 确认选中的Region、AZ有无对应规格与资源;
  2. 确认对应资源名称是否已被占用,需要保证SLS等产品的名称变量全局唯一。

配置RDS?数据库需要注意什么?

  1. 配置RDS的白名单为VPC的网段,使得VPC内的设备实例可以访问该RDS。

image

  1. 配置RDS为企业版才可完成后续第10章RDS审计日志采集分析与监控的操作。

如何在容器中以VNC方式配置docker环境?

  1. 下载update:yum?update

image

  1. 环境配置:docker-ce环境安装

步骤1:下载repo文件:curl?https://download.docker.com/linux/centos/docker-ce.repo?-o?/etc/yum.repos.d/docker-ce.repo

步骤2:安装containerd.io依赖:yum?-y?install?https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

步骤3:下载docker-ce版本:yum?-y?install?docker-ce

imageimage

步骤4:启动docker并检查是否版本是否为ce版本

  • 启动docker服务:systemctl?start?docker
  • 将docker加入开机启动:systemctl?enable?docker
  • 重新加载docker服务程序配置文件:systemctl?daemon-reload
  • 查看docker版本:docker?version

如何在Docker中拉取镜像以及常见问题?

  1. 拉取原始镜像:docker?pull?wordpress

image

  1. 获取镜像ID与镜像版本:docker?images?|?grep?wordpress

image

易得镜像ID:5f9d748595e1,镜像版本:v1.0。

  1. 登陆镜像仓库并推送镜像

步骤1:登录阿里云Docker?Registry:docker?login?--username=*****@test.aliyunid.com?registry.cn-hangzhou.aliyuncs.com

ps:****为阿里云账号前缀

步骤2:给镜像打标签:docker?tag?{镜像ID}?registry.cn-hangzhou.aliyuncs.com/{镜像仓库命名空间}/{镜像仓库名称}:{版本号}

步骤3:将镜像推送到Registry:sudo?docker?push?registry.cn-hangzhou.aliyuncs.com/{镜像仓库命名空间}/{镜像仓库名称}:{版本号}

ps:填写时需要删除{}

  1. 常见问题
  • docker?login:提示host不存在:给镜像仓库开通公网访问权限
  • 提示volume不存在:更换namespace

拉取镜像时下载速度很慢或中途连接直接断掉拉取失败?

问题原因:docker的wordpress官方镜像源在国外,下载时网络质量极差,甚至中断。

解决方案:修改拉取镜像的json配置文件,镜像源改为阿里云国内网址。

  1. 在对应容器节点中远程登录实例,在/etc/docker/路径下创建vim daemon.json文件,文件内容如下:

{

"registry-mirrors":?["https://oojjt1xs.mirror.aliyuncs.com"]

}

  1. 再次执行docker?pull?wordpress命令即可快速下载拉取

根据镜像搭建无状态应用报错ErrImagePull && ImagePullBackOff?

问题原因:没有配置对应镜像拉取策略。

参考文档:使用免密组件配置镜像拉取策略

解决方案:

  1. 升级/安装aliyun-acr-credential-helper组件
    1. 在容器控制台集群列表页面,单击目标集群操作列下的更多?>?系统组件管理
    2. 在安全区域,找到aliyun-acr-credential-helper,单击升级
  1. 通过控制台方式设置acr-configuration配置项
    1. 在容器集群信息页面左侧导航栏,选择配置管理?>?配置项,在上方命名空间下拉框中选择kube-system,找到配置项acr-configuration
    2. 通过以下两种方式配置acr-configuration
      1. 方式一:单击其右侧的编辑,设置配置项键和值
        1. 如果您没有acr-configuration配置项,请参见创建配置项。关于如何更新配置项,请参见修改配置项
      1. 方式二:单击其右侧的YAML编辑,设置配置项键和值

搭建应用后访问路由地址显示Error establishing a database connection?

问题描述:无状态应用创建成功,但是用路由器Ingress提供的域名无法访问wordpress网页,会出现无法连接数据库的错误。

问题原因:由于wordpress的配置文件的yaml文件未配置环境变量导致的,配置数据库有关的环境变量后即可以连接上去。

解决方法:

步骤一:前往RDS数据库控制台,找到自己创建的数据库,点击左边目录栏的“数据库连接”,复制内网地址。

image

步骤二:继续点击数据库管理,记录数据库的名称、用户名。

image

步骤三:前往ACK容器管理控制台,点击进入自己创建的集群,点击进入自己创建的无状态应用中,点击查看Yaml

image

找到yaml文件中,配置环境变量的那一部分文件(可以看到-name,-value的那部分文件)在里面加上自己数据库的环境变量。

image

- name: WORDPRESS_DB_HOST
              value: '步骤一中复制的数据库的内网地址:3306'
            - name: WORDPRESS_DB_NAME
              value: 步骤二中记录的数据库的名称
            - name: WORDPRESS_DB_USER
              value: 步骤二中绑定账户的名称
            - name: WORDPRESS_DB_PASSWORD
              value: 账户对应的密码

修改后的结果,具体示意如下,修改完成后点击更新,耐心等待一会(半分钟)即可。

image.png

参考文献

微服务架构日志采集运维管理最佳实践

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云服务器液冷架构最佳实践 阿里云多篇论文入选DesignCon 2023和ECTC 2023
云服务器液冷架构最佳实践 阿里云多篇论文入选DesignCon 2023和ECTC 2023
0 0
Yii2实现RESTful架构配置最佳实践
Yii2实现RESTful架构配置最佳实践
0 0
辛勤治数系列:数据资产顶层架构最佳实践与思考
数据被称为“未来新石油”,已经渗透到当今企业战略决策、生产经营和各业务职能发展领域,成为企业数字化转型的基础。
0 0
《数据中台架构:企业数据化最佳实践》:感受数据中台建设五步法
《数据中台架构:企业数据化最佳实践》:感受数据中台建设五步法
0 0
COLA 4.0:直击应用架构本质的最佳实践
COLA 4.0:直击应用架构本质的最佳实践
0 0
在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践
个人认为将来可观测性一定是标准化且由开源驱动的。现在整个软件架构体系变得越来越复杂,我们要监控的对象越来越多,场景也越来越广。封闭的单一厂商很难面面俱到的去实现全局可观测能力,需要社区生态共同参与,用开放、标准的方法来构建云原生可观测性。
0 0
构建多架构镜像的最佳实践
如今,Docker 容器镜像可以支持多种架构/平台,多架构镜像的构建已经成为了必备技能。
0 0
基于ECI的ACK集群高弹性架构最佳实践
用户原有的业务部署在阿里云ACK集群上,随着业务波动如何达到成本
0 0
【权限设计系列】「认证授权专题」微服务架构的登陆认证问题
【权限设计系列】「认证授权专题」微服务架构的登陆认证问题
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PostgresChina2018_赖宝华_开源分布式NewSQL数据库CockroachDB架构及最佳实践
立即下载
技术揭秘:RocketMQ 5.0 云原生架构升级之路
立即下载
基于英特尔?架构的阿里云服务网格ASM技术加速应用服务加密通
立即下载


http://www.vxiaotou.com