自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (3)
  • 收藏
  • 关注

原创 KVM虚拟化实战

目录一: kvm简介1.1:虚拟化概念1.2:KVM、QEMU、libvirt以及virt-manager等组件的关系1.2.1:QEMU1.2.2:KVM1.2.3:libvirt重点二:kvm安装2.1:环境介绍2.2: 安装kvm用户态模块2.3:启动libvirt2.4:查看网络信息2.5:KVM宿主机网络配置三:kvm管理工具virt-manager3.1:安装virt-manager3.2 启动virt-manager管理工具3.3 创建数据存储池3.4 创建虚拟机四:命令行安装虚拟机4.1:创

2020-11-30 13:31:09 587

原创 Prometheus+grafana+alertmanager告警平台搭建

目录一:prometheus告警机制二:配置告警规则2.1: 修改Prometheus配置文件2.2:设置告警规则三:官方文档一:prometheus告警机制告警机制是由Alertmanager与Prometheus两个组件共同实现的。Prometheus应用根据报警规则计算并触发报警发送给Alertmanager。Alertmanager对告警进行处理,包括屏蔽(silencing)、抑制(inhibition)、聚合(aggregation),通过电子邮件等方式发送告警。二:配置告警规则2.

2020-11-20 14:27:37 1943 2

原创 Centos 7 搭建本地yum源(离线yum仓库)

一: 创建yum仓库目录mkdir -p /app/yum/centos7/x86_64二:安装createrepo2.1:在线安装yum -y install createrepo2.2: 离线安装下载路径http://rpmfind.net/linux/rpm2html/search.php?query=createrepo三:初始化repodata索引文件createrepo /app/yum/centos7/x86_64命令执行成功后会在该目录下创建一个repodata

2020-11-18 17:05:29 11566 1

原创 Ansible roles简介

roles角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。主要使用场景:代码复用度较高的情况下。以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等;相当于函数的调用把各个功能切割成片段来执行。roles目录结构role_name:定义的role名字files:存放copy或script等模块调用的函数tasks:定义各种task,要有main.yml,其他文件include包含调用handlers:定义各种h

2020-11-16 19:11:42 178 1

原创 Ansible自动化运维-playbook(3)

目录一:playbook介绍二:Playbook核心元素三:Playbook语法四:Playbook的运行方式五:playbook中变量的使用5.1:命令行指定变量5.2:hosts文件中定义变量5.3:playbook文件中定义变量5.4:调用setup模块获取变量5.5:独立的变量YAML文件中定义六:Playbook中标签(tag)的使用七:Playbook中模板(template)的使用7.1:template之when7.2:template之with_items7.3:template之for

2020-11-12 20:44:20 144

原创 Ansible自动化运维-常用命令集(2)

目录一:ansible 命令集二:ansible-doc 命令三:ansible 命令详解3.1:ansible 常用模块3.1.1:ping模块3.1.2:command 模块3.1.3:shell 模块3.1.4:copy 模块3.1.4:file 模块3.1.5:fetch 模块3.1.6:cron 模块3.1.7:yum 模块一:ansible 命令集/usr/bin/ansible  Ansibe AD-Hoc 临时命令执行工具,常用于临时命令的执行/usr/bin/ansible-doc

2020-11-12 14:24:52 271

原创 Ansible自动化运维(1)

目录一:ansible介绍二:ansible特性三:ansible环境部署3.1:ansible工作模式3.2:ansible安装3.3: ansible 配置3.3.1: ansible 主机清单一:ansible介绍Ansible 是个与 Puppet, SaltStack, Chef 并驾齐驱的组态设定 (Infrastructure as Code) 工具,其简单易用的特性让人爱不释手,在 DevOps 界更佔有一席之地。Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工

2020-11-12 12:47:10 414 3

原创 轻量级自动化运维工具pssh安装使用

目录一:简介二:安装三:pssh命令包四:pssh实战一:简介pssh是python写的可以并发在多台机器上批量执行命令的工具。它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快。它支持文件并行复制,远程命令执行,杀掉远程主机上的进程等等。杀手锏是文件并行复制,当进行再远程主机批量上传下载的时候,最好使用它。在使用pssh之前,必须要保证管理主机和本地主机进行过密钥的认证。二:安装wget https://pypi.python.org/packages/60/9a/

