1 如何实施GitOps 我们正真实施 GitOps 的具体流程如下: 遵循 GitOps 的标准流程,将代码仓库和配置仓库相分离 基于 OAM 框架模型,DevOps 团队需要将任何上线的变更都需要通过声明式 API 来实现 选择合理的工具集 从变更频率高或易于中断的应用程序开始 1.1 GitOps工具集 除了 Kubernetes 集群外,G…
3 Helm 的高级功能 在上一章中,我们研究了最常用的 Helm 命令。在本章中,我们将探讨 Helm 工具提供的其他功能。我们将深入研究提供有关发布、测试、安装和跟踪历史等信息的命令。最后,我们将重新讨论安装和升级,这次将讨论高级案例。 我们还将开始使用一些有助于故障排除和调试的工具。 3.1 模板和试运行 当 Helm 安装一个发行版时,程序…
1 GitOps 工作模型及优势 我们都知道在 knative 中由三个模块化组成,分别是 knative-serving、knative-eventing、Tekton 只不过后期将 Tekton 组件从 knative 中剥离 Tekton 是真正由 K8S 原生并支持的 CI/CD 平台,Tekton 会基于一个 CRD 来定义出来每一个 s…
2 使用Helm Helm 提供了一个名为 helm 的命令行工具,它提供了使用 Helm chart 所需的所有特性。在本章中,我们将探索helm客户端的主要特性,并了解 Helm 如何与Kubernetes 交互。 我们将从了解如何安装和配置 Helm 开始,并通过 Helm 中的主要命令组进行工作。然后我们将介绍如何查找和学习软件包,以及如何…
1 Helm 介绍 其实在我们 K8S 中有一个包管理工具。主要解决了安装服务的问题,其实很好理解对于我们的 K8S 中包管理工具他叫做 helm,helm 可以通过一个仓库去下载我们需要安装服务的一些 yaml文件,因为在 K8S 中所有的资源都是通过 yaml 文件来进行创建的,我们去修改这些 yaml 文件的属性就可以安装出来我想去对应安装的…
[TOC] 2 配置并使用 Envoy 当然配置和使用 envoy 的话可能我们有多种方式,envoy 本身通过 C++ 语言编写,而且新版的 C++ 编译环境已经不在是通过 make 编译。 如果说我需要使用 envoy 来测试的话、我们可以直接使用二进制版本或者说已经打包好的镜像。 这里我通过 docker-compose 的方式运行 envo…
[TOC] 1 envoy 原理基础 envoy 是服务网格的非常重要的数据平面,而控制层面的实现则是 istio ,所以我们这里先从数据平面的这一步来慢慢了解云原生的服务网格,所有在本文中会讲到 什么是Envoy Envoy 组件拓扑 Envoy xDS 核心术语 Envoy的部署类型 Enovy线程模型和连接处理机制 Envoy核心配置组件 L…
[TOC] 服务网格基础 我们这部分的内容大概有以下几个内容: 微服务的出现及治理方式演进 程序架构风格与微服务 单体架构 分布式架构:SOA、MSA 这两个为比较主流的微服务架构 分布式架构治理模式演进 ESB → Microservices → Cloud Native 服务网格的迭代 微服务基础 康威定律 微服务及其生态系统 服务网格 基本功…
这里的环境为 Prometheus 是外部部署,而 etcd 是部署在 K8S 集群内部,从而实现对他监控 每个 etcd 服务器都/metrics在其客户端端口路径下导出指标。 11.1 ETCD 自带 metrics 验证 如果我们的 etcd 是部署在集群内部就需要通过证书认证的方式才能够拿到对应的监控指标 1.查看监控接口是否能够正常使用 …
9 分组告警 真实的场景中,我们往往期望可以给告警设置级别,而且可以实现不同的报警级别可以由不同的receiver接收告警消息。Alertmanager中路由负责对告警信息进行分组匹配,并向告警接收器发送通知。以下为本次需要实现的目的 1、添加两个不同的告警级别的告警规则 当节点服务器 cpu15 分钟负载低于1时,发生告警,告警级别 normal…