自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 kubernetes集群证书一年后过期,如何续期

模拟证书过期由kubeadm部署的集群,所生成的证书证书有效期为一年,过期之后集群就不能再次使用了,我们可以对证书进行续期,这样集群就可以继续使用。可以通过如下命令查看具体过期时间:kubeadm alpha certs check-expiration这里显示证书在2021年7月5日过期,然后把所有节点的系统时间调整到 2022年10月1日:所有节点的时间都要调整。然后在master(vms71上)执行kubectl命令:[root@vms71 ~]# kubectl

2021-02-25 11:16:31 2108 1

原创 Kubernetes Kubeadm Kubelet 证书自动续签

Kubelet 证书自动续签K8s证书一般分为两套:K8s组件(apiserver)和Etcd假如按角色来分,证书分为管理节点和工作节点。• 管理节点:如果是kubeadm部署则自动生成,如果是二进制部署一般由cfssl或者openssl生成。• 工作节点:工作节点主要是指kubelet连接apiserver所需的客户端证书,这个证书由controller-manager组件自动颁发,默认是一年,如果到期,kubelet将无法使用过期的证书连接apiserver,从而导致无法正常工作,日志会

2021-02-25 10:54:23 4591 3

转载 Prometheus Alertmanager 警报规则设置

监控Alertmanager 与Prometheus一样,Alertmanager暴露了自身的相关指标。让我们创建一个Prometheus作业来监控Alertmanager。监控Alertmanager的Prometheus作业 这将从http://localhost:9093/metrics收集指标并抓取一系列以alertmanager_为前缀的时间序列数据。这些数据包括按状态分类的警报计数、按接收器分类的成功和失败通知的计数(例如,所有向email接收器发送失败的通知)。它还包含Al

2021-02-24 10:35:30 1290

转载 集群调优:如何使 etcd 集群处于最佳状态?

我们在日常工作中经常会遇到各种服务调优,同样,对于 etcd 集群来说,也需要对其进行调优,使其处于最佳的状态。这一讲我将通过分析 etcd 的架构,结合其核心部分对 etcd 集群进行优化。etcd 整体分析在对 etcd 进行调优之前,我们先来看看 etcd 集群的架构图,如下图所示:上图是一个简化了的 etcd 集群。完整的 etcd 的架构中包括 API 通信层、Raft 算法层、业务逻辑层(包括鉴权、租约等)和 Storage 存储层。我在图中只标识出了 Raft 层.

2021-02-23 09:17:34 1211

原创 Kubernetes Helm Chart模板语法:函数与管道

Helm template快速入门Helm是Kubernetes的包管理工具,如果把比作操作系统,那么Helm就好比yum,apt-get,homebrew。使用Helm template可以方便我们部署和管理自己的应用。本篇将基于Helm3.0+带你快速入门Helm template。Prerequisite若需要执行本篇示例,需要准备:安装Helm (Helm 3.0+) 一个Kubernetes集群Quick Start在开始之前,我们简单理解一下Helm temp..

2021-02-22 17:11:21 3936

原创 Etcd 常用运维命令与故障处理

常用命令#查看集群member情况etcdctl --endpoints=${exist-advertise-peer-urls} member list#动态扩容etcdctl --endpoints=${exist-advertise-peer-urls} member add infra4 --peer-urls=${new-advertise-peer-urls}#运行时缩容etcdctl --endpoints=${exist-advertise-peer-urls.

2021-02-22 11:23:46 5382

原创 Kubernetes HPA pod扩容缩容基于Metrics Server(APIServer扩展)

第三种 Metrics,是 Kubernetes 相关的监控数据。这部分数据,一般叫作 Kubernetes 核心监控数据(core metrics)。这其中包括了 Pod、Node、容器、Service 等主要 Kubernetes 核心概念的 Metrics。其中,容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务。在 kubelet 启动后,cAdvisor 服务也随之启动,而它能够提供的信息,可以细化到每一个容器的 CPU 、文件系统、内存、网络等资源的使用情

2021-02-22 10:07:19 1301

转载 ETCD etcdctl:客户端操作 etcd 服务端的工具

安装好 etcd 后,我们将开始体验如何使用 etcd。这一讲,我将会基于 etcd 自带的客户端工具——etcdctl 来演示 etcd 常用的一些操作,帮助你快速入手 etcd。etcdctl 客户端etcdctl 是一个命令行客户端,便于我们进行服务测试或手动修改数据库内容,我们刚开始熟悉 etcd 功能时可以通过 etdctl 客户端熟悉相关操作。etcdctl 在两个不同的 etcd 版本(v2 和 v3)下的功能和使用方式也完全不同。一般通过如下方式来指定使用 etcd 的版本:.

