自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第7章 文件读取操作

读的模式打开只能读,写模式打开只能写。类似于word的只读模式所以python打开文件得🔝文件文件打开模式(文本模式)追加模式追加的时候也是只能写,不能读,读会报错追加就是写日志的时候比较适合使用。

2023-11-08 10:55:44 126

原创 git(路飞)

举例子:比如当前没有修改的的文件修改下index.html 给约饭加了个111修改完成了 就变成红色的了 想撤回暂存区回到之前没有修改的状态 执行git checkout就可以变回原始状态举例子“使用git reset HEAD 从暂存区回滚到有变动文件状态修改文件绿色就代表添加到暂存区了回滚到未暂存的状态再次回滚 就直接到最原始的没有修改的状态了#查看分支git branch#创建分支git branch 新分支名称##切换分支。

2023-07-07 10:28:26 158

原创 DAY3、DAY4(路飞)

比如路字在万国码里的位置是8DEF 在gbk是4237 这样子就很好转换了 都有转换的关系;因为ascii码128以后的都是乱七八糟的字符 --扩展表 基本只用0-128 基本字节。第三种就是直接拿key去取value的值 取1亿条和取1条一样的快。2个字节 2^16 =65535 所以2个字节代表一个中文汉字。字典的key必须是唯一的 不然后面的值会吧前面的值覆盖。比如 中文用 2个字节代表 其他的xx用3个代表。发送到mac 要求mac正常显示怎么办?因为空格的ascii码对应的数字就是0。

2023-07-01 18:15:33 269

原创 post_check.py里面的语法

原文链接:https://blog.csdn.net/qdPython/article/details/127689439一、datetime函数import datetime二、logging和logging.handlershttps://blog.csdn.net/mouday/article/details/80760343第2行 解释:log重定向到log.txt文件中,文件格式就是 时间+具体的消息文件模式是可写的第3行:通过getLogger获取一个log对象__name__

2023-04-06 10:13:16 126 1

原创 zabbix续

官方文档都有全新的自动解决依赖安装了php httpd等数据库准备ok了更改数据库密码Admin定义触发器还需要依赖关系 万一是路由器坏了 后端的真实主机都是好的zabbix proller 数据采集轮询器 其实就是zabbix 进程就是到定义的被监控主机去拉取数据采集的指标项越多 poller进程越多甚至50个添加主机需要指明监控信道 是snmp还是ssh还是jmx等配置agent端改server是谁我给谁发创建主.

2021-10-28 22:35:04 148

原创 zabbix

源码安装:下载地址:http://www.zabbix.com/download.php# tar -zxvf zabbix-2.0.0.tar.gz创建用户:# groupadd zabbix# useradd -g zabbix zabbix注意:同时安装了server和agent的节点上,建议其运行用户不要相同。配置数据库需要导入数据库脚本–生成数据库脚本配置zabbix server端需要导入数据库脚本–生成数据库脚本里面都是生成的表 所以数据库需要

2021-10-27 18:01:56 182

原创 nginx反向代理配置+lnmp优化+七层负载upstream+keepalived

反代服务器取得内容缓存到本地,然后加速返回给客户端。缓存命中率高 可以极大的缓解后端服务器压力。影响nginx一般nginx作为负载均衡器,不会让nginx反向代理去缓存。而是让缓存服务器去缓存。1.web服务2.反代3.伪四层nat只负责转发过去但是代理是转述 需要修饰的nginx既要当成服务端接受用户请求也要当成客户端去访问互联网可以理解用户请求的具体信息并且可以缓存到本地代理需要监听在套接字上,并且理解这个协议。代理就是双面人后端真实主机nginx代理服务器

2021-10-27 00:21:11 1362

原创 lamp配置

上一篇链接-------------------apache的配置httpd的压力测试:主机上线之前需要进行压力测试,评估其响应能力并发请求最多并发启动256个进程十万个请求100路并发 1000路并发对比单个请求的响应时间一个资源请求三秒是否能够得到响应-k 就是看你有没有开启keep-alive分别10个并发 100个并发测试 对比单个请求所需要的时间从time taken for test开始解释:测试总共花费时间完成的总请求数xx总的数据传输数 3

2021-10-20 00:53:25 457

原创 通信加密和解密,公钥,私钥,CA

