自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go-变量

可以理解为一个昵称 以后这个昵称就代指这些信息go对于数据类型是严格限制的如果你是字符串的话那么对应的就是string整型对应的就是int布尔对应的就是bool上面代码中属于第一种方式,而实际上在开发情况中也可能是先声明再赋值声明变量的意义让我们编写代码时省事比如我们有这样的一个需求文本,请将文本输出3次:"经流年,梦回曲水边,看烟花绽出月圆"存储结果,方便之后使用存储用户输入的值变量名的要求变量名必须只包含: 字母,数字,下划线。

2024-05-03 13:33:16 747

原创 初始数据类型

在我们编写任何代码的时候,都有一个叫做注释的功能在golang中有两种单行注释 // 如下图所示 加入了注释的话,代码在执行的时候会自动忽视这段内容多行注释。

2024-05-03 13:05:43 446

原创 GO-初识包管理

在zyc这个文件夹下面的go文件,他们都叫zyc,也可以叫其他名字,但是baidu.go和bilibili.go必须保持一致,因为他们都在zyc这个文件夹,也就是这个包里面。main包 如果是main包,则必须写一个main函数,此函数就是项目的入口 (main主函数)。如果你写的是小写的话就意味着这个功能只能在当前的自己的包里面使用,外部是无法调用的。从上面的图片中我们可以看出,这里所运行的不是单个hello.go这个文件,而是将czy这整个目录,整个包一起运行。例如:“张三”“李四”

2024-03-20 07:07:11 782

原创 初识GO语言

是由google公司推出的一门编程语言,12年推出的第一个版本Go的特点Go为什么能在最近的IT领域炙手可热集python简洁&C语言的性能于一身21世纪的C语言顺应容器化时代的到来区块链的崛起学习一门编程语言可以划分为下面这三个步骤编译器或者是解释器,在这其中所起到的作用就是翻译官将你写的代码解释成计算机能够识别的语言,再经过计算机的解释呈现出来。

2024-03-19 09:02:19 1196

原创 K8S 存储卷

容器和节点之间创建一个可以持久化保存容器内文件的存储卷,即使容器被销毁,删除,重启,节点上存储卷的数据依然存在,后续也可以继续使用,继续将容器内的目录和宿主机挂载,保存的数据继续使用。1、Provisioning(配置)-----pvc请求request-----检索(找一个合适的pv)----pvc和pv(binding 绑定)-------使用-----node节点被销毁,那么数据也会丢失。pvc----请求用哪个pv的存储----pv和物理存储做映射 (挂载)----物理设备提供存储卷。

2024-01-10 16:00:58 1522

原创 K8S亲和性,反亲和性,及污点

注意点:节点服务器需要维护的,服务器关机,节点上的pod将会失效。在工作中我们主要部署Pod的方式控制器部署,deployment最多的,一旦节点设置为驱逐,控制器创建的pod会在其他节点重新部署。1、pod的亲和性策略,在配置时,必须要加上拓扑域的关键字topologykey,指向的是节点标签。如何部署pod是比较重要的集群资源的调度机制,合理的配置pod的调度机制可以使资源最大化利用。即使节点上设置了污点,有了容忍机制,依然可以在设置为污点的节点上部署pod。

2024-01-09 12:15:13 1264

原创 K8S项目发布

确定无问题之后,再把剩下的老版本,升级成新的版本,把暂停取消,继续发布。立项---定稿---需求发布---开发---测试---发布,测试之后上线,再完美也会有问题,为了不让发生的问题影响所有用户,也就产生了上述的三种发布方式。在发布升级的过程中,只有一部分集群在对外提供服务,可能会使集群的负载能力下降,响应变慢,需要注意给这个集群增加负载能力(现在一般来说没有什么特殊需求,都是大半夜开始升级的服务)蓝绿发布:把应用服务集群标记为两个组,蓝组和绿组,先升级蓝组,要把蓝组从负载均衡中移除,绿组继续提供服务。

2024-01-09 09:44:25 774

原创 K8S集群调度

list-watch---会在每一步把监听的消息(APIserver:6443)------controller manager ,scheduler .kubelet,etcd都会监听apiserver:6443端口。2、podfitshost:pod适应主机,如果pod指定了Node的name,nginx1pod--->node01,检测主机名是否存在,存在要和pod指定的名称匹配,才能调度过去。创建pod到节点时,有两个策略,先执行预算策略,再执行优先策略 这两步的操作都必须成功,否则立刻返回报错。

2024-01-09 09:42:05 1566

原创 K8S POD