2021-02-20 16:42:13 3713

原创 ETCD 集群的备份和恢复

Kubernetes 高可用方案Etcd高可用 kube-apiserver高可用 kube-controller-manager与kube-scheduler高可用 CoreDNS高可用Kubernetes 使用 Etcd 数据库实时存储集群中的数据,安全起见,一定要备份Etcd v3版本是主流版本,2版本也有很多在用,etcdctl对v3 v2两个版本都支持,在备份的时候需要指定默认的话是v2版本,所以在备份v3版本需要声明一下snapshot save snap.db

2021-02-20 15:36:09 2168

转载 ElasticSearch 可视化工具之cerebro

最近ElasticSearch使用中出现好多异常情况,一直都是命令行直接排查问题,不够直观。网络上大部分都推荐Kopf,Bigdesk,但是都已经是过时的工具,多年都没有更新了。使用curl等客户端工具即可通过Restful API对Elasticsearch进行操作,但也有一些客户端工具提供对于ElasticSearch更加友好的可视化操作支持,比如cerebro。这篇文章介绍一下如何使用cerebro对Elasticsearch7.3.0版本进行操作。...

2021-02-20 11:11:54 2980

转载 Prometheus 监控基础与概述

为什么监控监控一个系统有多个原因,包括如下几项:趋势分析数据库当前的数据量,以及增长速度,又比如日活用户的增长数量;跨时间范围的比较,或是找出各组之间的区别使用apache 与 nginx 作web服务器,哪个速度更快?增加node数量,memcache的缓存命中率是否增加,网站是否比上周的访问速度加快?警报某项服务出现了故障,需要有人立刻修复;或者某项服务已经达到警告阈值,马上会出现故障,需要人为介入排查。监控可视化监控可视化可以直观的回答一些服务的基本问题,经常会包括

2021-02-19 11:51:21 177

原创 Kubernetes 上手动部署 Prometheus

我们知道监控是保证系统运行必不可少的功能,特别是对于 Kubernetes 这种比较庞大的系统来说,监控报警更是不可或缺,我们需要时刻了解系统的各种运行指标,也需要时刻了解我们的 Pod 的各种指标,更需要在出现问题的时候有报警信息通知到我们。在早期的版本中 Kubernetes 提供了 heapster、influxDB、grafana 的组合来监控系统,在现在的版本中已经移除掉了 heapster,现在更加流行的监控工具是 Prometheus,Prometheus 是 Google 内部监控报警系

2021-02-19 11:01:28 1501

原创 ElasticSearch 基本概念 索引、文档

