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 中应用程序的好地……

阅读全文

Kubernetes最佳实践(2)- 开发工作流

第 2 章 开发工作流 Kubernetes 专为可靠运行的软件而构建。它使用面向应用程序的 API、自我修复属性和有用的工具(如Deployment)的推出简化了应用程序的部署和管理,实现软件零停机时间。尽管所有这些工具都很有用,但它们对于为 Kubernetes 开发应用程序来说并没有多大作用。此外,尽管许多群集旨在运行生产应……

阅读全文

Kubernetes最佳实践(3)- Kubernetes下监控和日志

第 3 章 Kubernetes下监控和日志 在本章中,我们将讨论在 Kubernetes 中监控和日志记录的最佳做法。我们将深入探讨不同监视模式、要收集的重要指标以及从这些原始指标构建仪表板的详细信息。然后,我们总结一下为 Kubernetes 群集实现监视的示例。 指标与日志 您首先需要了解日志收集与指标收集之间的区别。它们是互补……

阅读全文

Kubernetes最佳实践(4)- 配置、Secrets 和 RBAC

第 4 章 配置、Secrets 和 RBAC 容器的可组合性允许我们作为操作人员在运行时将配置数据引入到容器中。这使我们能够将应用程序的功能与它运行的环境解耦。通过容器运行时允许的在运行时传递环境变量或将外部卷装载到容器的约定,您可以在应用程序实例化时有效地更改应用程序的配置。作为开发人员,请务……

阅读全文