自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安全机制

/默认情况下,每个 namespace 都会有一个 Service Account,如果 Pod 在创建时没有指定 Service Account,就会使用 Pod 所属的 namespace 的 Service Account。比如 kubectl 如果想向 API Server 请求资源,需要过三关,第一关是认证(Authentication),第二关是鉴权(Authorization), 第三关是准入控制(Admission Control),只有通过这三关才可能会被 K8S 创建资源。

2024-03-11 17:36:12 666

原创 ingress

ingress是k8s集群的请求入口,可以理解为对多个service的再次抽象通常说的ingress一般包括ingress资源对象及ingress-controller两部分组成ingress-controller有多种实现,社区原生的是ingress-nginx,根据具体需求选择ingress自身的暴露有多种方式,需要根据基础环境及业务类型选择合适的方式。

2024-03-11 17:30:06 791

原创 pod控制器

Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。

2024-02-28 16:44:42 389

原创 PV PVC

当Pod被分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件,尽管该卷可以挂载到每个容器中的相同或不同路径上。当出于任何原因从节点中删除 Pod 时,emptyDir中的数据将被永久删除。//在上面定义了2个容器,其中一个容器是输入日期到index.html中,然后验证访问nginx的html是否可以获取日期。以验证两个容器之间挂载的emptyDir实现共享。

2024-02-26 16:54:50 862

原创 K8S集群调度

(12)kubelet 是在 Node 上面运行的进程,它也通过 List-Watch 的方式监听(Watch,通过https的6443端口)APIServer 发送的 Pod 更新的事件。因为是硬策略,所以要满足和myapp01不在同一个域中,此时myapp在node02上,而topologyKey: kgc,node01和node02标签都是kgc=a,所以node01和node02在同一个域里,没有满足条件的node节点,所以显示pending阻塞状态。除了知道 Pod 的副本数量,副本内容。

2024-02-22 16:30:04 559

原创 pod资源限制和探针

当为 Pod 中的容器指定了 request 资源时,调度器就使用该信息来决定将 Pod 调度到哪个节点上。当还为容器指定了 limit 资源时,kubelet 就会确保运行的容器不会使用超出所设的 limit 资源量。kubelet 还会为容器预留所设的 request 资源量, 供该容器使用。如果 Pod 运行所在的节点具有足够的可用资源,容器可以使用超出所设置的 request 资源量。不过,容器不可以使用超出所设置的 limit 资源量。

2024-02-22 15:48:49 775

原创 pod

这些控制器负责确保所管理的Pod按照指定的副本数目运行,并且能够监控和自动恢复Pod的状态。它与ReplicaSet类似,但为每个Pod分配一个唯一的标识符,并支持有序的创建、更新和删除操作,确保Pod的网络标识、存储等方面的稳定性。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户应用容器。●一个Pod中运行一个容器。在这种使用方式中,你可以把Pod想象成是单个容器的封装,kuberentes管理的是Pod而不是直接管理容器。

2024-02-22 15:29:39 735

原创 kubectl命令

/查看版本信息//查看资源对象简写//查看集群信息//配置kubectl自动补全//node节点查看日志。

2024-02-21 14:55:36 885

原创 Kubernetes

K8S 是 Kubernetes 的缩写因为K+8个字母+sk8s是干什么的?k8s是一个用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。K8S 的目标是让部署容器化应用简单高效。K8S 解决了裸跑Docker 的若干痛点:●单机使用,无法有效集群●随着容器数量的上升,管理成本攀升●没有有效的容灾、自愈机制。

2024-02-01 15:10:45 640

原创 Ansible-playbook 剧本