6、terminating:终止中 正在被终止,还未终止 pod正在被删除,里面的容器正在终止,终止过程中,资源回收,垃圾清理,以及你终止过程中需要执行的一些命令。onFailure:当pod内的容器退出时,状态码0,整个pod都不会重启,只有一个或者N个容器非正常退出,状态码非0,整个pod才会重启。livenessProbe 探测容器是否正常运行,如果发现探测失败,会杀容器,容器会根据重启策略来决定是否重启 ,不是杀掉pod。基于现代容器技术的要求,一个pod运行一个容器,一个容器只运行一个进程。

2024-01-05 10:58:52 1366

原创 K8S陈述式管理

通过域名来访问后端pod资源。LoadBalancer:如果service的类型设定为LoadBalancer,映射地址(云平台提供LoadBalancer的地址)这种用法仅用于。滚动更新,他不是一次性的把所有pod部署完毕,他是一个一个的部署更新,pod的更新时候用,逐步的引入新的pod,逐步的减少旧的pod。后台运行创建,在每个节点上都创建一个相同方式的,相同版本的容器运行的pod。查看 部署 查看pod的情况(详细的信息,日志,发布和回滚)创建----发布----更新----回滚----删除。

2024-01-05 10:46:53 1915

原创 kubernetes

K8S:kubernetes 中间8个字母省略 K8S自动部署,自动扩展,管理容器化部署的应用程序的一个开源系统K8S是负责自动化运维管理多个容器化程序的集群,是一个功能强大的容器编排工具。分布式和集群化的方式进行容器管理1.15 1.18 现在用的最多的是1.20版本 最新版本1.28K8S是google的borg系统作为原型 后期由go语言进行编写的开源软件官网docker微服务,可以满足微服务使用,那么为什么还要使用k8s呢?

2023-12-27 17:20:31 1005

原创 Ansible

remove=yes | no 当删除用户时,加上remove=yes,删除用户的家目录 userdel-r. 如果不需要删除家目录,可以不写。ansible_user 指定连接时使用对方主机的用户名,不指定主机执行ansible的用户即为使用目标主机的用户名。ansible是基于模块进行工作,只是提供了一种运行的架构,真正执行操作和变更的是ansible的模块来实现的。多个计划任务,如果不给名字都是None,一旦删除None,全部删除,不推荐(最好是指定一个不重复的名称)absent 表示移除。

2023-12-19 16:45:23 1226

原创 LVS集群

集群的概念:为解决某个特定的问题,将多个计算机组合起来形成一个单系统集群的目的就是为了解决新系统的性评比垂直扩展:向上扩展,增强单个机器的性能。升级硬件。硬件升级是有瓶颈的水平扩展:向外扩展,增加设备,并行运行多个服务,主要是通过网络和算法来调度服务分配的问题。

2023-12-12 11:05:22 1398

原创 dockerfile

ADD可以解压 ,如果是一个解压文件,ADD在复制之后会自动解压 (tar.gz和tar.bz2)可以支持URL路径下载一个源文件,只能支持下载,但是不能解压 通过URL拷贝的文件无法自动解压。官方下载的镜像:nginx:已经定义好了容器执行的命令 在创建时加上了 /bin/bash ,覆盖了容器内的标准输出,所以在宿主机内无法通过logs 命令来查看容器内的日志。镜像层是不可变的,在某一次当中添加一个新的命令,但是在下一层删除了指定,镜像中基于这个命令创建的文件还会存在,但是在容器中不可见。

2023-12-12 10:54:37 1096

原创 docker基本管理

镜像:是docker的基础,最小单位,类似于虚拟机的ISO文件,一个镜像就是一个可执行的包,包里面包含了运行这个程序的所有内容(代码,配置文件,环境变量)在使用dd获取空字符集是从文件系统的缓存当中输入,速度是比较快的,禁用文件系统缓存,直接把数据写入磁盘,可以更真实的测试设备的性能,模拟直接写入。容器:docker的容器就是基于镜像运行起来的实例,可以启动,停止,删除,每一个容器都是相互隔离的,互不可见。--cpu-shares是给每个容器使用cpu设置了相对的权重,权重高的,可以使用cpu的资源更多。

2023-12-12 10:42:31 1052

原创 zabbix监控

1、zabbix server的作用:通过一系列的组件 SNMP,zabbix agent,ping 通过端口监控的方式远程的监控客户端的数据,把数据收集到服务端进行展示,以及提供用户分析的界面(WEB)日志收集-----logstash------->es实例------->kibana(日志可视化界面)----->zookeeper和kafka组件,消息队列的方法实现日志。2、zabbix agent就是被监控的目标机器,把需要收集的数据以及自定义的监控项数据,发送给zabbix server.