监听模式:打开ip和端口=套接字 等待别人来连接为众所周知的服务--固定的端口<1024客户端程序都是打开一个大于40000 的端口一个主机与另外主机进程通信过程:客户端应用层进程本身负责封装应用层的报文,包括添加应用层首部等。不是所有进程都可以wget就是可以网络通信的程序都需要处理应用层的处理封装好应用层程序向内核发起系统调用,内核负责完成通信子网功能。封装传输层首部,网络层首部,帧首部,最后通过物理传输介质,接受的主机就会解封数据包,解封后会根据端口将应用层报文教给应用层注册这个端

2021-10-17 18:09:40 2225

转载 centos系统启动流程介绍

当进程或者线程需要特权指令的时候就会进行系统调用—执行内核代码内核文件一定被放在某个分区-----------启动分区根文件系统在内核起来后才有所以没有根就没有启动分区/boot谁负责加载内核呢???本来在磁盘上是一个静态文件第一个init程序也是在磁盘上的所以需要脱离文件系统众多模块中有一个子系统内核最重要就是装载跟文件系统,然后启动init进程。然后只负责进程管理等。要想加载根需要驱动程序,但是驱动程序在/lig/modules怎么办??不能依赖于跟上的驱动程序为每个用户准

2021-10-15 18:24:25 105

原创 PromQL查询语言

选择器及标签匹配器因为这里我的只有一个所以不需要选择器,可以再选择器里指定选择的版本=~ 和 !~ 是正则表达式中的等于和不等于查询所有cpu使用时间从0-3共四个选择器查看第0个使用正则表达式匹配mode为system和idle的取反–正则表达式的不等于范围、偏移及子查询比如现在是14.41 该命令就是查询13.39-31的数据子查询中间代表的是最后五分钟的http请求总数第一行表示将五分钟的平均速率聚合为一个即时向量、最大的时间使用max_ove

2021-09-07 00:15:44 304

原创 Prometheus监控docker容器+生命周期过程

就是CAdvisor收集的容器数据后prometheus抓取过来、给113主机 运行一个cadvisor 前提是113已经安装了docker其实就是一个监控docker的工具同样也是因为metrics的值别人才可以采集数据因为可以像监控node_exporter监控他,只是端口号不同到111主机上去定义采集数据static_configs静态配置发现没有数据 因为配置文件写错了可以使用这个查看原因注意格式问题重启服务抓取的生命周期1.服务发现先本地安装cad

2021-09-06 23:44:07 279

原创 prometheus之node_exporter

使用prometheus监控主机和容器node_exporter部署之前讲过使用exporter将值倒入到server中默认开启收集的还有默认关闭的下载很多人默认使用node_exporter直接部署本文是使用服务的方式进行部署。创建一个用户专门是启动node_exporter服务配置文件复制到对应的目录中默认监听9100可以通过该选项进行更改默认是通过/metrics路径收集数据的–web.telemetry-path可以定义存储的位置web最

2021-09-06 01:21:30 5142

原创 prometheus配置文件+标签

prometheus配置通过这些暴露监控的指标现在是查询不到数据的配置文件中表示这里是抓取的目标localhost:9090. 默认是9090/metrics。不用写metrics表示清空文件也可以在这里直接查看配置—看看有没有生效监控目标配置命令详解web中api的作用是每次修改配置文件的时候需要重新启动prometheus服务。开启这个管理api,就可以通过http端点执行一些高级管理操作,比如重栽配置文件。默认的是在该目录下找配置文件promet

2021-09-06 00:20:54 655

原创 prometheus学习之搭建

Prometheus都是基于客户端角度拉就是server 定期从客户端拉取数据---------响应不及时推就是 客户端主动推送数据给server—响应及时,但是很多推送导致server压力大server收集数据,存储和查询,发送警报pushgateway:server 无法直接监控的 应用程序 或者无法安装客户端。 可以发送给pushgateway, pushgateway将结果发送给serverjob exporter 就相当于zabbix 代理一样,监控哪个主机,就在哪个主机上

2021-09-05 17:29:46 226

原创 使用mysqldump迁移MySQL数据

mysqldump的基础使用,我们再来看一下它的命令参数,下表是mysqldump的一些常用参数:使用示例将全部数据库的结构和数据导出到sql文件中:mysqldump -h host_name -P port_num -u user_name -ppassword -A > dump_file.sql将 db1、db2、db3 三个数据库的结构和数据导出到sql文件中:mysqldump -h host_name -P port_num -u user_name -ppassword

2021-09-01 11:38:45 422

原创 mysql 补充