playbooks 本身由以下各部分组成(1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行(2)Variables:变量(3)Templates:模板(4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作(5)Roles:角色。

2024-01-22 17:44:48 859

原创 Ansible

Ansible是一种开源的自动化工具,用于配置管理、应用部署和任务协调。它可以帮助系统管理员和开发人员自动化各种重复性的任务,从而提高效率、减少人为错误。具体来说,Ansible有以下几个主要的功能和用途:配置管理:Ansible可以用于管理和配置大量的服务器和网络设备。通过编写基于文本的Ansible Playbooks(剧本),用户可以定义所需的配置状态和操作,并将其应用于目标主机,以实现统一的配置管理。应用部署:Ansible可以帮助自动化应用程序的部署和更新。

2024-01-18 14:51:36 1103

原创 Docker-harbor私有仓库

Harbor是一个开源的企业级Docker镜像仓库,提供了安全、可靠的镜像存储和分发功能。它支持用户管理、访问控制、镜像复制、安全扫描、垃圾回收等多种功能,是一个完整的Docker镜像管理解决方案。Harbor支持多种存储后端,包括本地存储、AWS S3、Azure Blob Storage等,并且可以与Kubernetes和Docker Swarm等容器编排平台无缝集成。通过这些功能,Harbor可以满足企业级环境下的Docker镜像管理需求。

2024-01-17 15:19:15 1382 1

原创 Docker-compose和Consul

Consul是一种开源的分布式服务发现和配置管理工具。它提供了服务注册与发现,健康检查,KV存储,多数据中心,安全服务通信等功能,是构建分布式系统和微服务架构的重要工具。Consul主要由以下几个组件组成:Agent(代理):运行在每个节点上的进程,负责与其他Agent通信来完成服务注册、健康检查等工作。Server(服务器):提供更高级别的服务发现和配置管理功能,同时也承担了集群管理和状态同步等任务。Catalog(目录):存储所有服务实例的元数据和状态信息,包括服务名称、地址、端口、标签等。

2024-01-16 16:14:18 987

原创 利用docker的LNMP

容器 操作系统 IP地址 主要软件。

2024-01-13 18:08:50 1232

原创 Docker

Docker 是一种开源的容器化平台,可以轻松地创建、部署和运行应用程序。通过 Docker,用户可以将应用程序及其依赖项封装在一个独立的容器中,并在任何环境中运行这个容器,而不需要担心环境差异导致的问题。Docker 可以被认为是一种让应用程序“打包”成容器的技术,使得这些容器可以在不同的环境中快速部署和运行,从而提高了开发效率、降低了维护成本。

2024-01-12 15:59:49 1103

原创 zabbix

1.创建模板点击左边菜单栏【配置】中的【模板】,点击【创建模板】【模板名称】设置成 Template Login User【可见的名称】设置成 Template Login User【群组】选择 Template【描述】可自定义点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了2.创建应用集(用于管理监控项的)点击上方菜单栏【应用集】,点击【创建应用集】【名称】设置成 Login User点击 【添加】3.创建监控项。

2024-01-10 11:42:11 802

原创 ELK

浏览器访问 http://192.168.10.13:5601 登录 Kibana,单击“Create Index Pattern”按钮添加索引, 在索引名中输入之前配置的 Output 前缀 apache_access-*,并单击“Create”按钮。//结果不在标准输出显示,而是发送至 Elasticsearch 中,可浏览器访问 http://192.168.10.13:9100/ 查看索引信息和数据浏览。通过浏览器访问 http://192.168.10.13:9100/ 地址并连接群集。

2024-01-10 11:38:32 678

原创 GFS 分布式文件系统

创建一个名为dis-rep的分布式复制卷,配置分布式的复制卷时,卷中Brick所包含的存储服务器数必须是复制数的倍数(>=2倍)。File1 和 File2 存放在 Server1,而 File3 存放在 Server2,文件都是随机存储,一个文件(如 File1)要么在 Server1 上,要么在 Server2 上,不能分块同时存放在 Server1和 Server2 上。如果存储服务器的数量是条带或复制数的 2 倍甚至更多,那么将创建的是分布式条带卷或分布式复制卷。

2024-01-10 11:36:28 981

原创 rsync远程同步

为了在同步过程中不用输入密码,需要创建一个密码文件,保存 backuper 用户的密码,如 /etc/server.pass。#可以先执行“inotifywait”命令,然后另外再开启一个新终端向 /var/www/html 目录下添加文件、移动文件,在原来的终端中跟踪屏幕输出结果。当要监控的目录、文件数量较多或者变化较频繁时,建议加大这三个参数的值。echo '/opt/inotify.sh' >> /etc/rc.d/rc.local #加入开机自动执行。

2024-01-10 11:30:59 332

原创 redis集群

sentinel monitor mymaster 192.168.90.10 6379 2 #84行,修改 指定该哨兵节点监控192.168.90.10:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移。数据的复制是单向的,只能由主节点到从节点。●自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其它从节点改为复制新的主节点。

2024-01-10 09:10:33 392

原创 NoSQL之 Redis配置与优化

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;everysec是前述两种策略的折中,是性能和数据安全性的平衡,因此是Redis的默认配置,也是我们推荐的配置。缺点:RDB文件的致命缺点在于其数据快照的持久化方式决定了必然做不到实时持久化,而在数据越来越重要的今天,数据的大量丢失很多时候是无法接受的,因此AOF持久化成为主流。

2023-12-26 13:52:23 1275

原创 redis安装与配置

--------------------- Redis 数据库常用命令 ----------------------------------------关系型数据天然就是表格式的,因此存储在数据表的行和列中。---------------------- Redis 命令工具 -------------------------------------------------------------- Redis简介 ----------------------------------------

2023-12-26 11:35:20 357

原创 mysql MHA

该参数代表忽略上次 MHA 触发切换产生的文件,默认情况下,MHA 发生切换后会在日志记录,也就是上面设置的日志app1.failover.complete文件,下次再次切换的时候如果发现该目录下存在该文件将不允许触发切换,除非在第一次切换后收到删除该文件,为了方便,这里设置为--ignore_last_failover。master_ip_failover_script=/usr/local/bin/master_ip_failover  #设置自动failover时候的切换脚本,也就是上面的那个脚本。

2023-12-21 16:19:12 1002

原创 mysql主从复制 读写分离

(3)同时Master节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至Slave节点本地的中继日志(Relay log)中,Slave节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,即解析成 sql 语句逐一执行,使得其数据和 Master节点的保持一致,最后I/O线程和SQL线程将进入睡眠状态,等待下一次被唤醒。//客户端会分别向slave1和slave2读取数据,显示的只有在两个从服务器上添加的数据,没有在主服务器上添加的数据。//只有主服务器上有此数据。

2023-12-21 15:19:59 348

原创 链接查询

前面学习的 MySQL 相关知识都是针对一个表或几个表的单条 SQL 语句,使用这样的SQL 语句虽然可以完成用户的需求,但在实际的数据库应用中,有些数据库操作可能会非常复杂,可能会需要多条 SQL 语句一起去处理才能够完成,这时候就可以使用存储过程, 轻松而高效的去完成这个需求,有点类似shell脚本里的函数。左连接以左侧表为基础表,接收左表的所有行,并用这些行与右侧参 考表中的记录进行匹配,也就是说匹配左表中的所有行以及右表中符合条件的行。使用较多的连接查询包括:内连接、左连接和右连接。

2023-12-20 17:13:30 392

原创 mysql备份方式

② 热备份 (联机备份) :数据库处于运行状态,依赖于数据库的日志文件;物理冷备关闭数据库的原因:因为数据库是由持续性的数据交互和数据频繁更新的特性,若是不 关闭数据库,tar就无法保证数据的更新与一致性。备份单库:mysqldump -uroot -p123 --databases zyt > /opt/zyt_01.sql。① 冷备份 (脱机备份) :是在关闭数据库的时候进行的(tar);③ 温备份 :数据库锁定表格(不可写入但可读)的状态下进行备份操作(mysqldump)

2023-12-20 15:54:50 432

原创 索引

例:create table test(id int(4) not null,name varchar(10) not null,cardid varchar(18) not null,index id_index (id));因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。●索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。

2023-12-07 18:15:11 22

原创 mysql

另外还有“.ibd”和 ibdata 文件,这两种文件都是用来存放 Innodb 数据的,之所以有两种文件来存放 Innodb 的数据(包括索引),是因为Innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、GRANT、REVOKE)

2023-12-07 18:14:29 21

原创 keepalive

基于VRRP协议:keepalived是以VRRP协议实现为基础的,通过虚拟路由冗余协议,VRRP可以实现路由器高可用,通过将路由器组成这个路由组,其中有一个master和多个backup,master上有一个对外提供给服务虚拟VIP,master会发送组播路由信息,当backup收不到消息,就认为master宕机了,然后根据优先级选举一个backup做为新的master。---------------------LVS 部署-------------------------

2023-11-29 17:28:50 25

原创 DR模式 LVS负载均衡群集

真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。lblc:基于地址的最小连接数调度(locality-based least-connection):将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。相同权值的RS得到相同数目的连接数。-----------------DR模式 LVS负载均衡群集部署-----------------------------------

2023-11-27 11:07:50 28

原创 动静分离

JSP test1 page

2023-11-27 10:59:04 23

原创 LVS NAT

② 基于LVS-NAT模式的RR轮询策略,对于HTTP访问的请求,以轮询的方式转发给后端(使用LVS的ipvsadm工具来控制的)LVS-NAT LVS-TUN LVS-DR 你们公司用不用LVS,以及用什么模式,为什么(DR,假设你的项目,拓扑很简单-》NAT)● 类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口。------(4)、配置负载分配策略(NAT模式只要在服务器上配置,节点服务器不需要特殊配置)-------------

2023-11-27 10:57:30 19

原创 tomcat安装和优化

-----主要目录说明-------------------------------------------------------------------------------------------------------------------------------小知识-------------------------------------------------------------------(因为垃圾回收机制只负责回收内存,并不负责资源的回收,资源回收要由程序员完成)。

2023-11-22 17:36:47 23

原创 tomcat

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。4、执行完之后的请求响应在 Context、Host、Engine 容器之间层层返回,最后返回给 Connector,并通过 Connector 返回给客户端。(2)Servlet 容器:名字为 catalina,用于处理 Servlet 代码。

2023-11-21 09:24:47 16

原创 ngnix优化与防盗链

---------------------------Nginx的网页压缩------------------------------------------------如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段的),如 http://www.kgc.com/game.jpg。进行相关的配置修改,就能实现Nginx页面的压缩,避免出现连接复用问题:如果 TIME_WAIT 状态的持续时间较短,可能会导致旧的连接仍然存在于网络中,并被误认为是新的连接,

