自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL语句的基本应用整理

SQL语句一些重要的命令(sql对大小写不敏感:select与SELECT是相同的)select 从数据库中提取数据update 更新数据库中的数据delete 从数据库中删除数据insert init 向数据库插入数据create database 创建数据库alter database 修改数据库create table 创建数据表alter table 变更(修改)数据表drop table 删除表create index 创建索引(搜索键)drop index 删除索引S

2021-08-02 16:08:25 1884

原创 mysql 解决1062报错

mysql在主从复制过程中,由于各种的原因,从服务器可能会遇到执行BINLOG中的SQL出错的情况,在默认情况下,服务器会停止复制进程,不再进行同步,等到用户自行来处理。slave-skip-errors的作用就是用来定义复制过程中从服务器可以自动跳过的错误号,当复制过程中遇到定义的错误号,就可以自动跳过,直接执行后面的SQL语句mysql主从库同步错误:1062 Error ‘Duplicate entry ‘1438019’ for key ‘PRIMARY’’ on querymysql主从库在

2021-06-03 16:05:04 22746 1

原创 nginx 反向代理,负载均衡

安装nginx安装yum -y install nginx启动systemctl start nginx1、nginx的配置文件在/etc/nginx/nginx.conf2、自定义的配置文件放在/etc/nginx/conf.d3、项目文件存放在/usr/share/nginx/html/4、日志文件存放在/var/log/nginx/在nginx.conf中修改完后进入sbin下执行 ./nginx -s reload 使用reload用户是无感的nginx一共三个模块进

2021-04-02 16:30:28 434

原创 nginx 简单易懂版本

##什么是nginx?nginx是一个高性能的http和反向代理web服务器,同时也提供邮件服务,其特点就是内存占用少并发能力强

2021-04-02 16:23:01 325

原创 zabbix--自定义监控项

选择出你要监控的选项(内存)free -m |awk '/Mem/{print $2}'修改配置文件UserParameter=free2,free |awk '/Mem/{print $2}'#free2为定义的名字重启systemctl restart zabbix-agent在浏览器添加(选择你需要自定义的主机)完成看自己的需求分类...

2020-12-16 20:44:42 135

原创 zabbix--创建触发器

添加一个用户登录3个就报警的触发器

2020-12-16 20:42:25 187

原创 zabbix--添加监控

在需要监控的主机上安装zabbix-agentyum -y install https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.27-1.el7.x86_64.rpm修改配置文件vi /etc/zabbix/zabbix_agentd.confServer=172。16.0.1 改为 10.0.0.7浏览网页成功...

2020-12-16 20:40:45 122

原创 zabbix--脚本 每隔1分钟监控一次内存

内存:每隔1分钟监控一次内存,当你的可用内存低于100m,发邮件警报,要求显示剩余内存值可以并不用写sleep,写计划任务#!/bin/bashwhile turedo Free=`free -m |awk 'NR=={print $NF}'` if [ $Free -lt 100 ] then echo $Freee | mail -s "当前内存" igcllq@163.com if sleep 60done...

2020-12-16 20:38:26 394

原创 zabbix-常用命令 cpu 内存 网络

free 内存df 磁盘top 时间,负载,后台,cpuhtop 同上,彩色,功能更多uptime 同上,易取值iftop 能看见访问我网页的ip,监控流量iostat 查看磁盘ioiotop 查看每个进程占用内存vmstat 综合查询netstat -lntup 查看进程监听的端口nethogs 监控每个进程用了多少流量总结:cpu 内存 硬盘 网络...

2020-12-16 20:37:18 182

原创 zabbix--安装

准备:初始化:镜像云 关闭防火墙安装开发组件:Development Toolszabbix官网https://www.zabbix.com/cn/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql&ws=apache安装zabbix镜像源:yum -y install https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64

2020-12-16 20:35:29 147

原创 zabbix--监控搜集

监控搜集host 主机host group 主机组item 监控项value preprocessing 预处理template 模板application 应用web scenario web场景Macros 宏数据展示graph 图表screen 聚合图表maps 拓扑图

2020-12-16 20:30:07 96

原创 Kubernetes-k8s环境部署

一下安装k8s集群要求在7.5或者之上主机域名解析为了方便以后集群节点间的直接使用,在这配置一下主机域名,企业中推荐使用内部DNS服务器#在三台服务器/etc/hosts文件添加10.0.0.7 master10.0.0.17 node110.0.0.27 node2时间同步kubernetes要求集群中的节点时间必须精确一致,这里直接使用chronyd服务从网络同步时间。企业中建议配置内部的时间同步服务器#启动服务[ root@master ~]#systemctl start ch

