Go运维开发之日志收集(2)从etcd中获取配置信息

Go运维开发之日志收集(2)从etcd中获取配置信息 Go运维开发之日志收集(1)收集应用程序日志到kafka中 在上一篇中我们已经实现了单个日志收集后发送到kafka中 我们想一下下面的几个问题: 怎么样实现多个日志收集? 每收集一个日志都运行一个logAgent? 每次收集日志都需要手动……

阅读全文

Go运维开发之日志收集(3)根据etcd配置项创建多个tailTask

Go运维开发之日志收集(3)根据etcd配置项创建多个tailTask Go运维开发之日志收集(1)收集应用程序到日志kafka中 Go运维开发之日志收集(2)从etcd中获取配置信息 在上一篇中我们已经实现了从etcd中获取配置信息 下一步就是拿着这些配置项进行日志收集,之前的tail……

阅读全文

Go运维开发之日志收集(4)监视etcd配置项的变更

Go运维开发之日志收集(4)监视etcd配置项的变更 Go运维开发之日志收集(1)收集应用程序日志到kafka中 Go运维开发之日志收集(2)从etcd中获取配置信息 Go运维开发之日志收集(3)根据etcd配置项创建多个tailTask 在上一篇中我们已经实现了从etcd中获取配置信息……

阅读全文

Go运维开发之日志收集(1)收集应用程序日志到kafka中

Go运维开发之日志收集(1)收集应用程序日志到kafka中 需求背景 每个业务系统都有自己的⽇志,当业务系统出现问题时,需要通过查找⽇志信息来定位和解决问题。 当业务系统服务器⽐较少时,登陆到服务器上查看即可满⾜。但当系统机器规模巨⼤,登陆到服务器上查看⼏乎不现实(分布式的系统,⼀个系……

阅读全文

Go语言 etcd/clientv3报错:etcd undefined: resolver.BuildOption

Go语言 etcd/clientv3报错: etcd undefined: resolver.BuildOption 故障描述 go语言版本 1go version 2go version go1.14 linux/amd64 经过测试,在macOS,Windows,Linux上都有这个问题 包管理器go mod 1module goAgent 2 3go 1.14 4 5require ( 6 github.com/Shopify/sarama v1.26.1 7 github.com/coreos/etcd v3.3.18+incompatible // indirect 8 github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf // indirect 9 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect 10 github.com/go-ini/ini v1.52.0 11 github.com/gogo/protobuf v1.3.1 // indirect 12 github.com/google/uuid v1.1.1 // indirect 13 github.com/hpcloud/tail v1.0.0 14 go.etcd.io/etcd v3.3.18+incompatible 15 go.uber.org/zap v1.14.0 // indirect 16 google.golang.org/grpc v1.27.1 // indirect 17 gopkg.in/fsnotify.v1 v1.4.7 // indirect 18 gopkg.in/ini.v1……

阅读全文

持续部署工具CDS部署

持续部署工具CDS上手 一、CDS简介 CDS是Go语言开发的企业级持续部署工具和开源的DevOps自动化平台,支持的特性非常的多 CDS部署方式有多种,docker-compose方式,helm安装到kubernetes,二进制安装。这里主要介绍二进制安装方式。 更多关于CDS的知识,……

阅读全文

使用docker-compose快速部署cicd环境

使用docker-compose快速部署cicd环境 安装docker 添加docker-ce源 1wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker 1yum -y install docker-ce 配置docker加速 1mkdir /etc/docker 2cat > /etc/docker/daemon.json <<EOF 3{ 4 "registry-mirrors": [ 5 "https://mciwm180.mirror.aliyuncs.com", 6 "https://docker.mirrors.ustc.edu.cn/", 7 "https://registry.docker-cn.com" 8 ], 9 "exec-opts": ["native.cgroupdriver=systemd"] 10} 11EOF 运行docker 1systemctl enable --now docker 安装docker-compose 安装docker-compose 1yum……

阅读全文

Kubernetes最佳实践(5)- 持续集成、测试和部署

第 5 章 持续集成、测试和部署 在本章中,我们将介绍如何集成持续集成/连续部署 (CI/CD) 流水线以将应用程序交付给 Kubernetes 的关键概念。构建一个集成良好的流水线将使您能够信心十足地将应用程序交付到生产环境中,因此,在这里我们将介绍在您的环境中启用 CI/CD 的方法、工具和流程。CI/CD 的目标是实现完……

阅读全文

Kubernetes最佳实践(6)- 版本化、发布和滚动更新

第 6 章 版本化、发布和滚动更新 传统单体应用程序的主要抱怨之一是,随着时间的推移,它们开始变得太大、太笨重,且难以以业务需要的速度进行适当的升级、版本化或修改。许多人可能会说,这是导致更敏捷的开发实践和微服务架构出现的主要关键因素之一。能够快速迭代新代码、解决新问题或修复隐藏问题,以……

阅读全文

Kubernetes最佳实践(1)- 设置基本服务

从今天开始翻译《Kubernetes Best Practice》一书,边学习边总结,翻译不到位的地方欢迎指正。 第 1 章 设置基本服务 本章介绍在 Kubernetes 中设置简单多层应用程序的实践。该应用程序由一个简单的 Web 应用程序和一个数据库组成。虽然这可能不是最复杂的应用程序,但它是开始定向管理 Kubernetes 中应用程序的好地……

阅读全文