2023-11-15 18:38:11 19

原创 LNMP

创建软连接 ,让系统可以识别nginx命令:ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/给权限:chmod 754 /lib/systemd/system/nginx.service。替换原来的测试页内容:vim /usr/local/nginx/html/index.php。解包:tar zxvf nginx-1.22.0.tar.gz -C /opt/进入对应安装目录:cd /opt/mysql-5.7.20/5、添加 Nginx 系统服务。

2023-11-15 18:37:08 18

原创 https

2.响应头,由服务端发起,客户端请求什么,服务端就响应指定的内容。post:可以向服务端发送数据,而且可以修改后台服务器上的数据。User-Agent:客户端访问服务端的操作系统和浏览器版本。Cache-Control:客户端可以支持的缓存的最大时间。get: 只是想服务端发送请求数据,只是请求没有其他内容。Accept-Encoding:客户端可以接受的编码格式。404 服务端无法找到客户端要请求的页面。Accept:客户端可以解析的文件类型。把数据发送到服务端,可以修改服务端的数据。

2023-11-11 13:44:21 21

原创 防火墙

root@localhost ~]# firewall-cmd --zone=home --add-interface=ens33 #给指定接口的区域添加网卡。允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。firewall-cmd --add-service={ftp,http} --zone=public --permanent #两种方式。firewall-cmd --add-service=http --add-service=ftp --zone=public #方法一。

2023-11-07 18:16:18 30

原创 iptables

root@localhost ~]# iptables -t filter -A INPUT -s 192.168.233.0/24 -p tcp --dport 80 -j REJECT #禁止整个网段访问80端口。[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 0 -j REJECT #拒绝回显,本机ping不了其他的主机,且没有任何显示。

2023-11-06 18:53:10 423

原创 awk运用

外部将间隔符导入,赋值给FS,更改间隔符为:,OFS指输出的间隔符。~"字符串"代表第n个字段不包含某个字符串。$n~"字符串" 代表第n个字段包含某个字符串。="字符串"代表第n个字段不为某个字符串。$n=="字符串"代表第n个字段为某个字符串。$n (><==):用于对比数值。$NF:最后一个字段。

2023-11-02 19:28:02 20

空空如也

空空如也

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

TA关注的人

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