2020-12-14 15:52:58 169

原创 Kubernetes-service实验

service可以看作一组同类pod对外的访问接口。借助service,应用可以方便的实现服务发现和负载均衡利用service管理pod先要创建一个deployment集群再创建#暴露Service[ root@master ~]# kubectl expose deploy nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80 -n devservice/ svc-nginx1 exposed#查看servic

2020-12-14 15:52:52 128

原创 Kubernetes-pod控制器-ReplicaSet(RS)

Deployment(Deploy)企业常常使用为了更好的解决服务编排的问题,kubernetes在V1.2版本开始,引入了Deployment控制器。值得一提的是,这种控制器并不直接管理pod,而是通过管理ReplicaSet来间接管理Pod,即: Deployment管理ReplicaSet,ReplicaSet管理Pod。所以DeploymenttLReplicaSet功能更加强大。主要功能:支持ReplicaSet支持版本滚动更新和版本退回支持发布的停、继续apiVersion:

2020-12-14 15:52:44 126

原创 Kubernetes-pod控制器-Horizontal Pod Autoscaler

Horizontal Pod Autoscaler (HPA)在前面的课程中,我们可以通过手工执行kubectl scale命令实现Pod扩容,但是这显然不符合Kubernetes的定位目标–自动化、智能化。Kubernetes期望可以通过监测Pod的使用情况,实现pod数量的自动调整,于是就产生了HPA这种控制器。HPA可以获取每个pod利用率,然后和HPA中定义的指标进行对比,同时计算出需要伸缩的具体值,最后实现pod的数量的调整。其实HPA与之前的Deployment一样,也属于一种Kuberne

2020-12-14 15:52:33 451

原创 Kubernetes-pod控制器-DaemonSet(DS)

DaemonSet(DS)DaemonSet类型的控制器可以保证集群中的每一台(或指定)节点上都运行一个副本,一般适用于日志收集、节点监控等场景。也就是说,如果一个pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类Pod就适合使用DaemonSet类型的控制器创建。DameonSet控制器的特点:每当向集群中添加一个节点时,指定的pod副本也将添加到该节点当节点从集群中移除时,pod也就被垃圾回收了创建一个daemonsetapiVersion: apps/v1kin

2020-12-14 15:52:24 304

原创 Kubernetes-pod控制器-Job(一次性任务)

Job一次性任务Job,主要用于负责批量处理(一次要处理指定数量任务)短暂的一次性(每个任务仅运行一次就结束)任务。Job特点如下:当ob创建的pod执行成功结束时,Job将记录成功结束的pod数量当成功结束的pod达到指定的数量时,Job将完成执行apiVersion: batch/v1kind: Jobmetadata: name: pc-job namespace: devspec: manualSelector: true selector: mat

2020-12-14 15:52:05 626

原创 Kubernetes-pod控制器-CronJob(CJ)

CronJob(CJ)CronJob控制器以lob控制器资源为其管控对象,并借助它管理pod资源对象,Job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但Cron]ob可以以类似于Linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复运行的方式。也就是说,CronJob可以在特定的时间点(反复的)去运行job任务。每一分钟都执行一次任务apiVersion: batch/v1beta1kind: CronJobmetadata: name: pc-cronjob

2020-12-13 14:42:23 209

原创 Kubernetes-deployment管理无状态应用

遇到的问题kubectl get deployment -n dev 显示No resources found in default namespace.可以试一试创建kubectl create deployment nginx --image=nginx:1.17.1 --namespace dev因版本原因replicas=3不能用#命令格式: kubectl run deployment名称[参数]#--image指定pod的镜像#--port指定端口# --replicas指定创

2020-12-13 14:41:44 378

原创 Kubernetes-常用命令

#ReplicaSet扩缩容kubectl edit rs xxx -n dev#查询ReplicaSet=rs xxx可以去pod查看,头部就是kubectl get rs xxx -n dev#设置污点kubectl taint nodes node1 tag=zp:PreferNoSchedule #尽量不要来kubectl taint nodes node1 tag=zp:NoSchedule #新的不要来kubectl taint nodes node1 tag=zp:NoS

2020-12-13 14:41:25 139

原创 pod生命周期