2020-11-06 22:16:05 291 1

原创 kvm磁盘操作

新增磁盘1 GUI虚拟机管理工具virt-manager进入管理界面2 双击进入指定虚机。点击Details选中 Disk1,点击左下角Add Hardware选择一个存储选择存储卷创建一个存储卷,并指定卷大小生成指定大小的存储卷点击finish。完工可以看到多了一块磁盘Disk2...

2020-11-06 17:07:47 240

原创 linux磁盘分区解决方案对比(MBR vs GPT)

目录一:Linux对磁盘分区的解决方案二:MBR分区方案特点三:GPT分区方案特点四:区分MBR和GPT分区五:parted实战一:Linux对磁盘分区的解决方案MBR分区方案(存储器缓冲寄存器)GPT分区方案(全局唯一标识磁du盘分区表)二:MBR分区方案特点最多支持四个主分区在Linux上使用扩展分区和逻辑分区最多可以创建15个分区由于分区中的数据以32位存储,使用MBR分区是最大支持2T空间fdisk管理工具只能创建MBR分区三:GPT分区方案特点GPT分区列表支持最大1

2020-11-06 16:35:01 597

原创 centos7 sshpass安装使用

目录安装常用命令安装1 先安装epelyum install -y epel-release2 安装完成epel之后,就可以按照sshpass了yum install -y sshpass3 验证:sshpass -V[root@localhost ~]# sshpass -Vsshpass 1.06(C) 2006-2011 Lingnu Open Source Consulting Ltd.(C) 2015-2016 Shachar ShemeshThis program is

2020-11-05 17:56:43 948

原创 Centos7部署时间同步服务chrony

目录一:简介二:安装三:配置修改3.1:服务端3.2:客户端四:常用命令一:简介Chrony是一个开源的自由软件,像CentOS7或基于RHEL 7操作系统,已经是默认服务。默认配置文件在 /etc/chrony.conf它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对于NTP时间同步软件,占据很大优势。其用法也很简单。Chrony有两个核心组件:chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿

2020-11-04 16:44:27 359

原创 python流程控制(2)

目录一:if语句二:while语句三:for语句四:break和continue五:pass空语句一:if语句二:while语句三:for语句四:break和continue五:pass空语句

2020-11-02 10:48:36 74

原创 python入门基础(1)

目录一:注释二:代码缩进三:基本输入输出四:变量五:数据类型六:运算符一:注释二:代码缩进三:基本输入输出四:变量五:数据类型六:运算符

2020-11-02 10:45:15 89

原创 awk练习1

#获取访问日志中每个ip的访问次数cat /var/log/httpd/access_log |awk '{print $1}'|sort |uniq -c|awk '{printf "ip地址:%s 访问次数:%d\n",$2,$1}'#打印出访问次数前5的ip地址和访问次数cat /var/log/httpd/access_log |awk '{print $1}'|sort |uniq -c|sort |head -n5#提取访问次数超过20次的页面cat /var/log/httpd

2020-10-29 14:42:16 157

原创 shell 脚本练习2

实验一:Nginx服务管理脚本请准备一台服务器,在服务器上使用源码安装nginx,成功启动并访问到nginx为更方便的启动或者停止 nginx,请请根据要求,编写脚本实现如下的功能:1.定义启动Nginx函数,要求:函数中需要判断nginx 的pid文件是否存在,若存在则提示: Nginx已经启动…若Nginx未启动,则执行检测配置文件,检测通过后执行启动nginx启动后判断nginx的pid文件是否创建成功,若创建成功,则提示nginx启动成功!否则提示nginx启动失败2.定义关闭 Ngi

2020-10-29 14:36:42 1864 6

原创 shell 实现一键安装vsftpd+expect自动交互

shell 脚本实现:1:自动安装vsftpd服务2:允许匿名用户上传文件3:使用expect实现ftp用户上传文件免交互。#!/bin/bashinstall_ftp(){ count=$(rpm -qa |grep ftp|wc -l) if [ $count -ge 2 ]; then echo "vsftpd 已经安装了..." else yum -y install vsftpd ftp fi}edit_conf(){ grep -w "#anon_upload_e

2020-10-29 14:33:39 352

原创 Linux作业调度机制(10)

