- 博客(184)
- 收藏
- 关注
原创 Git和Gitlab的部署和操作
(5)选择合并请求下的分配,选择右上角的项目进行合并请求,在源分支添加上tom上传的index文件,目标分支填写上root的主文件进行比较合并。[root@slave3 gitlab1]# echo "my document" > index.html:将自己的代码放入文件。[root@slave3 gitlab1]# git push origin index:进行添加index这个分支到主项目中。[root@slave3 ~]# cd gitlab1/:进入通过git下载下来的项目文件内。
2025-04-27 21:02:59
1128
原创 Grafana基本内容
2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。2.yum install grafana-7.2.0-1.x86_64.rpm -y:进行下载。
2025-04-23 15:28:37
257
原创 K8S安全认证
指定用于客户端认证的证书文件路径,--client-key=/etc/kubernetes/pki/devman.key。:用于配置 Kubernetes 的上下文信息,上下文定义了集群、用户和命名空间的组合,devman@kubernetes。2.Service Account:K8S管理的账号,用于为Pod中的服务进程在访问K8S提供身份标识。3.ABAC:基于属性的访问控制,表示使用用户配置的授权配置的授权规则对用户请求匹配和控制。3.HTTPS证书认证:基于CA根证书签名的双向数字认证的认证方式。
2025-04-23 14:44:59
981
原创 Prometheus
3. wget -c https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.17.2.linux-amd64.tar.gz:下载组件。1.首先在需要监控的Windows机器上安装wmi_exporter。3. ln -sv /usr/local/node_exporter-1.9.1.linux-amd64/ /usr/local/node_exporter:创建软连接。
2025-04-23 14:44:42
1242
原创 K8s的pod调度
指的是在pod上声明NodeName或者NodeSlect,以此将Pod调度到期望的node上,注意,这里的调度是强制的,这就意味着即使要调度的目标node不存在,也会向上面进行调度,只不过pod运行失败而已。前面的调度都是在pod的角度上,通过pod上添加属性,来确定pod是否要调度到指定的Node上,其实我们也可以站在Node的角度上,通过Node上的污点属性,来决定是否允许Pod调度过来。1.nodeAffinity(node亲和性):以node为目标,解决pod可以调度到哪些node的问题。
2025-04-23 14:44:25
642
原创 K8S存储方式(静态存储)
NFS是哟个网络文件存储系统,可以搭建一台NFS服务器,然后将Pod中的存储直接连接到NFS系统上,这样的话,无论pod节点上怎么转移,只要Node跟NFS对接没有问题,数据就可以成功转移。HostPath可以解决数据持久化问题,但是一旦Node节点故障了,Pod就要转移到其他节点上面,又会出现问题,此时需要准备单独的网络存储系统,比较常用的就是NFS,CLFS。注释:将busybox的容器内的/logs和nginx容器的/var/log/nginx容器与主机的/log容器互通相连。
2025-04-23 14:43:56
569
原创 K8S的service详解
在K8S中,pod是访问应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也意味着不方便直接采用pod的ip对服务进行访问,为了解决这个问题,K8S提供了service资源,service资源会对提供同一个服务的多个pod进行聚合,并且提供统一的入口地址,通过访问service的入口地址就能访问后面的pod服务。该模式下kube-proxy不承担四层负载均衡的角色,只负责创建iptable规则,该模式的优点是效率高,但是不能提供灵活的LB策略,
2025-04-23 14:43:38
900
原创 K8S控制器
Deployment表示用户对K8S集群的一次更新操作,Deployment是一个RS应用模型更广的API对象,可以是创建一个新的服务,更新一个新的服务,也可以是滚动升级一个服务,实际是创建一个新的RS,然后逐渐将新的RS副本数增加到理想的状态,将旧的RS的副本数减少到0的符合操作,这样的符合操作用一个RS是编号描述的,所以用一个更通用的Deployment来描述,以K8S的发展方向,未来对所有长期服务型的业务挂历,都会通过Deployment来管理。
2025-04-23 14:43:29
887
原创 k8s的pod生命周期管理
控制管理pod:常见的pod控制管理控制器,replicaset,deployment,job,控制器确保管理的pod可以确保pod始终维持在指定的副本数量,比如deployment管理pod。容器探测用于检测容器的应用实例是否正常工作,是保障业务可用性的一种传统机制,如果经过探测,实例状态不符合预期,那么,k8s就会把该问题性的实例摘除,不承担业务流量。自助式pod:就是直接定义一个pod资源,但是自主式的pod存在一个问题,加入被学习删除了pod,那么这个pod就是彻底的删除了。
2025-04-23 14:43:12
583
原创 K8S基本配置
Deployment:在k8s中,pod是最小的控制单元,但是k8s很少直接控制pod,一般都是通过pod控制器来完成的,pod控制器相当于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障的时候,会尝试重启或者重建pod。目的:在集群内部的ip不能进行访问,通过service将ip进行暴露服务,供外界访问,Service可以看作一组同类的pod对外的访问接口,借助service,应用可以方便地实现服务发现和负载均衡,
2025-04-23 14:42:49
827
1
原创 MGR实现mysql高可用性
正常情况下,MGR集群中的Primary节点退出时,剩下的节点会自动选出新的Primary节点。1. PXC的消息广播机制是在节点间循环的,需要所有节点都确认消息,因此只要有一个节点故障,则会导致整个PXC都发生故障。启动MGR服务即可,新增的节点会进入分布式恢复这个步骤,它会从已有节点中自动选择一个作为捐献者(donor),并自行决定是直接读取binlog进行恢复,还是利用Clone进行全量恢复。`,使其成为引导节点,再启动MGR服务,它才会成为Primary节点,后续启动的其他节点也才能正常加入集群。
2025-04-16 15:21:43
757
原创 部署redis cluster
redis-cli -a 123456 --cluster add-node 192.168.142.139:6379(新slave) 192.168.142.133:6379 --cluster-slave --cluster-master-id。:redis-cli -a 123456 --cluster add-node 192.168.142.138:6379(新主机) 192.168.142.133:6379:将新主机添加到master集群里面。配置文件地址和超时时间。
2025-04-09 15:20:07
361
原创 企业级NoSql数据库Redis集群
注释:BGSAVE:作用是把 vi /var/lib/redis/6379/dump.rdb (快照)发送给slave,slave先把本身的内容清空(flushall),再将dump.rdb的数据进行从新写入(通过replicationfeedslave函数一条一条地进行写入)6.问题:当master的一段网断了一段时间(master依旧认为自己是master),但是其他slave会进行重新选举master,所以在网端期间,写入master的数据会被全部刷掉,去匹配新的master。
2025-04-01 20:45:22
832
原创 生成树和VRRP实验
配置循序:eth-trunk 创建vlan,划分vlan trunK STP SVI VRRP DHCP。[SW2-Vlanif2]vrrp vrid 1 priority 110 :对sw2来说vlan2为主根。[SW1-Vlanif1]vrrp vrid 1 priority 110:对sw1来说vlan1为主根。
2025-03-29 16:19:28
789
原创 Docker部署harbor
5.配置加密:openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/jiami.org.key -addext "subjectAltName =DNS:registry.jiami.edu" -x509 -days 365 -out certs/jiami.org.crt。6. 复制文件c:p /root/certs/jiami.org.crt /etc/docker/certs.d/registry.jiami.edu/ca.crt。
2025-03-27 19:07:39
489
原创 VLAN基本实验
sw3-GigabitEthernet0/0/3] port hybrid untagged vlan 2 to 3 5:PC6禁止vlan 4访问。pc2/4/5/6属于同一个网段:192.168.2.0。pc1和pc3在同一个网段:192.168.1.0。pc4可以访问pc5不可以访问pc6。1.pc2可以访问pc4/5/6。pc5不能访问pc6。
2025-03-20 21:01:32
639
原创 K8S的搭建
注释:openEuler 系统在跟换源后需要将/etc/yum.repos.d/kubernetes.repo 中的$release 跟换成 8。7.3kubeadm config print init-defaults > kubeadm-init.yaml:设置初始化文件。2.2sysctl -p /etc/sysctl.d/k8s.conf :让文件生效。永久关闭:sed -i 's/.*swap.*/#&/' /etc/fstab。注释:查看是否出现文件calico.yaml。
2025-03-12 10:07:21
1553
原创 Docker Compose企业示例
是一个工具,将 RPM 格式的软件包转换为 CPIO 格式,并提取其中的文件。注释:将提取的配置文件防止到容器的挂载目录内。注释:配置容器内haproxy的内容。:下载内容到/xixi目录下。注释:配置compose。注释:开启compose。
2025-03-07 22:08:56
372
原创 Docker编排工具Docker Compose
定义docker compose应用程序中使用的存储卷,可以自定义卷名称和存储位置等属性(具体文件于:/var/lib/docker/volumes)在内容的/data下面进行编写了内容,删除了容器后,在/var/lib/docker/volumes/lee/_data下依旧存在。4.docker compose -f docker-compose.yml up -d:启动容器。将容器的/var/lib/mysql挂载于主机的/opt/mysql_data内。:启动docker compose。
2025-03-07 22:08:47
1067
1
原创 Docker安全优化与隔离
Docker和其他的虚拟化不同,因为docker使用的是安全隔离,而不是物理隔离,和系统公用很多内容,系统通过限制docker是通过cgroup的机制,系统当创建了一个docker容器后,会在/sys/fs/cgroup/cpu/docker下对于每一个系统资源都做了一个目录,并且把上层资源进行复制到这个文件,通过这个文件里面的值进行对docker内容的限定。的权限特别大,接近于宿主机的权限,为了防止用户的滥用,需要添加限制,只提供给容器必要的权限,此时Docker提供了权限的白名单的机制,使用。
2025-03-07 22:08:25
832
原创 Docker数据卷挂载
简单的挂载方式:docker run -it --rm --name test1 -v /lee:/data1:rw -v /etc/passwd:/data2/passwd busybox(-v表挂载,将主机的/lee目录挂载于容器的data1目录,并且设置rm已读模式)注释:容器内的mysql信息保存于主机的/var/lib/docker/volumes/mysqldate/_date内,如果将mysql容器删除的话,内容依然存在。(该目录会被存储于/var/lib/docker/volume内)
2025-03-07 22:08:02
718
原创 Docker网络设置
(--network=bridge),bridge的主机通过容器的docker0口和外主机eth0的ip进行连接,先将ip映射到docker的ip,在通过eth0的ip进行访问外网。源生的桥接网络中没有DNS插件,不能做解析,自定义网络,在创建后具有DNS解析ping其他容器名,因为源生桥接下ip在断开连接后,会发生变化进行变换,使用ping容器名更加稳定。自定义网络的创建方法:(同一台主机上,两个容器使用一样的自定义网络),但是有的容器的网络缺少隔离性(--network=host)
2025-03-07 22:07:47
1216
原创 Docker参数,以及仓库搭建
注释:使用openssl req生成一个4096位的私钥,采用sha256哈希算法最终将私钥存储与certs/jiami.org.key文件内,指定解析后,生成-x509证书,最终将证书保存于后续文件。注释:-v /root/certs:/certs,-v表挂载,将主机上的/root/cets挂载于容器内的certs,-e表设置环境变量,设置端口,证书和私钥。1.对于CMD,如果不想显示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh。
2025-03-07 22:07:23
1378
原创 Docker基本配置
当本地有镜像的时候,可以用镜像来运行容器,当没有镜像的时候,从仓库(docker pull)拉取镜像,再通过(docker run)来运行镜像,获得容器。-d:后台运行 -i:交互式运行 -t:打开一个终端 --name:指定容器名称。仓库用来存放镜像,镜像生成容器,容器是真正运行的业务实例(容器靠镜像,用镜像打开容器,用容器去打开业务)删除镜像的方法:1.先停止该镜像的容器,2.再删除此容器,3.最后删除该镜像。
2025-03-07 22:07:04
717
原创 Tomcat部署
注释: allow="192\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />::表示允许192开头的主机进行登陆,允许所有主机进行登陆:allow="^.*$" />bin:主程序目录 conf:页面目录 logs:日志目录 temp:临时目录。7.vi /usr/local/tomcat/conf/server.xml:编写两个网站内容。6.C:\Windows\System32\drivers\etc:配置解析。
2025-03-01 20:56:01
1114
原创 Keepalive基础
配置方法:vi /etc/keepalived/keepalived.conf (两台主机均改为BACKUP,且设置为nopreempt)最后重启keepalived检查是否存在/var/log/keepalived这个文件,且里面内容为keepalived的内容。3.vi /etc/haproxy/haproxy.cfg (两台服务器复制一样的vip,为了让一台失效,另外一台能继续运行)解决方法: vi /etc/keepalived/keepalived.conf (两主机之间的ip写相反的ip)
2025-02-23 12:56:03
968
原创 Nginx负载均衡
拓展:http的负载均衡配置:/etc/httpd/conf.d/vahost.conf(默认主页:/var/www/html。1.准备三台主机保存不同的nginx网页:vi /etc/nginx/conf.d/nginx.conf :内容自配。:让配置网页的用户知道是那台客户机进行了访问:cat /var/log/nginx/access.log。2.在负载均衡的主机配置:vi /etc/nginx/conf.d/nginxlb.conf。3.测试主机配置域名解析:vi /etc/hosts。
2025-02-14 17:28:02
670
原创 LVS集群模式
也就是用直接路由技术实现虚拟服务器,它的连接调度和管理与VS/NAT和VS/TUV一样,但它的报文转发方法又有不同,VS/DR通过改写请求报文的MAC地址,将请求发送给real server,而real server将响应直接返回给客户,免去了VS/TUN的IP隧道开销,这种方法是三种负载调度中性能最好的,但是必须要求Director Server和Real Server都有一块网卡连在同一物理隧道上。2.lpvsadm:运行在用户态,是LSV的管理工具,可以实现LSV的配置,例如VIP的增删改查。
2025-02-11 19:37:27
979
原创 配置PXC实现高可用
一。关闭防火墙和selinuxsystemctl stop firewalldsystemctl disable firewalldsetenforce 0二。本地地址解析三。下载PXC包,并且进行安装wget https://repo.percona.com/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpmyum localinstall *.rpm -y四。配置mysql文件systemctl start mysqld五。在mysql上面创建用户并
2025-02-09 19:53:53
312
原创 mysql集群
MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。启动MHA:nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &
2025-02-09 15:57:00
605
原创 MyCAT
一。Mycat介绍1.1简要概述Mycat是一款分布式关系型数据库(中间件),它支持分布式SQL查询,兼容MySQL通信协议,以Java生态支持多种后端数据库,通过数据分片提高数据查询处理能力。MyCAT是目前最流行的分布式数据库中间插件,是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器。前端用户可以把它看作一个数据库代理,用MySQL客户端工具和命令行访问,其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是*分表分库*,
2025-02-08 12:54:09
758
原创 mysql读写分离
1.创建登陆用户create user 'maxscale_monitor'@'192.168.142.%' identified with mysql_native_password by 'Admin@123456';3.创建路由用户:create user 'maxscale_route'@'192.168.142.%' identified with mysql_native_password by 'Admin@123456';高可用:底层mysql,如果从库挂了,自动摘除流量;
2025-02-07 16:51:57
941
原创 mysql的主从同步
1.vim /etc/my.cnf.d /mysql-server.cnf:配置主配置文件,添加一个server_id。1.vim /etc/my.cnf.d /mysql-server.cnf:配置主配置文件,添加一个server_id。通过将MySQL的某一台主机(master)的数据复制到其他主机(slaves)上,并重新执行一遍来执行。前提:若是使用了binlog,则需要先暂停slave:stop slave。3.在数据库上进行跟主部署(关闭slave,配置内容,开启slave)
2025-01-19 21:06:01
435
原创 httpd源码下载
1.wget -c https://downloads.apache.org/httpd/httpd-2.4.62.tar.gz:进行下载httpd。2.tar xf httpd-2.4.62.tar.gz -C /usr/local/src/:进行解压。8.vim /etc/systemd/system/httpd.service:创建文件。9./systemctl daemon-reload重启。7.make insttall:下载。
2025-01-15 16:58:34
348
原创 练习二(shell脚本)
2、设计一个 Shell 程序,在/userdata 目录下建立5个目录,即 userl~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。
2025-01-13 17:01:42
163
原创 练习1(shell)
第一题:shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。第二题:写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。第三题:编写个shel 脚本将/usr/local 日录下大于10M的文件转移到/tmp目录下。
2025-01-13 13:54:19
121
原创 Shell综合练习
网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 --- 192.168.2.20。# ssh-keygen 在用于管理的主上生成密钥对。4. 使用for实现批量主机root密码的修改。SSH:实现公钥认证,执行远程中主机命令。1. 使用case实现成绩优良差的判断。3. for ping测试指网段的主机。提示:主机IP存放在一个文件中。用户初始密码由用户输入。成功或失败都必须记录。host.txt的保存内容。2. for创建20用户。
2024-11-29 10:15:44
210
原创 shell第十一章(控制语句及其案例)
next语句并不是用在循环结构中,而是用于awk整个执行过程中,当awk程序执行时候,若遇到next语句则会提前结束本行处理,案例五:显示进程的用户列,进程编号,进程占用率,以及哪些命令触发的,再去筛选进程占用率高的设备。案例二:在/etc/passwd文件内,第三行小于第四行则进行打印全部内容。3.对于if.awk进行赋权:chmod a+x if.awk。案例一:编写一个awk脚本,判断成绩大小。案例一:计算1+2+3.....100。案例一:计算1+2+3.....100。案例二:计算九九乘法表。
2024-11-25 20:26:12
267
原创 shell第十章(awk)
awk认为输入文件是结构化的,awk将每个输入文件行定义为记录,行中的每一个字符串定义为域,域之间用空格,tab键或者其他符号来进行分隔,分隔域的符号就叫做分割域,默认认为空格或者tab。(2)END模式是awk的另外一种特殊模式,该模式执行的时机与BEGIN模式恰好相反,它是在awk命令处理完所有的数据,即将退出程序时成立,在此之前,END模式并不成立。所以,用户可以将与数据文件无关,而且在整个程序的生命周期中,只需执行1次的代码放在BEGIN模式对应的操作中,一般用于打印报告的标题和更改内在变量的值。
2024-11-25 17:27:20
882
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人