pod生命周期运行主容器(main container)过程容器启动后钩子(post start) 、容器终止前钩子(pre stop)容器的存活性探测(liveness probe) 、就绪性探测(readiness probe)在整个生命周期中,Pod会出现5种状态(相位),分别如下:挂起(Pending) : apiserver已经创建了pod资源对象,但它尚未被调度完成或者仍处于下载镜像的过程中运行中(Running) : pod已经被调度至某节点,并且所有容器都已经被kubel

2020-12-13 14:41:07 569

原创 Kubernetes-主容器钩子函数

主容器钩子函数钩子函数能够感知自身生命周期中的事件,并在相应的时刻到来时运行用户指定的程序代码。kubernetes在主容器的启动之后和停止之前提供了两个钩子函数:post start:容器创建之后执行,如果失败了会重启容器pre stop ︰容器终止之前执行,执行完成之后容器将成功终止,在其完成之前会阻塞删除容器的操作第一种使用最多 第三种次之 第二种最少...

2020-12-13 14:40:08 444

原创 Kubernetes-容器探测

容器探测容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制。如果经过探测,实例的状态不符合预期,那么kubernetes就会把该问题实例"摘除",不承担业务流量。kubernetes提供了两种探针来实现容器探测,分别是:liveness probes:存活性探针,用于检测应用实例当前是否处于正常运行状态,如果不是,k8s会重启容器readiness probes:就绪性探针,用于检测应用实例当前是否可以接收请求,如果不能,k8s不会转发流量livenessProbe 决

2020-12-13 14:39:40 345

原创 Kubernetes-pod重启策略

pod重启策略在上一节中,一旦容器探测出现了问题,kubernetes就会对容器所在的Pod进行重启,其实这是由pod的重启策略决定的,pod的重启策略有3种,分别如下:Alwaysl:容器失效时,自动重启该容器,这也是默认值。OnFailure :容器终止运行且退出码不为0时重启Never : 不论状态为何,都不重启该容器重启策略适用于pod对象中的所有容器,首次需要重启的容器,将在其需要时立即进行重启,随后再次需要重启的操作将由kubelet延迟一段时间后进行,且反复的重启操作的延迟时长以

2020-12-13 14:39:21 912

原创 Kubernetes-定向调度

pod调度在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢?这就要求了解kubernetes对Pod的调度规则,kubernetes提供了四大类调度方式:自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出定向调度:NodeName、NodeSelector亲和性调度:NodeAffinity、

2020-12-13 14:38:29 391

原创 Kubernetes-亲和性调度

亲和性调度kubernetes提供了一种亲和性调度(Affinity)。它在NodeSelector的基础之上的进行了扩展,可以通过配置的形式,实现优先选择满足条件的Node进行调度,如果没有,也可以调度到不满足条件的节点上,使调度更加灵活。Affinity主要分为三类:nodeAffinity(node亲和性)∶以node为目标,解决pod可以调度到哪些node的问题podAffinitypod亲和性):以pod为目标,解决pod可以和哪些已存在的pod部署在同一个拓扑域中的问题podAnti

2020-12-13 14:37:27 323

原创 Kubernetes-污点和容忍