2023-12-12 10:40:29 783

原创 zookeeper集群

点对点一对一:消息的生产者发送消息到队列中,消费者从队列中提取消息,队列中被提取的消息将会被移除,后续消费者不能再消费队列当中的消息。主题:topic topic类似一个数据流的管道,生产者把消息发布到主题,消费者从主题当中订阅数据,主题可以分区,每个分区都有自己的偏移量。EPOCH每个leader任期的代号,没有leader,大家的逻辑地位是相同的,每投完一次之后,数据是递增的。来不及处理的请求会形成阻塞。只要通信保证,其他的修改不影响整个集群,每个组件可以独立的扩展,修改,降低组件之间的依赖性。

2023-12-12 10:39:00 789

原创 GFS分布式文件系统

gfd glusterFS开源的分布式文件系统存储服务器 客户端 以及网络(NFS/samba)网关传统式老的分布式系统是依赖于元服务器,元服务器保存存储节点的目录树信息。一旦元服务器故障,所有的存储节点全部失效现在的GFS已经取消了元服务器机制,数据横向扩展能力更强,可靠性更强,存储效率也更高。

2023-12-12 10:35:08 866

原创 redis及持久化

redis非关系型数据库,缓存型数据库关系型数据库和非关系型数据库的区别:关系型数据库是一个机构化的数据库,行和列。列声明对象行,记录对象的属性。表与表之间是有关联的。使用sql语句,来对指定的表,库,进行增删改查。在创建表时,我们是设计好了表的结构。按照表结构来存储数据。数据如果与表结构不匹配那么存储数据会失败。非关系型数据库:nosql not only sql不需要定义库,也不需要定义表结构,直接记录即可,而且每条记录都可以有不同的数据类型,字段(字段个数)

2023-11-22 12:14:17 30

原创 mysql

mysql数据库的存储引擎:5.5之间:MYISAM 不支持事物和外键的存储引擎。适用于读的多。写的好5.6之后默认的存储引擎:lnnodb,可以支持事务,外键,行级锁定的存储引擎支持高并发性能的应用事务:在数据当中,一个或者多个操作组成的数据操作的序列这些操作要么全部成功,失败一个就全部不执行。确保数据的一致性和完整性事务的特点:原子性。是数据库的最小工作单位,要么全部执行成功,要么全部不执行,只要有一个操作失败,整个执行的序列都会被回滚。但怕是完成的操作也会被撤销。

2023-11-03 12:15:43 47

原创 LVS加keepalived 高可用集群

心跳线断开后,分裂成了两个独立的个体,主备之间失去了联系,都以为是对方出现了故障,两个调度器,就像脑裂人一样,开始抢占主的位置,抢占vip。主备切换:主服务器发生了故障,或者不可达,VRRP协议会把请求转移到到备服务器,通过组播地址,VRRP可以迅速的通知其他服务器发生了主备切换,确保新的主服务器可以正常的处理客户端的请求。故障恢复:一旦主服务器恢复通信,由组播地址进行通信,发现恢复的主服务器优先级更高,会抢占原主服务器的位置,成为主服务器,调度和接受请求。一旦开启服务器,优先级高的,会自动抢占主的位置。

2023-10-24 19:09:12 39

原创 LVS-DR模式

LVS-DR也是常用的lvs负载方式,DR DIRECT ROUTING 直接路由模式负载均衡器lvs调度器,只负责请求和转发到后端的真实服务器,但是响应结果,由后端服务器直接转发给客户端,不需要经过调度器的处理。减轻LVS调度器的负担,提高了性能和稳定性。

2023-10-24 19:05:38 39

原创 LVS集群

集群的概念:为解决某个特定的问题,将多个计算机组合起来形成一个单系统集群的目的就是为了解决新系统的性评比垂直扩展:向上扩展,增强单个机器的性能。升级硬件。硬件升级是有瓶颈的水平扩展:向外扩展,增加设备,并行运行多个服务,主要是通过网络和算法来调度服务分配的问题。

2023-10-24 19:01:27 151

原创 负载均衡 正反代理

nginx:正向代理 反向代理 负载均衡nginx当中有两种代理方式:七层代理(http协议)四层代理(tcp/udp流量转发)七层代理:七层代理,代理的是http的请求和响应。客户端请求代理服务器,由代理服务器转发客户端的httpd请求。转发到内部的服务器 (单台或者是一组)后端的webserver,再把响应送达代理服务器,最后再到客户端。反向代理:客户端访问的是代理服务器,代理服务器转发http请求,但是客户端不知道访问的是哪一台服务器。