目录Linux计划任务at命令Linux计划任务crond命令Linux进程控制Linux作业调度Linux计划任务at命令Linux计划任务crond命令Linux进程控制Linux作业调度

2020-10-18 16:08:41 596 1

原创 运用expect实现自动交互(9)

目录expect语言使用expect实现ssh自动登录使用expect与scp实现自动文件传输使用expect实现ftp自动文件上传expect语言使用expect实现ssh自动登录使用expect与scp实现自动文件传输使用expect实现ftp自动文件上传...

2020-10-18 16:06:33 431

原创 shell脚本概述(8)

目录一:shell脚本二:变量2.1:系统变量2.2:自定义变量2.3:只读变量2.3:特殊变量2.4:read命令三:shell字符串3.1:单引号3.2:双引号四:shell数组五:shell运算符5.1:算术运算符5.2:布尔运算符5.3:逻辑运算符六:shell test命令6.1:数值测试6.2:字符串测试6.3:文件测试七:流程控制八:shell 函数九:输入输出重定向十:shell文件包含一:shell脚本二:变量2.1:系统变量2.2:自定义变量2.3:只读变量2.3:特殊变量

2020-10-11 11:57:47 706

原创 linux常用命令详解(7)

目录正则表达式一:cut(切割)二:sort(排序)三:uniq(去重)四:wc(计数)五:find()六:grep()七:sed()八:awk()正则表达式一:cut(切割)二:sort(排序)三:uniq(去重)四:wc(计数)五:find()六:grep()七:sed()八:awk()...

2020-10-11 11:28:31 1721

原创 高性能mysql读写分离的实现 (5)

目录一:mysql读写分离1.1:mysql读写分离概述1.2:mysql读写分离原理二:mysql读写分离配置2.1:mysql中间件-Amoeba2.2:mysql读写分离的服务器配置2.3:mysql读写分离测试一:mysql读写分离1.1:mysql读写分离概述1、what 什么是读写分离?读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

2020-10-10 18:02:48 310

原创 mysql数据库的主从复制集群应用 (4)

目录一:mysql主从复制1.1:mysql主从复制概述1.1.1:主从复制的优点:1.2:mysql主从复制的工作原理二:mysql主从复制配置2.1:master配置2.2:slave配置2.3:主从复制测试三:mysql互为主从架构一:mysql主从复制1.1:mysql主从复制概述主从复制(也称 AB 复制),允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。1.1.1:主从复制的优点:做数据的热备。作为后备数据库,主数据库服务器

2020-10-10 14:24:11 223

原创 mysql数据库的高级管理(3)

目录一:mysql用户管理1.1:查看所有的用户1.2:新增用户1.3:密码的修改1.3.1:方法一1.3.2:方法二1.4:忘记root密码后的恢复1.5:数据库用户的权限设置1.5.1: 权限层级1.5.2: 为用户授权1.5.3:授权的同时创建用户1.5.4:收回权限二:mysql数据库的备份与恢复2.1:备份的概念与分类2.1.1:备份概念2.1.2:备份分类2.2:备份工具2.2.1:mysqldump2.2.2:mydumper2.2.2.1:Mydumper主要特性:2.2.2.2:Mydum

2020-10-09 18:06:40 513

原创 mysql数据库表的管理(2)

目录一:表的字段类型二:表的约束三:表的创建、删除四:表结构五:表的重命名和表的复制六:表的数据的常规操作:insert语句delete语句update语句alter语句select语句select语句的基本结构select语句的条件顺序运用条件查询函数的使用多表查询一:表的字段类型二:表的约束三:表的创建、删除四:表结构五:表的重命名和表的复制六:表的数据的常规操作:insert语句delete语句update语句alter语句select语句select语句的基本结构se

2020-10-07 17:16:57 531 1

原创 mysql 常用存储引擎的比较

目录MyISAM优势适用场景特点InnoDB应用场景:优点:缺点:特点:MEMORY特点:适用场景:MERGE应用场景:优点:MyISAM它是MySQL5.5之前的默认存储引擎优势访问速度快适用场景对事务的完整性没有要求,或以select、insert为主的应用基本都可以选用MYISAM。在Web、数据仓库中应用广泛。特点不支持事务、外键。每个myisam在磁盘上存储为3个文件,文件名和表名相同,扩展名分别是:扩展名/后缀作用.frm存储表定义.MYD

