
进阶篇1 k8s及生态技术 [从0自学linux运维]
基础篇只是为运维打好基础,实现初级运维目标,要实现中高级需要学习其它技术,docker、k8s、prometheus监控、主要是k8s相关的生态 Advanced的运维技巧
进阶篇2将介绍ansible、saltStack等自动化部署相关的
hualinux
十年老运维教你《从0自学Linux运维》,也帮学生党解编程题!原创不易,求点赞和关注!
技术交流请私信
展开
-
hualinux 进阶 prom 1-2.12:Prometheus配置Alertmanager
上篇介绍了Alertmanager安装,本章对Alertmanager的配置进行简单说明,也可以提前看一下Prometheus官方Alertmanager配置文档一、Alertmanager配置说明Alertmanager配置文件格式,如下所示:global: [resolve_timeout:<duration>|default=5m] [smtp_from:<tmpl_string>] [smtp_smarthost:<string&g...原创 2020-12-06 01:57:08 · 447 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.11:Prometheus安装Alertmanager
目录一、安装环境二、报警器Alertmanager安装及配置2.1Alertmanager安装及启动2.1.1 下载2.1.2 创建启动服务2.2 通过web查看状态前篇介绍了prom报警器Alertmanager及其机制,本篇讲的是Alertmanager安装。一、安装环境基于《使用Grafana添加prometheus监控指标》的基础上进行安装的,即在安装了Grafana的基础上继承安装其它东西。二、报警器Alertmanager安装及配置我这...原创 2020-09-05 20:53:53 · 357 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.10:Prometheus报警处理介绍
目录一、前言二、Alertmanager机制三、alertmanager核心特性3.1 分组Grouping3.2 抑制Inhibition3.3 静默Silences3.4 客户端行为Client behavior3.5 高可用High Availability(HA)报警是监控软件的极其重要的一环,所以本专栏最后的一个知识点为报警处理。前面已经讲了Prometheus服务器、数据采集的exporters(导出器)、数据分析PromQL和呈现的webUI/...原创 2020-09-05 18:46:39 · 440 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.9:使用Grafana添加prometheus监控指标
我在《hualinux 进阶 prom 1-2.2:prometheus安装(手把手版)》文章中,在Grafana添加prometheus监控指标使用的是Grafana官方的Prometheus Dashboard仪表盘,这样就用不手工添加了。现在我们学习了前面两章,那么就可以在Grafana自己手工添加指标了,我们现在试一下。一、环境我是直接在《hualinux 进阶 prom 1-2.2:prometheus安装(手把手版)》基础上对Grafana进行操作。二、Graf...原创 2020-08-19 21:31:52 · 1155 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.8:PromQL(四)函数
目录一、PromQL函数二、数学函数三、时间函数3.1 time()3.2时钟和日历类函数四、标签操作函数4.1label_replace()4.2label_join()五、Counter指标增长率5.1increase()5.2rate()5.3irate()六、Gauge指标趋势变化预测本篇讲PromQL函数,可以直接看官网的FUNCTIONS通过前面2章,怎么通用webUI操作prom相信已经熟悉了,我这里不做截图,只列出函数...原创 2020-08-19 17:57:59 · 292 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.7:PromQL(三)运算符
目录一、PromQL运算符 说明二、算术运算符2.1两个标量之间2.2时向量与标量之间2.3即时向量与即时向量之间三、关系运算符3.1两个标量之间3.2即时向量与标量之间3.3即时向量与即时向量之间四、向量匹配Vector matching4.1one-to-one(一对一)4.2many-to-one (多对一)and one-to-many(一对多)五、逻辑运算符5.1vector1 and vector25.2vector...原创 2020-08-19 17:28:36 · 982 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.6:PromQL(二)聚合操作
目录一、聚合操作语法二、聚合操作符表前篇对PromQL做了介绍,讲了数据模型、2种选择器,本章继续讲PromQL相关知识,主要是聚合操作Aggregation operators一、聚合操作语法Prometheus为使用者提供了内置的聚合操作符,这些聚合操作符仅仅适用于对单个即时向量进行聚合操作。它们可以将即时向量聚合后生成一个包含较少元素的新的时间序列。首先,我们看一下聚合操作Aggregation operators的语法信息:<aggr-op> [withou原创 2020-08-19 16:08:34 · 582 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.5:PromQL(一)介绍
目录一、PromQL介绍1.1 时序数据库1.1.1 介绍1.1.2 特性1.2PromQL简介1.2.1 PromQL简介1.2.2数据模型与数据类型二、 PromQL时间序列选择器2.1Instant vector selectors(即时向量选择器)2.2Range Vector Selectors(区间向量选择器)2.3Offset modifier(偏移量修改器)在这篇简单介绍一下PromQL(Prometheus Query ...原创 2020-08-19 15:02:12 · 555 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.4:prometheus相关概念
前篇讲了prometheus配置方面,本篇将讲prom概念相关内容。了解好概念才能用到prom一、prometheus 相关概念从prometheus官方文档知道 , prometheus相关概念主要是涉及三方面即数据模型、metric(指标)类型、任务和实例...原创 2020-08-18 21:23:44 · 434 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.3:prometheus 配置文件简单讲解
目录一、关于prometheus配置二、prometheus.yml配置文件2.1 prom命令参数2.2 配置文件prometheus.yml2.3抓取配置2.3.1 静态配置2.3.2 动态配置2.4 证书配置2.5 其它2.5.1rule_files2.5.2 报警配置2.5.3 远端读写2.5.4 重新标记上一篇《hualinux 进阶 prom 1-2.2:prometheus安装》说了prom的安装,添加了node Expor...原创 2020-08-17 20:47:03 · 1109 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.2:prometheus安装(手把手版)
目录一、安装环境二、安装prometheusserver2.1 安装prometheus(二进制)2.2通过web访问prom三、node Exporter3.1node Exporter安装3.2 通过web访问 node exporter四、prom关联node exporter组件4.1 prometheus配置中关联node exporter4.2 prom web查看效果五、Grafana图形展示安装5.1Grafana基本概念5.2G...原创 2020-08-16 02:48:04 · 815 阅读 · 0 评论 -
hualinux 进阶 prom 1-2.1:prometheus概述及架构简析
目录一、prometheus介绍二、Prom组件三、Prom的架构3.1 框架图简单说明3.2prometheus服务器3.2.1 时序数据库节点安装3.2.2服务发现3.3 prom数据采集、报警、展示功能3.3.1 数据采集3.3.2 报警功能3.3.3 数据展示四、Prometheus_工作流程附录一、Prometheus核心组件1.Prometheus服务器2.Client Library3.Exporter4.Pushg...原创 2020-08-15 20:40:01 · 943 阅读 · 1 评论 -
hualinux 进阶 1.25:k8s安装heml3
目录一、知识点1.1 什么是helm1.2 helm3新的功能1.3 Helm3的变化二、安装环境说明2.1 helm安装2.1.1 安装要求2.1.2 安装helm(二进制)2.1.3 添加公用chart仓库helm相当于debian/Ubuntu下的ap-get或者Redhat/CentOS/Fedora下的yum,所以学习是很有必要的。我在这里只是简单的安装,其它教程可以看第三方博客链接,感觉不错1、Helm3部署安装2、Helm3使用mini..原创 2020-08-05 20:24:39 · 670 阅读 · 0 评论 -
hualinux 进阶 1.24:k8s调度器的优先级与抢占机制 (整理)
目录一、优先级和抢占机制说明二、优级先和抢占机制设计和实现k8s调度器的优先级与抢占机制,这个比较重要,需要了解。优先级和抢占机制,解决的是 Pod 调度失败时该怎么办的问题。一、优先级和抢占机制说明优先级和抢占机制,解决的是 Pod 调度失败时该怎么办的问题。正常情况下,当一个 Pod 调度失败后,它就会被暂时“搁置”起来,直到 Pod 被更新,或者集群状态发生变化,调度器才会对这个 Pod 进行重新调度。但在有时候,我们希望的是这样一个场景。当一个高优先级的 Po..原创 2020-08-05 18:57:23 · 483 阅读 · 0 评论 -
hualinux 进阶 1.23:k8s调度器的调度策略(整理)
了解一下调度器的调度策略 也是加深对k8s的理解,事先可以看一下官网的《调度策略》一、调度器的调度策略主要有两处策略:过滤的谓词(Predicates)和打分的优先级(Priorities)。二、Predicates谓词(过滤)Predicates 在调度过程中的作用,可以理解为 Filter,即:它按照调度策略,从当前集群的所有节点中,“过滤”出一系列符合条件的节点。这些节点,都是可以运行待调度 Pod 的宿主机。官网的《调度策略》,在 Kubernet...原创 2020-08-05 15:31:45 · 848 阅读 · 0 评论 -
hualinux 进阶 1.22:k8s调度器(整理)
目录一、调度器知识点二、调度流程学好k8s对调度器简单做一下了解也是很在帮助的。可以先学习官网的《Kubernetes 调度器》一、调度器知识点在 Kubernetes 项目中,默认调度器的主要职责,就是为一个新创建出来的 Pod,寻找一个最合适的节点(Node)。而这里“最合适”的含义,包括两层:从集群所有的节点中,根据调度算法挑选出所有可以运行该 Pod 的节点; 从第一步的结果中,再根据调度算法挑选一个最符合条件的节点作为最终结果。二、调度流...原创 2020-08-05 15:06:36 · 459 阅读 · 0 评论 -
hualinux 进阶 1.21:k8s资源管理(整理)
目录一、资源管理1.1 可压缩资源和非可压缩资源1.2 内存和CPU含义二、QoS(服务质量保证)的级别2.1Guaranteed(保证)类型2.2Burstable(突发) 类型2.3BestEffort(尽力而为)类型三、QoS作用及模式3.1 作用3.2 模式四、cpuset 的设置我们前面配置pod及pod相关时,默认对资源是没有限制的,就是尽可能地使用宿主机的资源。而在实现生产环境中,我们需要对资源做一些限制,这样避免资源之间竞争对pod...原创 2020-08-05 14:40:04 · 436 阅读 · 0 评论 -
hualinux 进阶 1.20:反向代理ngress及ingress-nginx安装
目录一、Ingress知识1.1 什么是ingress1.2 为什么要使用ingress二、例子 ingress-nginx的实现方式2.1基于云环境2.2 使用MetalLB2.3NodePort service方式三、例子 ingress-nginx的NodePort实现3.1ingress 控制器安装3.1.1 状态13.1.2 状态23.2 安装一个ingress-nginx例子3.2.1建立k8s Deployment群集,这里设置2...原创 2020-07-28 20:52:20 · 1545 阅读 · 0 评论 -
hualinux 进阶 1.19: k8s Service服务工作原理概述
目录一、Service知识回顾二、k8s service工作原理三、k8s serice其它模式前章《k8s容器网络概述》讲了从docker讲起,讲到k8s怎样网络互通的。我们在讲Service服务的时候,讲了服务的使用,但是没有讲服务的工作原理,所以在这里简单讲一下。一、Service知识回顾Service 这个 Kubernetes 里重要的服务对象。而 Kubernetes 之所以需要 Service,一方面是因为 Pod 的 IP 不是固定的,另一方面则是因...原创 2020-07-28 18:11:12 · 677 阅读 · 0 评论 -
hualinux 进阶 1.18: k8s容器网络概述(收集)
目录一、docker网络是怎通讯的1.1Veth Pair1.2 原图图1.2.1 同一宿主机1.2.2 不同主机上的docker通讯二、容器网络方案2.1 UDP模式(性能不好,弃用)2.2 VXLAN三、k8s网络模型和CNI插件3.1Flannel 的 host-gw 模式3.2Calico 项目3.2.1 Calico Node-to-Node Mesh 模式3.2.2 Calico Route Reflector模式3.3.3Cal...原创 2020-07-27 20:35:27 · 951 阅读 · 2 评论 -
hualinux 进阶 1.17:Job CronJob控制器及Configmap、Secret等
前面讲了常用的ReplicaSet、Deployments、StatefulSets几个常用控制器,还有没讲的DaemonSet,这几个是在线业务,而 离线业务 的控制器Jobs(EN)、CronJob基本上就这些了。前面还欠下ConfigMap 配置 Pod的,保存敏感信息的Secret没讲这些官方文档都讲很很详细,我这里不再详说了一、关于DaemonSetDaemonSet 的“过人之处”,其实就是依靠 Toleration 实现的。一个 Toleration,调...原创 2020-07-27 18:45:42 · 257 阅读 · 0 评论 -
hualinux 进阶 1.16:StatefulSet有状态应用(二) 拓扑和存储状态结合的例子
目录一、例子说明1.1 功能说明1.2 实现思路二、例子实现2.1 准备工作(node)2.2建立pv(master)2.3 建立sc(master 可选)2.4 建立statefulset2.5 查看运行情况上一章讲了StatefulSet的相关知识,现在讲一个拓扑状态和存储状态结合的例子。一、例子说明1.1 功能说明我这里的是起2个mysql绑定不同的两个持久卷,我使用的是是local,没在使用其它系统,比如ceph或GFS。也可以看k8s..原创 2020-07-21 01:37:12 · 288 阅读 · 0 评论 -
hualinux 进阶 1.15:StatefulSet有状态应用(一)
目录一、StatefulSets介绍二、StatefulSet 状态分类2.1 拓扑状态2.2 存储状态三、建立一个简单的拓扑状态的StatefulSet3.1 编写statefulSet的YAML文件3.2 pod对应的域名3.3 访问测试3.3.1 安装centos pod3.3.2 测试四、稳定的存储4.1 pv和pvc的关系4.1.1 pv生命周期4.1.2 pv回收策略4.1.3 pv的声明类型4.2storageClassName.原创 2020-07-20 21:51:35 · 430 阅读 · 0 评论 -
hualinux 进阶 1.14:Services服务及种类
Service 服务的主要作用,就是作为 Pod 的代理入口(Portal),从而代替 Pod 对外暴露一个固定的网络地址。一、service作用1.1 作用我们前面所学的pod和ReplicaSet、Deployment等,当我们有需求Pod 对外暴露一个固定的网络地址对外放一个固定的IP地址,我们这时间就要用到服务了,虽然pod、ReplicaSet、wDeployment有IP地址,但是它并不是固定的,pod挂了,从另了个节点起一个,那么它的地址可能是变化的,而Service...原创 2020-07-20 18:34:16 · 760 阅读 · 0 评论 -
hualinux 进阶 1.13: Deployments水平收缩及更新机制
目录一、知识点二、Deployment更新机制Deployments 可以实现副本集,进行水平收缩,挻不错的功能。但是只适用于无状态。所谓遥无状态是对等关系,没有顺序要求,所有pod都一样一、知识点主要是创建更新回滚缩放暂停、恢复金丝雀发布(Canary Deployment)和蓝绿发布(Blue-Green Deployment)A/B测试等这些在k8s官方的Deployment中文文档都做了很详细的介绍,我这里不不多说了“水平扩展 / 收缩”非常.原创 2020-07-17 18:43:24 · 196 阅读 · 0 评论 -
hualinux 进阶 1.12: 控制器模型
目录一、什么是控制器1.1 控制器概念1.2 pod模板1.3 通过一个例子理解控制器二、控制器使用场景简单说明2.1 守护进程型2.2 非守护进程型上一篇k8s全景图,有一技术,我们只讲了pod,现在继续讲其它,本篇主要是讲 控制器和模板一、什么是控制器1.1 控制器概念根据k8s官方文档对控制器的解说如下:控制器可以为您创建和管理多个 Pod,管理副本和上线,并在集群范围内提供自修复能力。 例如,如果一个节点失败,控制器可以在不同的节点上调...原创 2020-07-15 21:23:57 · 228 阅读 · 0 评论 -
hualinux 进阶 1.11:k8s核心全景图(收集)
上一篇我们学习一pod,现在基于pod弄一个全景图出来。按照这幅图的线索:我们从容器这个最基础的概念出发,首先遇到了容器间“紧密协作”关系的难题,于是就扩展到了 Pod; 有了 Pod 之后,我们希望能一次启动多个应用的实例,这样就需要 Deployment 这个 Pod 的多实例管理器; 而有了这样一组相同的 Pod 后,我们又需要通过一个固定的 IP 地址和端口以负载均衡的方式访问它,于是就有了 Service。可是,如果现在两个不同 Pod 之间不仅有“访问关...原创 2020-07-15 20:41:02 · 427 阅读 · 0 评论 -
hualinux 进阶 1.10:pod的配置格式及简单例子
上一篇,我们介绍了pod及pod解决了什么问题,本篇将说一下pod的相关配置及简单的例子参考《Kubernetes权威指南(第4版)》一、建立一个简单的pod例子在没有说yaml语法时,先建立一个简单的Pod,这样会好讲一些,先运行再讲语法mkdir -p /disk1/k8sConfcat>/disk1/k8sConf/nginx1.18.yaml<<EOFapiVersion: v1#注解这个pod,首字母要大写的哈,要不会创建失败kind: ...原创 2020-07-15 20:16:06 · 334 阅读 · 0 评论 -
hualinux 进阶 1.9:pod[k8s最小编排单位]及pod本质(整理)
目录一、为什么需要pod二、pod实现原理三、pod本质3.1 关于虚拟机里的应用无缝迁移到容器中3.2 docker本质本章将介绍k8s一个重中之重的概念podPod,是 Kubernetes 项目中最小的 API 对象。如果换一个更专业的说法,我们可以这样描述:Pod,是 Kubernetes 项目的原子调度单位。是Kubernetes 项目中的最小编排单位Pod,它只是一个逻辑概念。Pod 里的所有容器,共享的是同一个 Network Namespace,并...原创 2020-07-15 16:18:58 · 498 阅读 · 0 评论 -
hualinux 进阶 1.8:k8s架构及组件介绍
目录一、什么是k8s及其本质1.1 什么是k8s1.2 docker本质1.3 k8s本质二、k8s组件三、k8s全局架构3.1 容器网络接口CNI和存储接口CSI3.2 容器运行器接口CRI3.3 开放容器标签OCI3.4Protobuf编码附录一、k8s组件1.1控制平面组件(Control Plane Components)kube-apiserveretcdkube-schedulerkube-controller-manage...原创 2020-07-15 14:49:22 · 377 阅读 · 0 评论 -
hualinux 进阶 1.7:kubeadm1.19搭建k8s群集 (最详细的手把手版)
前面花了5章讲了docker,现在就讲docker其中的一种编排工具k8s,学习k8s建议先用集成工具,不要一起来就直接二进制安装,搞得太复杂,这里推荐用kubeadm,而且高可用HA已经是GA了,有些公司已经用它跑生产环境。kubeadmin有很多已经设置好,灵活性没有用二进制那么好,但是省了不少麻烦。一般规模不大的应用已经够用了我这里不使用kubeadm的HA使用单主,因为是实验给初学者的,生产环境建议用HA一、环境说明Kubeadm 是一个工具,它提供了kubeadm in...原创 2020-07-13 02:20:06 · 6757 阅读 · 0 评论 -
hualinux 进阶 1.6: centos8 docker CE 入门及安装(五) 使用网络
目录一、外网访问容器1.1参数-P -p1.2映射到指定地址的任意端口1.3查看映射端口配置二、容器互联2.1 说明2.2 例子附录一、docker的三种网络类型1.1 none网络1.2host 网络1.3 bridge网络(默认)本章最后一小节,讲docker使用简单的网络一、外网访问容器1.1参数-P -p容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或-p 参数来指定端口映射。-P(大写):...原创 2020-07-07 03:11:14 · 426 阅读 · 0 评论 -
hualinux 进阶 1.5: centos8 docker CE 入门及安装(四) volume数据卷
目录一、volume数据卷介绍二、volume数据卷相关操作2.1建立一个数据卷2.2volume数据卷删除操作2.3挂载一个主机目录作为数据卷2.4查看数据卷的具体信息2.5挂载一个本地主机文件作为数据卷三、数据卷容器四、利用数据卷容器来备份、恢复、迁移数据卷4.1备份4.2 恢复前面将讲最重要的就是volume数据卷,即docker -v参数一、volume数据卷介绍数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 U...原创 2020-07-06 21:53:59 · 861 阅读 · 0 评论 -
hualinux 进阶 1.4: centos8 docker CE 入门及安装(三)建立docker仓库
上一章《hualinux 进阶 1.3: centos8 docker CE 入门及安装(二) 构建docker镜像》讲了怎样制作自己的docker镜像,制作好的镜像肯定要上传到仓库保存,将是这章节的内容,将以公有仓库和自己搭建的私有仓库讲解一、docker仓库仓库(Repository)是集中存放镜像的地方。一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一...原创 2020-07-06 20:58:28 · 408 阅读 · 0 评论 -
hualinux 进阶 1.3: centos8 docker CE 入门及安装(二) 构建docker镜像
目录一、相关docker镜像构建二、使用docker commit构建(不推荐)2.1 准备工作2.2运行容器并进行修改2.3 构建新镜像2.3.1 查看commit帮助2.3.2将容器保存为新的镜像2.3.3 测试2.4慎用docker commit三、使用 Dockerfile 定制镜像(推荐)3.1 说明3.2 使用Dockerfile制作镜像FROM表示指定基础镜像RUN执行命令其它Dockerfile指令3.3用docker...原创 2020-07-05 21:49:17 · 680 阅读 · 0 评论 -
hualinux 进阶 1.2: centos8 docker CE 入门及安装(一) 手把手入门版
目录一、docker技术组成1.1 docker的组成技术1.1.1Linux Namespace1.1.2Linux Cgroups1.1.3 根文件系统rootfs1.2 dokcer的本质二、其它知识点2.1 what-什么是容器容器与虚拟机2.2 why-为什么需要容器?容器解决的问题如何让每种服务能够在所有的部署环境中顺利运行?Docker 的特性容器的优势2.3 How - 容器是如何工作的?Docker客户端Docker服..原创 2020-07-05 19:09:18 · 844 阅读 · 0 评论 -
hualinux 进阶 1.1:前言
目录一、基于前面的运维基础篇二、关于进阶篇进阶篇之运维技能,主要是运维的进阶篇,其中多少会涉及到一部分开发方面的知识,我将会从dokcer、ansible/saltStack、ELK/EFK、k8s生态、自动化待续集成等方面进行介绍一、基于前面的运维基础篇在运维基础篇,我花了5个专栏,如下图所示:只能大概讲了一个电商运维常用的方面的技术及推荐的书籍,希望初学者能够打好基础,在打好基础的前提下再学习进阶篇。二、关于进阶篇进阶篇已经涉及到一部分开发方面的知识了,会..原创 2020-07-05 13:34:54 · 184 阅读 · 0 评论