2023-10-16 14:10:51 63

原创 Nginx网站服务

(在实际的操作中,为了维持服务器的稳定,一般会设置在20000个左右,求稳)worker_processes 1;工作进程数量 后面的数字是根据服务器的cpu数来的 如果访问量不大,一核足够 在工作中一般是4个。匹配的是安装路径当中的默认位置的html静态页面 ----/usr/log/nginx/html。==假如你指定的是 /var/www/html/test index.html ==匹配的是URI的路径,即是路径也是URI的名称 上面的/指的就是nginx配置的家目录。

2023-10-10 15:16:48 29

原创 WEB与HTTP

域名baiduDNS解析静态页面动态页面。

2023-10-10 15:10:55 27

原创 iptables防火墙

安全技术:1、入侵检测机制:特点是阻断,量化,定位来自内外网络的威胁情况提供报警和事后监督,类似于监控2、入侵防御:以透明模式工作,分析数据包的内容,一切进入本机的内容进行防护,木马,蠕虫,系统漏洞进行分析判断,然后进行阻断。主动的防护机制。部署在整个架构,或者是集群的入口处(必经之路)3、防火墙:隔离功能,工作在网络或者是主机的边缘对网络或者主机进出的数据包按照一定规则进行检查(网络层转发的数据包)我们在工作当中,一般对防火墙的设置都是白名单,拒绝所有,允许个别。

2023-10-06 12:10:36 24

原创 正则表达式与sed结合应用

正则表达式:对文本内容进行过滤,查找,匹配,正则可以匹配完整的大小写基本正则表示次数:*.匹配前面的字符任意次,包括0次,(有多少算多少,尽可能长的匹配).*. 匹配前面的字符任意次,但是不包括0次,也就是匹配所有:匹配前面的字符出现0次或者1次 ,有且只有一次\+:匹配前面出现的字符,至少得有一次,要>=1\{n\}:匹配前面出现的字符等于几次\{m.n\}:匹配前面出现的字符最少M次。最多是n数\{,n}:匹配前面的字符最多n次。

2023-09-25 17:24:55 224

原创 文本三剑客 正则表达式

对文件内容进行增删改查。

2023-09-23 23:17:37 28

原创 shell 数组

第一种方式数组名=(value0 value2)多个元素之间用空格来隔开[root@localhost opt]# test=(1 2 3 4 ) 创建方式[root@localhost opt]# echo ${test[*]} 打开方式1 2 3 4数组的下标索引,对应的是元素在数组当中的位置3 2 4[root@localhost opt]# echo ${test1[*]} 0对应的是第一个 1是对应的第二个 以此类推ad实验例子read -p "输入网络部分:" netdo。

2023-09-23 23:16:46 57 1

原创 shell for循环

什么叫做循环,重复执行一段代码的结构。只要条件满足,多次执行相同的代码循环体(指的就是我们代码中的命令序列) 循环条件循环条件满足,循环体将一直执行,直到条件不满足为止遍历:对数据结构当中的每个元素进行访问的过程,对循环体中定义的对象(变量)进行操作或者输出循环体和遍历绝大部分下是结合在一起使用的但他们也是有些不同的地方,如下循环是一种控制流程的结构遍历只是对数据的操作循环的作用如果涉及到重复性质的操作,可以用循环来进行代替。提高代码的重复利用率提高程序的效率。

2023-09-19 18:37:16 45

原创 shell编程条件语句

中括号跟test效果是一样的,只不过语法不同[]要加空格。++1-e :测试目录或者文件是否存在 ++==双中括号的功能跟强大,相比于单括号 ====可以避免一些歧义 ,支持正则表达式 ==意思都是一样的,只不过是语法上有不一样的地方。echo"不满足if条件执行的语句"==或 有一边满足即可 -o || ==上述都不满足,执行else的命令序列。5-w:测试当前登录用户是否有写权限。6-x:测试当前用户是否有执行权限。++3-f :测试是否为文件++++2-d :测试是否为目录++

2023-09-18 20:27:29 90

原创 认识bash shell