2020-10-07 11:44:38 213 1

原创 数据库概述(1)

目录一:数据库简介1.1:什么是数据库1.2 :关系型数据库1.2.1:RDBMS概念1.2.2: RDBMS特点1.2.4:RDBMS 术语1.3: mysql,oracle,sqlserver功能和应用场合1.3.1:mysql1.3.2:oracle1.3.3: sqlserver1.4:数据库服务器,数据库,表与记录的关系1.5: 掌握数据库存储引擎种类二:linux平台下安装与配置mysql2.1:rpm安装2.2:源码包编译参数与安装2.3:管理mysql服务2.4:设置初始密码三:mysql数

2020-10-07 09:56:25 2455 4

原创 grafana告警配置

grafana 4 版本以上就支持了报警功能,这使得我们利用 grafana 作为监控面板更为完整,因为报警是监控系统中必不可少的环节,grafana 支持很多种形式的报警功能,比如 email、钉钉、slack、webhook 等等,我们这里来测试下 email 和 钉钉。email报警要启用 email 报警需要在启动配置文件中/etc/grafana/grafan.ini开启 SMTP 服务,我们这里同样利用一个 ConfigMap 资源对象挂载到 grafana Pod 中:(grafana-c

2020-09-17 18:31:35 14194

原创 在k8s集群中安装Grafana

前面的课程中我们使用 Prometheus 采集了 Kubernetes 集群中的一些监控数据指标,我们也尝试使用promQL语句查询出了一些数据,并且在 Prometheus 的 Dashboard 中进行了展示,但是明显可以感觉到 Prometheus 的图表功能相对较弱,所以一般情况下我们会一个第三方的工具来展示这些数据,今天我们要和大家使用到的就是grafana。安装grafana 是一个可视化面板,有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持 Graphite、zabb

2020-09-14 18:15:39 3135

原创 shell练习题1

(一)实验一:检测磁盘使用率(100分)要求: 对Linux系统进行判断,centos6的系统执行lv6.sh , centos7的系统执行lv7.sh,脚本中需要判断当前使用率,如果ip服务器大于90ip服务器大于90%,邮件告警,不超过90%,在公屏提示,ip服务器大于90IP服务器磁盘正常评分标准:(备注 $IP 需要显示对应服务器的ip)1.能够写出检测系统版本号的脚本2.能够截取到本机ip3.能够截取到当前服务器的磁盘使用率4.能够读取文件中的ip,并判断对应ip的使用率是否大于90

2020-09-14 11:10:32 198

原创 Kubernetes 集群的监控方案

对于 Kubernetes 集群本身的监控也是非常重要的,我们需要时时刻刻了解集群的运行状态。对于集群的监控一般我们需要考虑以下几个方面:Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标内部系统组件的状态:比如 kube-scheduler、kube-controller-manager、kubedns/coredns 等组件的详细运行状态编排级的 metrics:比如 Deployment 的状态、资源请求、调度和 API 延迟等数据指标.Ku

2020-09-13 10:06:03 531

原创 prometheus使用 exporter 监控redis应用

我们也说过有一些应用可能没有自带/metrics接口供 Prometheus 使用,在这种情况下,我们就需要利用 exporter 服务来为 Prometheus 提供指标数据了。Prometheus 官方为许多应用就提供了对应的 exporter 应用,也有许多第三方的实现,我们可以前往官方网站进行查看: exporters比如我们这里通过一个redis-exporter的服务来监控 redis 服务,对于这类应用,我们一般会以 sidecar 的形式和主应用部署在同一个 Pod 中,比如我们这里来部署

2020-09-12 19:30:03 991

原创 kube-state-metrics获取k8s各种资源对象的状态信息

上面我们配置了自动发现 Service(Pod也是一样的)的监控,但是这些监控数据都是应用内部的监控,需要应用本身提供一个/metrics接口,或者对应的 exporter 来暴露对应的指标数据,但是在 Kubernetes 集群上 Pod、DaemonSet、Deployment、Job、CronJob 等各种资源对象的状态也需要监控,这也反映了使用这些资源部署的应用的状态。但通过查看前面从集群中拉取的指标(这些指标主要来自 apiserver 和 kubelet 中集成的 cAdvisor),并没有具体

2020-09-11 17:13:29 1156

原创 prometheus监控k8s核心组件(service)

apiserver 实际上是一种特殊的 Service,现在我们同样来配置一个任务用来专门发现普通类型的 Service:- job_name: 'kubernetes-service-endpoints' kubernetes_sd_configs: - role: endpoints relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] acti