查询user表的索引主键mysql> show index from user;+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| Table | Non_unique | Key_name | Seq_in_index | Column_

2021-08-27 10:03:29 219

原创 使用部署prometheus+HPA+资源限制

是K8S中的一个监控项git项目进入yaml文件的模板目录配置文件中更改为Nodeport全部更改好开始部署(可以先导入普罗米修斯的镜像)没有的话就直接下载因为我没有,所以直接下载运行多运行几次在monitoring命名空间中点击Target可以看到节点状态都是UP代表成功的部署了搜集的语言点击左下角的ADD Graph添加图片就是CPU的请求值Grafana添加数据来源默认已经添加好了 点击TEST导入模板进入HOM

2021-08-19 23:38:09 419

原创 实践--pod污点+容忍+标签

1、了解k8s亲和性和反亲和性,以及污点和容忍的概念考虑以下场景:广州1,深圳2两个zone,现在我们只希望pod实例部署在广州可用区;创建一个pod,利用污点创建pod到master节点上。一. 利用污点创建pod到master节点上vim nginx-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: re

2021-08-18 18:31:42 238

原创 k8s常见问题

k8s输入命令报错连接不到6443端口6443端口是kube-apiserver服务[root@node01 ~]# kubectl get podsThe connection to the server 192.168.1.215:6443 was refused - did you specify the right host or port?一般情况下是因为磁盘空间不够了建议关机重启解决方案可能...

2021-08-18 13:43:54 780

原创 使用Helm安装Dashboard

使用Helm安装Dashboard这个dashbord.yaml文件就相当于上面的values文件,用于修改的fetch就是把远程chart的压缩包下载到本地。-o wide查看再哪个节点创建可以下载好dashbord镜像之后load -i导入node节点,node都导入,因为不知道再哪个节点 然后创建pod会快因为谷歌没有对应的CA证书,所以不可信可以再浏览器导入k8s集群证书或者下载火狐浏览器对不可信证书处理方式不同。火狐询问是否访问。谷歌直接不让访问令牌就

2021-08-17 23:17:02 372

原创 Helm组件,模板自定义

包管理工具helm主要解决安装服务的问题。可通过仓库下载想要的yaml文件。修改文件就可以安装想要的系统信息。通过参数定义达到和当前环境相匹配的结果。类似于DOCKER镜像和容器下载安装的软件包cluster-admin集群管理员角色查看HELM版本点进去搜索Redisrepo仓库源1.添加仓库2.安装Chart之后redis集群就创建成功了哈哈哈哈Helm自定义模板该目录必须创建镜像拉取不下来换个镜像前一个退出,新的开始创建helm就是把集群的部署方

2021-08-17 23:14:45 476

转载 使用vagrant创建centos7集群+搭建k8s集群

作者:半夏alvin链接:https://www.jianshu.com/p/58978fa73551来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。工具准备1. 安装 VirtualBox2. 安装 VagrantVagrantfile初始化一个工作目录比如:~/Document/vagrant使用命令:vagrant init初始化,会自动生成Vagrantfile文件下载centos系统vagrant box add centos/7

2021-08-17 10:52:31 291

原创 认证,鉴权,准入控制

前两种都是服务器验证了客户端。但是客户端并没有验证服务器的真实性。https证书认证。pod也访问api server比如coredns因为都是kubeadm安装的 所以没有手动签发 都是自动签发的就是集群认证信息的填充。是个隐藏文件还有证书信息以及私钥信息包含集群的访问方式以及认证信息如果是pod访问api server就需要借助sa每一个命名空间下都会有一个自定义的secret授权资源就是deployment,pod,cpu,内存等资源非资源就是原数..

2021-08-15 17:59:04 180

原创 集群调度-污点和容忍+指定调度节点

如果可以容忍污点,表示还可能分配到。就表示可以接受打呼的男生。但不一定找到的就是打呼的。哈哈哈哈哈可以看master节点就有污点。表示不会将pod运行到该节点上。健名:值为空 NoSchedule二/污点设置设置污点noexcute。会把已经存在的pod也剔除。因为是自主式pod.没有控制器管理。所以提出之后就没有了。如果是deployment等就会在其他节点创建pod达到副本的数目。tolerateseconds表示尽管被驱逐,但是仍然可以保留的运行时间,也就是xx时间后.

2021-08-12 15:46:37 216

原创 集群调度过程+调度亲和性