在自定义变量当中: “” ``整数类型可以不加引导,赋值为字符串类型,最好加上引导,以避免歧义在给变量赋值时,单引号和双引号一样,不影响变量的值`命令替换,先执行反撇号当中的命令,然后再把命令执行的结果赋值给变量。打印变量是,引号的作用 这里不涉及反撇号打印变量双引号和单引号机制不同echo"$a"弱引用,原变量的值不变echo’$a 强引用,变量值将不再打印,就是这个字符串10 弱引用,原变量的值不变$a 强引用,变量值将不再打印,就是$a这个字符串。

2023-09-17 12:42:05 78 1

原创 Linux网络设置

查看网络配置ifconfigether 00:0c:29:db:48:28:表示网卡设备的MAC地址ifconfig ens33 -查看指定设备的网卡信息ifconfig -a -显示所有网卡接口设备 (活动的不活动的都显示)ifconfig ens33 down -关闭此网卡设备ifconfig ens33 up 打开此网卡设备systemctl restart network -重启所有网卡设备 企业生产中不要用。

2023-09-16 16:01:07 217 1

原创 Linux 磁盘

raid中坏了一块盘之后,热备盘就会顶替阵列中坏的盘,同时还会全量备份坏盘中的所有数据。RAID 1 :镜像存储,在成对的独立磁盘上互为备份数据,数据繁忙时,还可以从镜像中直接拷贝,读取数据。条带化存储,把数据分散在一个或者多个物理磁盘,并行读取/并行写入,读写性能在所有RAID中是最佳的。但也正是因为奇偶校验,写性能比RAID 5更差 ,但是更安全。/dev/zer:“零”设备文件,可以提供无限的空字符,一般用来生成一个特定大小的文件。read是有级别的,不同级别提供的性能和配置,需求和磁盘数都不一样。

2023-09-03 21:27:58 133

原创 Linux 磁盘分区

在正式开始前先来带大家认识一下磁盘的组成以及分区首先说明一下磁盘的物理组成,整块磁盘的组成主要是有以下几项1.圆形的碟片(主要记录数据)2.机械手臂,还有机械手臂上的磁头(可擦写碟片上的数据)3.主轴马达,转动碟片(有些磁盘的机械手臂也会转)主轴马达的主要作用就是让机械手臂的磁头读写数据(它会转动盘片到磁头的地方)数据存储于读取的重点就是在于碟片。

2023-08-31 23:45:02 117

原创 Linux基本命令

shell:翻译官翻译人类输入的代码 ,将代码翻译成二进制给计算机内核进行识别,然后计算机的内核分配相应的资源来执行你发出的指令计算机内核反馈的信息同样是二进制。将计算机语言再翻译成人类能够识别的语言默认shell:都叫做bash,类似于编译器。在正式开始前,我们先了解一下Linux里面的文件权限的一个概念。

2023-08-27 03:51:44 128 1

原创 NAT地址转换

在版本最后上线之前,会在预生产环境最后执行一遍,确保万无一失(狗头)主要是运维,也有测试。在一个网段中,给这个网段统一一个公网IP(可以访问外网的地址)所有的服务去访问外网都使用一个IP。sit:测试环境,测试人员专用,需要测试的代码,程序之类的都会在测试环境运行。只有访问公网地址就可以请求到内部的私网地址提供的服务(web服务)虽然提出了地址池的概念,但是一个公网对应一个私网,成本还是太高了。NAT地址转换的核心就是将私网地址转换成可以访问公网的IP地址。global:全局 ,设置为10.0.0.10。

2023-08-23 16:15:33 34

原创 VLAN三层交换机

prot link-type access 把接口静态vlan的类型配置成access,先申明接口vlan的类型。然后才能配置vlan的范围。确定数据包的下一个接口 ,到达下一个接口之后,继续通过交换机之间的转发,到达目标设备。已经知道了网段该怎么走,不需要路由器再转发后续的数据包,直接走交换机的MAC地址就可以到达目标设备。3、出了中继链路后,要和对应的vlan id进行匹配,匹配到之后数据放行,同时会脱掉标签。2.路由转发 ,第一个数据包就知道了目的IP的地址,MAC地址-MLS条目。

2023-08-21 15:50:14 70 1

原创 路由与路由器

2、经过的设备会记录MAC地址,而且会不停的更换源MAC地址和目的MAC地址 ,最终到达目标主机后,通过MAC地址校验数据是否正确到达。AR1查询路由表,查看路由表是否有目的IP地址的记录,发现了4.0网段的路由,会从和另一网段4.0的网关路由器相连的接口转发数据包。在转发数据包的过程中,源IP地址和目的IP不会发生变化,变化的是源MAC地址和目的MAC地址。路由器:正确转发数据包,转发的过程中会进行最佳路径选择的设备。静态路由:必须是由人工配置的,而且是单向的。三层转发:网络层转发,路由器的转发原理。

2023-08-20 23:52:22 59 1

空空如也

空空如也

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

TA关注的人

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