2020-09-11 16:13:35 980

原创 prometheus监控k8s核心组件(apiserver)

apiserver 作为 Kubernetes 最核心的组件,当然他的监控也是非常有必要的,对于 apiserver 的监控我们可以直接通过 kubernetes 的 Service 来获取:[root@k8s-master ~]# kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.1.0.1 <none>

2020-09-10 18:53:54 1801

原创 Prometheus使用cAdvisor 监控容器

说到容器监控我们自然会想到cAdvisor,我们前面也说过cAdvisor已经内置在了 kubelet 组件之中,所以我们不需要单独去安装,cAdvisor的数据路径为/api/v1/nodes//proxy/metrics,同样我们这里使用 node 的服务发现模式,因为每一个节点下面都有 kubelet,自然都有cAdvisor采集到的数据指标,配置如下:- job_name: 'kubernetes-cadvisor' kubernetes_sd_configs: - role: node

2020-09-09 18:46:42 3448

原创 Prometheus配置详解

参考:https://blog.csdn.net/Coffin_monkey/article/details/90572867Prometheus可以在运行时重新加载其配置。如果新配置格式不正确,则不会应用更改。 通过向Prometheus进程发送SIGHUP或向/-/reload端点发送HTTP POST请求(启用–web.enable-lifecycle标志时)来触发配置重新加载。 这也将重新加载任何已配置的规则文件。全局配置指定在所有其他配置上下文中有效的参数。 它们还可用作其他配置节的默认值。

2020-09-09 16:32:51 1137

原创 prometheus监控 Kubernetes 集群节点(node-exporter)

我们这里通过 Prometheus 来采集节点的监控指标数据,可以通过node_exporter来获取顾名思义,node_exporter 就是抓取用于采集服务器节点的各种运行指标,目前 node_exporter 支持几乎所有常见的监控点,比如 cpu,diskstats,filesystem,loadavg,meminfo,netstat等我们可以通过 DaemonSet 控制器来部署该服务,这样每一个节点都会自动运行一个这样的 Pod,如果我们从集群中删除或者添加节点后,也会进行自动扩展。在部署

2020-09-08 18:42:43 3022

原创 traefik TLS认证配置

在现在大部分场景下面我们都会使用 https 来访问我们的服务,这节课我们将使用一个自签名的证书,当然你有在一些正规机构购买的 CA 证书是最好的,这样任何人访问你的服务的时候都是受浏览器信任的证书。一:使用下面的 openssl 命令生成 CA 证书:openssl req -newkey rsa:2048 -nodes -keyout tls.key -x509 -days 365 -out tls.crt[root@k8s-master traefik]# ll总用量 16-rw-r--

2020-09-07 14:54:25 2904 1

原创 prometheus监控kubernetes集群应用(traefik)

Prometheus的数据指标是通过一个公开的 HTTP(S) 数据接口获取到的,我们不需要单独安装监控的 agent,只需要暴露一个 metrics 接口,Prometheus 就会定期去拉取数据对于一些普通的 HTTP 服务,我们完全可以直接重用这个服务,添加一个/metrics接口暴露给 Prometheus现在很多服务从一开始就内置了一个/metrics接口,比如 Kubernetes 的各个组件、istio 服务网格都直接提供了数据指标接口。有一些服务即使没有原生集成该接口,也完全可以使用一

2020-09-07 13:55:13 932

Prometheus+Grafana监控Kubernetes.zip

k8s 安 装 Prometheus + Grafana 所涉及的yaml 文件都在这里,下载下来直接就能用

2020-08-07

k8s-v1.17.0镜像包

为了节省下载镜像的时间,我这里已经给大家都下载好了。kubeadm安装所需要镜像包,版本:v1.17.0。亲测可用

2020-08-06

recommended.yaml

k8s dashboard 支持集群v1.17.0 解决google浏览器不能访问dashboard页面

2020-07-28

空空如也

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

TA关注的人

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