之前的节点都是随机调度的如果node1支持CPU高利用率多程序对应的kublet会监听对应的信息,会在对应的node上运行对应的pod。如果podspec.nodename有值,就不需要参与schelduer的调度。predicate预选。第三个意思是node的镜像越大,他的权重就越大。第二个 如果node1。20。60。 node2 50 50.优先选用node2,因为使用率接近。一、节点亲和比如想要张三老师的带的班硬:我必须要去软:我想要去1.硬策略亲和性:node亲

2021-08-11 17:59:05 134

原创 k8s部署mysql单节点服务(使用pv)

1、搭建nfs存储2、创建PV3、创建PVC4、确认pv及pvc的状态5、创建pod+svc(service)6、进入MySQL数据库,添加测试数据7、手动删除节点上的容器,验证数据库内的数据是否还存在创建nfs服务在node2节点,可以看之前的博客[root@node2 mysql]# cat /etc/exports/mnt/data 192.168.56.0/24(rw,no_root_squash)[root@node2 ~]# systemctl enable --now nf

2021-08-11 10:24:56 646

原创 pv+statefulset

集群外部很多类存储。是存储工程师创建的k8s想使用的话关联方式都不同。因此提供了新的对象资源pv,持久卷。他先在k8s中将pv卷创建出来。持久卷会对应到相应的存储上。也就是不用的存储对应不用的存储卷。应用工程师部署pod直接调用集群的内部的存储卷即可完成存储的使用。创建pod会附带一个pvc .pvc的请求相当于去寻找一个合适的pv进行绑定。pvc就是pv的请求方案。优先选择资源量小的pv进行使用。pv独立与pod的生命周期之外。比如pv挂载在pod的某个目录上,pod被删除了,pv

2021-08-10 00:09:37 706 1

原创 Volume

如何在k8s的pod中进行持久化操作?pause外部封装一个volume 共享给podpause和volume挂载绑定c1和c2共享pause的存储卷一、空目录空卷和pause 绑定可以看到默认存在这个目录。再添加一个容器(不一样的,因为如果是一个镜像的话起的容器的端口是一样的,会占用)注意:container写了两遍!!!!要把下面的删除了进入一个容器但是进入另外一个容器就报错因为镜像是私有仓库的拉去镜像失败了 所以容器也创建失败需要认证docker

2021-08-09 16:25:57 113

原创 secret

service Account:对于有些pod需要和api-server交互。比如flannel,coredns。但是api-server不是谁都可以访问的,对于pod来说就是通过service Account方案。Opaque:编码加密方式的dockerconfigjson:私有仓库去下载镜像,会有一些认证方案。这个认证是由docker 仓库完成的。需要嵌入用户名和密码信息。就可以通过该方式保存私有仓库认证的用户名和密码。让他在下载镜像的时候自动达成注入的方案。第一种是由kubernets自动创建.

2021-08-09 11:16:07 78

原创 configmap

k8ss中有哪些存储类型可供利用configmap存储配置文件的目的secret加密的信息,密钥,用户名密码信息,一种加密方案。volumn:给pod提供共享存储卷的能力。比如通过nfs共享,通过本地磁盘目录共享。pv:pvc:pv就是持久卷,如何通过其他的服务进行持久卷的构建。不同的集群索要不同的配置中心,只需要更改配置中心的文件会自动更新configmap差不多比如configmap保存nginx.conf配置文件在后续创建pod的时候可以注入configmap,引入信息当ngin

2021-08-09 00:04:55 469

原创 ingress

七层代理如果跟客户端想进行https的访问,我们完全不需要在每一台apache配置https,只要在nginx开启https认证即可,nginx反向代理走http协议和对外部https加密k8s中默认没有改方式。如果采用svc 必须在每个apache配置https加密证书。才能在默认的svc里进行https会话连接。k8s在1.11版本后推出了ingress的api接口。当然也可以使用haproxy等,这里使用nginx反向代理nginx如何跟后端svc连接?依然是nodeport部署

2021-08-08 19:35:09 659

原创 service创建

当然可以通过pod的ip进行访问。但是使用svc可以更方便svc就是通过标签去匹配后端的pod加入到队列中去故意把标签写错位app1svc虽然创建了,后端节点为空ipvsadm -Ln发现这个cluserIP对应的规则是空的。就是label标签选择不到。更改正确直接删除资源get pod -o wide就是这些轮训。通过IPvs规则进行负载均衡的无头服务。是一种特殊的cluster IP主要用于集群搭建,节点发现。因为搭建的时候还不知道对方IP,所以设置headle..