污点和容忍污点(Taints)前面的调度方式都是站在Pod的角度上,通过在Pod上添加属性,来确定Pod是否要调度到指定的Node上,其实我们也可以站在Node的角度上,通过在Node上添加污点属性,来决定是否允许Pod调度过来。Node被设置上污点之后就和Pod之间存在了一种相斥的关系,进而拒绝Pod调度进来,甚至可以将已经存在的Pod驱逐出去。污点的格式为: `key=valueleffect ’ , key和value是污点的标签,effect描述污点的作用,支持如下三个选项:Prefer

2020-12-13 14:36:12 434

原创 Kubernetes-service-ingress实例

ingressService对集群之外暴露服务的主要方式有两种:NotePort和LoadBalancer,但是这两种方式,都有一定的缺点:NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显。LB方式的缺点是每个service需要一个LB,浪费、麻烦,并且需要kubernetes之外设备的支持基于这种现状,kubernetes提供了Ingress资源对象,Ingress只需要一个NodePort或者一个LB就可以满足暴露多个Service的需求。工

2020-12-12 17:28:20 295

原创 Kubernetes-service-ExternalName

ExternalName类型的Service用于引入集群外部的服务,它通过externalName 属性指定外部一个服务的地址,然后在集群内部访问此service就可以访问到外部的服务了。apiVersion: v1kind: Servicemetadata: name: externalName namespace: devspec: type: ExternalName #service类型 externalName: www.baidu.com #改成ip地址也行

2020-12-12 17:21:45 1012

原创 Kubernetes-service-Nodeport

Nodeport类型的service(相当于映射)在之前的样例中,创建的Service的ip地址只有集群内部才可以访问,如果希望将Service暴露给集群外部使用,那么就要使用到另外一种类型的Service,称为NodePort类型。NodePort的工作原理其实就是将service的端口映射到Node的一个端口上,然后就可以通过NodeIp:NodePort来访问service了。apiVersion: v1kind: Servicemetadata: name: nodeport na

2020-12-12 17:19:40 2024

原创 Kubernetes-service实例

在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供—个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行着一个kub

2020-12-12 17:17:14 247

原创 Kubernetes-数据存储-PV和PVC实例

PV和PVC使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用,kubernetes引入PV和PVC两种资源对象。IPV(Persistent Volume)是持久化卷的意思,是对底层的共享存储的一种抽象。一般情况下PV由kubernetes管理员进行创建和配置,它与底层具体的共享存储技术有关,并通过插件完成与共享存储的对接。PVC (Persisten

2020-12-12 17:10:29 592

原创 Kubernetes-数据储存-nfs实例

NFSHostPath可以解决数据持久化的问题,但是一旦Node节点故障了,Pod如果转移到了别的节点,又会出现问题了,此时需要准备单独的网络存储系统,比较常用的用NFS、CIFS。NFS是一个网络文件存储系统,可以搭建一台NFS服务器,然后将Pod中的存储直接连接到NFS系统上,这样的话,无论Pod在节点上怎么转移,只要Node跟NFS的对接没问题,数据就可以成功访问。首先在准备nfs服务器,以master节点做nfs服务器#在master上安装nfs服务yum -y install nfs-

2020-12-12 17:03:12 168

原创 Kubernetes-数据储存-HostPath实例

HostPathEmptyDir中数据不会被持久化,它会随着Pod的结束而销毁,如果想简单的将数据持久化到主机中,可以选择HostPath。HostPath就是将Node主机中一个实际目录挂在到Pod中,以供容器使用,这样的设计就可以保证Pod销毁了,但是数据依据可以存在于Node主机上。apiVersion: v1kind: Podmetadata: name: v namespace: devspec: containers: - name: nginx image

2020-12-12 17:00:53 3059

原创 Kubernetes-数据存储-EmptyDir实例

容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命容器不与Pod中单个容器的生命周期相关,当容器终止或者重

2020-12-12 16:58:14 1111

原创 Kubernetes-数据存储-安全认证

Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。客户端在Kubernetes集群中,客户端通常有两类:.User Account:一般是独立于kubernetes之外的其他服务管理的用户账号。Service Account: kubernetes管理的账号,用于为Pod中的服务进程在访问Kubernetes时提供身份标识。认证、授权与准入控制ApiServer是访问及管理资源

2020-12-12 16:52:30 145

原创 Kubernetes-DashBoard安装使用

之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。#下载wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml

2020-12-12 16:50:27 2291 1

原创 Kubernetes-service的创建和基础使用

service可以看作一组同类pod对外的访问接口。借助service,应用可以方便的实现服务发现和负载均衡利用service管理pod先要创建一个deployment集群再创建#暴露Service[ root@master ~]# kubectl expose deploy nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80 -n devservice/ svc-nginx1 exposed#查看servic

2020-12-05 20:34:09 379

原创 Kubernetes-deployment的创建

因版本原因replicas=3不能用#命令格式: kubectl run deployment名称[参数]#--image指定pod的镜像#--port指定端口# --replicas指定创建pod数量#--namespace指定namespace[ root@master ~]# kubectl run nginx --image=nginx:1.17.1 --port=80 --replicas=3 -n devdeployment.apps/nginx created是因为在K8S.

2020-12-05 20:31:40 502

原创 Kubernetes-k8s label标签的运用

Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。Label的特点:一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数量的资源对象上去.Label通常在资源对象定义时确定,当然也可以在对象创建后勃态添加或者删除可以通过Label实现资源的多维度分组,以便灵活、方便地进行资源分配、调度、配置、部署等管理工作。

2020-12-05 20:29:45 4319

空空如也

空空如也

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

TA关注的人

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