索引 文档偏向于开发人员的视角,是一个逻辑上面的概念节点和分片呢偏向运维人员的视觉,偏向是物理的概念文档(Document)Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位 日志文件中的日志项 —本电影的具体信息/一张唱片的详细信息。 MP3 播放器里的一首歌 /一篇 PDF 文档中的具体内容文档会被序列化成 JSON格式,保存在 Elastlesearch 中JSON 对象由字段组成 每个字段都有对应的字段类型(字符串/数值/布尔/日期/二进.

2021-02-19 09:12:58 619 1

原创 kubernetes CNI Flannel 网络分析

Flannel是kubernetes的CNI网络插件之一,实质上是一种主机 overlay网络 。flannel支持多种网络转发模式,常用的是vxlan、hostgw等,我们这里以常用的 udp VXLAN协议讲解。Flannel 特点1. 使集群中的不同Node主机创建的Docker容器都具有全集群唯一的虚拟IP地址。2. 建立一个覆盖网络(overlay network),通过这个覆盖网络,将数据包原封不动的传递到目标容器。覆盖网络是建立在另一个网络之上并由其基础设施支持的虚拟网..

2021-02-18 20:10:37 1662

原创 Prometheus 简介与架构

起源Prometheus起源于SoundCloud,因为微服务迅速发展,导致实例数量以几何倍数递增,不得不考虑设计一个符合以下几个功能的监控系统:多维数据模型,可以按照实例,服务,端点和方法之类的维度随意对数据进行切片和切块。 操作简单,可以随时随地部署监控服务,甚至在本地工作站上,而无需设置分布式存储后端或重新配置环境。 可扩展的数据收集和分散的架构,以便于可以可靠的监控服务的许多实例,独立团队可以部署独立的监控服务。 转化为一种查询语言,可以利用数据模型进行有效的警报和图形展示。但...

2021-02-18 12:44:06 2730

转载 | 安装部署:手把手教你玩转 etcd 搭建

etcd 单机安装部署etcd 的安装有多种方式,这里我以 CentOS 7 为例,可以通过yum install etcd进行安装。然而通过系统工具安装的 etcd 版本比较滞后,如果需要安装最新版本的 etcd ,我们可以通过二进制包、源码编译以及 Docker 容器安装。二进制安装目前最新的 etcd API 版本为 v3.4,我们基于 3.4.4 版本进行实践,API 版本与最新版保持一致,在 CentOS 7 上面使用如下脚本进行安装:ETCD_VER=v3.4.4GITHUB

2021-02-18 11:31:43 2574

原创 ETCD 集群的部署

单Master架构图:Etcd集群证书准备Etcd 是一个分布式键值存储系统,Kubernetes使用Etcd进行数据存储,所以先准备一个Etcd数据库,为解决Etcd单点故障,应采用集群方式部署,这里使用3台组建集群,可容忍1台机器故障,当然,你也可以使用5台组建集群,可容忍2台机器故障。节点名称 IP etcd-1 192.168.31.71 etcd-2 192.168.31.72 etcd-3 192.168.31.73 注:为了节省机.

2021-02-16 14:18:09 423

转载 核心概念:etcd 到底是一款什么样的组件?

近几年,云原生越来越火,你在各种大会或博客的标题里都可以见到“云原生”的字样,我们这次要学习的 etcd 也是云原生架构中重要的基础组件,因为etcd 项目是 Kubernetes 内部的一大关键组件,目前有很多项目都依赖 etcd 进行可靠的分布式数据存储。etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目,2018 年底正式加入云原生计算基金会(CNCF)。etcd 组件基于 Go 语言实现,目前最新版本为 V3.4.9。为什么需要 etcd在具体讲解 etcd 前.

2021-02-09 10:24:04 1003

原创 Node Export 监控系统服务运行状态

监控系统服务运行状态,监控的是指被systemd管理的系统服务都可以被普罗米修斯采集到其状态,比如node_port ssh docker[root@localhost ~]# pstreesystemd─┬─NetworkManager───2*[{NetworkManager}] ├─VGAuthService ├─abrt-watch-log ├─abrtd ├─agetty ├─auditd───{auditd.

2021-02-08 11:53:56 1703

转载 Docker 多阶级构建:Docker 下如何实现镜像多阶级构建?

通过前面课程的学习,我们知道 Docker 镜像是分层的,并且每一层镜像都会额外占用存储空间,一个 Docker 镜像层数越多,这个镜像占用的存储空间则会越多。镜像构建最重要的一个原则就是要保持镜像体积尽可能小,要实现这个目标通常可以从两个方面入手:基础镜像体积应该尽量小;尽量减少 Dockerfile 的行数,因为 Dockerfile 的每一条指令都会生成一个镜像层。在 Docker 的早期版本中,对于编译型语言(例如 C、Java、Go)的镜像构建,我们只能将应用的编译和运行环境的准备,全

2021-02-08 10:16:54 2157 1

转载 K8S体系监控-kube-state-metrics集群资源监控

kube-state-metrics 指标数据1、kube-state-metrics说明kube-state-metrics关注于获取k8s各种资源的最新状态,如deployment或者daemonset,之所以没有把kube-state-metrics纳入到metric-server的能力中,是因为他们的关注点本质上是不一样的。metric-server仅仅是获取、格式化现有数据,写入特定的存储,实质上是一个监控系统。而kube-state-metrics是将k8s的运行状况在内存中做了个快.

2021-02-07 10:55:59 2305

转载 Kubernetes Kube-state-metrics 资源对象状态监控

有很多种方法可以监控Kubernetes本身,其中包括开源Kubernetes生态系统中的工具,如Heapster和Kube-state-metrics,以及其他商业化和基于SaaS的工具。我们将重点关注如何使用Kube-state-metrics来进行监控。 [1] https://github.com/kubernetes-retired/heapster。 [2] https://github.com/kubernetes/kube-state-metrics。今天向大家介绍一下kube

2021-02-07 10:31:27 5262 1

转载 Docker 文件存储驱动:Devicemapper 文件系统

我们知道 AUFS 并不在 Linux 内核主干中,所以如果你的操作系统是 CentOS,就不推荐使用 AUFS 作为 Docker 的联合文件系统了。那在 CentOS 系统中,我们怎么实现镜像和容器的分层结构呢?我们通常使用 Devicemapper 作为 Docker 的联合文件系统。什么是 Devicemapper ?Devicemapper 是 Linux 内核提供的框架,从 Linux 内核 2.6.9 版本开始引入,Devicemapper 与 AUFS 不同,AUFS 是一.

2021-02-07 09:18:26 1543 2

原创 Jenkins 基础07 凭据管理

Jenkins凭据管理Jenkins凭据管理,在流水线部署过程当中是非常实用的,比如将一些用户账号,如gitlab管理员的一个账号等存在这里,流水线就可以去使用,凭据的作用就是存放这些账号Jenkins的每个凭据会有一个唯一的ID,这个ID很重要,可以自定义也可以随机生成。(后续流水线中引用都是通过ID引用的)Jenkins的凭据有很多种类型,可以将一些敏感信息存储为凭据,然后在项目中引用。 凭据-> 系统-> 全局凭据 Token和用户名密码方式足够使用了U...

2021-02-05 14:31:50 1339

转载 Prometheus k8s下面的Node Exporter详解

Node Exporter DaemonSet DaemonSet使用toleration(容忍)确保pod在所有节点上运行,可能也包含主节点。它非常适合监控或日志代理等项目。让我们看一下DaemonSet的元素。可以在GitHub上找到Node Exporter的完整配置。Node Exporter DaemonSet toleration:首先,可以看到我们给DaemonSet指定了一个名称node-exporter,并且使用toleration来确保pod也会被调度到Kuberne

2021-02-05 10:46:22 3364

转载 一篇文章搞懂Filebeat

本文使用的Filebeat是7.7.0的版本,文章将从如下几个方面说明: Filebeat是什么,可以用来干嘛 Filebeat的原理是怎样的,怎么构成的 Filebeat应该怎么玩 Filebeat是什么Filebeat和Beats的关系首先Filebeat是Beats中的一员。Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、CPU、io等资源消耗比较高。...

2021-02-04 17:19:13 545

原创 Alertmanager 告警详解

监控告警• 部署Alertmanager• 配置Prometheus与Alertmanager通信• 在Prometheus中创建告警规则• 告警状态部署Alertmanager要实现告警通过altermanager这个组件完成的,必须告诉普罗米修斯altermanager是谁,到时候评估高级规则里面触发了阈值好把告警事件推送给altermanager,然后进入其自己内部的处理逻辑,处理完之后发送到接收人在altermanager里面还需要配置接收人,分组,收敛...

2021-02-03 11:29:28 10011 9

原创 Jenkins 一文带你详解Pipeline定义与结构

为什么使用pipeline?本质上,jenkins是一个自动化引擎,它支持许多自动模式。流水线向Jenkins添加了一组强大的工具,支持用例、简单的持续集成到全面的持续交付流水线。 通过对一系列的发布任务建立标准的模板,用户可以利用更多流水线的特性,比如: 代码化: 流水线是在代码中实现的,通常会存放到源代码控制,使团队具有编辑、审查和更新他们项目的交付流水线的能力。 耐用性:流水线可以从Jenkins的master节点重启后继续运行。 可暂停的:流水线可以由人功输入...

2021-02-03 09:59:37 5599

转载 10 张图带你搞懂 Kubernetes Pod 的创建流程

将 Pod 部署运行在 Kubernetes 内,前几个步骤你可能很熟悉(1) kubectl 将 YAML 发送到 API(2) Pod 存储在 etcd 中(3) 调度程序分配一个节点(此时Pod配置清单文件存储在 etcd 中,节点内并没有该 pod(4)kubelet 开始创建 Pod(5) kubelet 将创建容器的委托委派给 CRI(6) CNI 分配一个 IP 地址(7) 检查探针(8) ku...

2021-02-02 17:07:42 785

转载 Prometheus 配置文件中 metric_relabel_configs 配置

Prometheus 从数据源拉取数据后,会对原始数据进行编辑其中metric_relabel_configs是 Prometheus 在保存数据前的最后一步标签重新编辑(relabel_configs)。所以,哪怕你将metric_relabel_configs模块放在job_name模块的最前端,Prometheus 解析编辑文件后,也会将metric_relabel_configs放在最后。metric_relabel_configs模块和relabel_config模块很相似。...

2021-02-02 11:16:11 5031

原创 Prometheus 一文带你搞懂标签label的作用

- job_name: 'BJ Linux Server' basic_auth: username: prometheus password: 123456 static_configs: - targets: ['192.168.179.99:9100'] labels: idc: tongniu project: www - job_name: 'Shanghai Linux Server' ...

2021-02-02 11:04:14 24284 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除