2021-08-08 14:48:11 329

原创 Service类型

如果一个php死亡率 deployment重启一个。ip更改,nginx的upstream写的地址和真实的不一致,出现错误。如果写脚本检测 更改ip 重载的话很麻烦因此k8s使用svc实现负责监测它所匹配的pod的状态信息,把它加入svc的队列中。svc专门做服务发现的。也就意味着svc叫php-svc,跟据标签匹配后面三个pod,吧pod信息记录到svc的队列中,在nginx里的配置只需要指定到php-svc即可。如果pod有变化,会同步到svc中。nginx在反向代理到svc,svc会自己更新。.

2021-08-08 14:46:01 226

原创 DaemonSet,Job,Cronjob

为什么没有在主节点运行?你会发现所有的node都不在主节点,这是因为污点。主节点不会运行pod删除了会发现会继续创建一个命令的意思是通过perl语言计算圆周率,重启策略绝对不重启kubectl get jobkubectl descirbe job xxx可以看到pod运行到哪一步了可以看到正在运行。这个参数指完成的数目需要完成1个镜像可以下载一个压缩包。解压。docker load -i xxx把docker 传输到别的节点2000位成功保存三个副本,...

2021-08-07 17:22:02 53

原创 rs与deployment介绍

RS和depeloymentkubectl explain rs查看文档template就是怎么去创建一个 rs的模版selector选择标签template下面有一个元数据信息和一个容器spec就相当于当时创建pod的一个字段其实就是template前面的属性加上一个pod的属性。注意此处更改了镜像试着更改标签可以发现pod变成了四个。因为rs会选择标签tier=frontend的容器才认为是自己的pod,因为当更改了一个标签后,rs发现标签变了 不是自己的容器了 因为会

2021-08-07 16:32:43 655

原创 k8s控制器

通过标签进行选择扩容缩容其实就是rs就可以实现的通过控制rs的版本更新来进行滚动升级和回滚的,和暂停和继续暂停就是把rs和pod挂起声明式定义:deployment是通过控制rs去管理pod的通过标签选择或者污点注意:一个node只运行一个pod副本,意思就是如果想要一个pod想要运行两个pod副本就必须要两个daemonset.比如可以给每个node运行zabbix的客户端去手机信息比如你运行一个脚本放在cronjob里面你会很担心万一失败了但是放在job里就不用担心了..

2021-08-06 00:55:37 62

原创 容器的生命周期说明init C+start/stop+探针

最开始请求指令下达到api接口,被调度到kubelet上,他要进行容器的环境初始化,进入pod的生命周期内部。开始创建,需要init C的过程。也就是初始化容器。比如想要运行一个pod,里面运行两个不同的容器,这两个容器的运行条件就是在本机的xx存储下有一个xx文件存在他才能运行。通过init C生成该文件,初始化完成后进程就死亡。pod创建后基础容器pause就已经被创建了readness 就绪检测liveness 生存检测readiness如下,deploymet管理的pod已经处于ru..

2021-08-06 00:36:24 409

原创 k8s资源清单+YAML格式+常用字段说明+pod的yml

在k8s中部署pod和服务都需要资源清单k8s默认组件都是放在kube system命名空间下的但是kubectl get pods 默认是在default下HPA通过CPU利用率进行扩展,就是典型的元数据型,通过指标。实例化就是被运行了RS是控制器,管理pod的创建,通过标签去管理pod的副本数目。deployment通过控制RS的创建去创建PodStatefulset为有状态服务建立的控制器Damonset可以在每个节点运行一个pod的组件Job,cronjob都是为了批处理而

2021-08-05 18:22:37 471

原创 K8S集群安装+私有仓库的使用

K8S通过公有镜像仓库托镜像很慢,可以从harbor下载,再从harbor里把仓库信息棒在k8s里,通过k8s网络私有harbor仓库去使用镜像。router就是软路由 安装方式是kubeadm是k8s官方的磁盘大一点 100G软路由的安装此处省略了。。。。初始化关闭swap分区虚拟内存 因为不关闭的话 k8s初始化会检测k8s虚拟内存有没有关闭 因为开启了虚拟内存的话 pod可能在虚拟内存中运行 大大降低工作效率内核参数一个是关掉ipv6协议 一个开启网桥模式kube

2021-08-05 00:34:00 382

空空如也

空空如也

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

TA关注的人

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