自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用k8s部署java前后端服务

OOMKilled” 是一种在容器化环境或某些操作系统中常见的状态,表示 “Out Of Memory Killed”,即由于内存不足而被终止。此时,不能登录的原因是10.0.0.66的8080端口没有开发,也没有映射到java的pod上(也就是未连接后端)在旧的版本中,都是使用浏览器直接访问java或者php服务,由这些服务临时渲染一个页面文件响应给客户端。如果用户信息的账号和密码都是正确的,就返回字符串,允许用户登录,否则也返回异常信息字符串。提供数据:根据web前端发送的请求,从数据库中获取数据。

2024-09-28 14:15:04 1115

原创 kubernetes持久化存储

还可以将 emptyDir.medium 字段设置为 Memory, 让 Kubernetes 使用 tmpfs(内存支持的文件系 统),不过这样虽然提高性能,但因为是运行在内存 中,所以数据无法持久化,且设置的大小会被计入到 Container 的内存限制中。2、共享与访问:在Docker中,每个容器都有自己的卷, 无法共享卷。1、Container (容器) 中的磁盘文件是短暂的,当容器崩 溃时,kubelet 会重新启动容器,但最初的文件将丢 失,Container 会以最干净的状态启动。

2024-09-25 19:52:45 1078

原创 K8S服务发布

为某个节点添加标签 Label在 deployment 或其他控制器中指定将 Pod 部署到该 节点(创建nginx deployment 让他只能部署在node01上)metadata:spec:selector:app: nginxtemplate:metadata:labels:app: nginxspec:abc: "1"ports:# pod已添加到node01节点上。

2024-09-25 19:45:52 1123

原创 镜像导入、标签设置与应用、探针测试

命令行形式将创建deployment控制器,控制创建3个pod的内容以yaml文本的形式放到一个yaml文件中。# 创建pod时,查看node节点,将该pod创建到标签为abc=1的node节点上。# 修改原先的标签,将原先是abc=y的标签覆盖掉,变为abc=a。# 筛选带有abc=x或abc=y标签的pod并查看它的所有标签。# 筛选带有abc=y标签的pod并查看它的所有标签。# 查看node节点的标签信息,发现标签添加成功。# 查看node节点的标签信息。# 查看有xxx标签的pod。

2024-09-22 21:10:20 1089

原创 pod介绍与配置

Pod 是 kubernetes 基本调度单位。每个 Pod 中可以运 行一个或多个容器,共享 Pod 的文件系统、IP 和网络等资源,每个 Pod 只有一个 IP。

2024-09-22 18:55:06 1144

原创 kubernetes基础命令

command:指定要对一个或多个资源执行的操作,例如 create、get、describe、delete等。(增删改查)type:指定资源类型。资源类型不区分大小写,可以指 定单数、复数或缩写形式。name:指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息: kubectl get pods。flags: 指定可选的参数。例如,可以使用-s或-server参数 指定 Kubernetes API服务器的地址和端口。

2024-09-21 22:26:55 1054

原创 k8s安装环境的脚本

每台虚拟机都需执行ssh-keygencrontab -e# 写入* 5 * * * /usr/sbin/ntpdate time2.aliyun.comreboot。

2024-09-19 19:52:46 869

原创 kubernetes调度2

资源类型:DaemonSet# 元信息metadate:# 该DaemonSet资源名spec:# 标签选择器selector:# 匹配标签# 与上面的标签相同app: nginx# 定义podtemplate:metadata:labels:# 定义的标签,与上面标签相同app: nginxspec:# 定义pod的配置# 容器名# 使用的镜像ports:# 通过使用DaemonSet,使每个node节点都建立了一个pod,创建了两个pod节点。

2024-09-19 19:32:13 1221

原创 kubernetes 调度1

元数据metadata:# rc名称# 定义资源信息spec:# 定义副本数量# 定义资源标签selector:# 定义pod信息template:metadata:# pod名称# 定义pod标签labels:spec:command:- "-c"# 元数据metadata:# rs名称# 定义资源信息spec:# 定义副本数量# 定义资源标签# 更高级的标签匹配形式,使用In操作符来匹配“tier”标签的值是否在给定的值列表中。

2024-09-19 19:27:21 660

原创 k8s的环境配置

找到第63行修改为sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"# 添加sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"(第128行)# 修改第12行、24行、29行的ip地址为自己本机的ip地址。# 修改第12行、24行、29行的ip地址为自己本机的ip地址。

2024-09-11 19:24:57 1449

原创 培训第九周(部署k8s基础环境)

添加sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"(第128行)之前采⽤初始化安装⽅式,所有的系统组件均以容器的⽅式运⾏ 并且在 kube-system 命名空间内,此时可以查看 Pod(容器 组)状态。overlay # ⽤于⽀持Overlay⽹络⽂件系统的模块,它可以在现有的⽂件系统之上创建叠加层,以实现虚拟化、隔离和管理等功能。设置为0表示不产⽣panic,设置为1表示产⽣panic。

2024-09-07 19:34:21 1580

原创 培训第四十一天(docker-compose一键部署项目,haproxy容器代理多个web或java容器)

创建脚本,可以在java环境中运行任何的jar包或者war包/bin/bashar。

2024-09-02 22:37:07 1787

原创 培训第四十天(容器部署project-exam-system项目)

从上面图片可以看出来,请求的域名为bu.yuanyu.zhangmin,现在我们需要将域名劫持下来,将该域名指向我们的linux主机,在linux主机中使用容器搭建后端服务器,所以要在本机的hosts文件中写入域名的对应关系,使其指向linux主机。# 发现java:v2比java:v1小很多,由于使用的是centos镜像为基础镜像是关闭状态一层一层封装为java镜像的。{"code":20002,"msg":"账号不存在或密码错误"}[root@docker java]#

2024-08-30 17:25:16 1040

原创 培训第三十九天(了解docker-compose,docker-compose编排容器,配置harbor服务)

1)docker compose 是 docker 官⽅的开源项⽬,负责实现对 docker 容器集群的快速编排(容器,依赖,⽹络,挂载。。2)compose 是 docker 公司推出的⼀个⼯具软件,可以管理多个 docker 容器组成的应⽤3) 需要定义⼀个 YAML 格式的配置⽂件 docker-compose.yml,写 好多个容器之间的调⽤关系4)使⽤ compose 的步骤。

2024-08-29 19:44:12 844

原创 培训第三十八天(上传镜像,私有仓库下载镜像,跨主机容器间的通信,harbor软件包下载)

1、使用flanneld为docker主机(宿主)分配网段2、网段的信息以及ip的信息保存在etcd数据库中3、当flanneld开始运行的时候,会从etcd数据库中读取{ “Network” : “172.20.0.0/16” },随机为当前的主机添加一个flannel0网卡4、配置docker的daemon文件,让docker0网卡变成和flanneld的网段一致,之后docker下创建的容器的ip就在flanneld的网段控制之内。

2024-08-28 19:45:31 872

原创 培训第三十七天(Dockerfile与registry)

FORM 指定基础镜像为该镜像的最后修改版本FROM < img:tag >指定基础镜像为该镜像的⼀个tag版本MAINTAINER 指定镜像创建者,企业内部不⽤指定,对外发布也可以不指定RUN 运⾏命令,安装软件CMD 设置container启动时进⾏的操作,如果容器镜像中有这 个命名,启动容器时,不要⼿动让容器执⾏其他命令ENTRYPORINT(⼊⼝点)cmd每次只能执⾏⼀个指令, entrypoint可以多⾏执⾏。USER设置容器进程的⼀些⽤户。

2024-08-27 21:09:50 565

原创 培训第三十六天(docker应用,mysql容器应用,容器核对时间,容器之间的依赖 域名,文件联合系统,制作基础镜像,commit制作镜像)

当我们pull一个镜像之后/var/lib/docker/overlay2下就有一个新的目录,这个目录就是centos的基础目录,这个新的目录就是镜像,就是不可读的层。# 当我们使用镜像创建一个容器,在overlay2会添加两个目录,一个是init目录,另外一个目录就是容器的可写层,用户对系统的修改都在可写层。# 在没有镜像的情况下,查看overlay2这个目录只有两个文件,管道文件,l目录(管理镜像和容器的软连接的目录)# 从镜像库中下载mysql镜像,mysql镜像是在基础镜像上加很多层制成的。

2024-08-27 15:14:34 1236

原创 培训第三十五天(容器的基础命令使用)

# 快速启动一个容器执行特定的一次性命令并查看输出结果,输出结果后容器直接退出[root@docker ~]# docker run -it --name=a0 centos:latest echo "abc"abc[root@docker ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[root@docker ~]# docker ps -aCONTAINER

2024-08-23 19:15:31 901

原创 培训第三十四天(初步了解Docker与套接字的应用)

1)server_id唯一2)8.X版本需要get_ssl_pub_key3)5.X不需要。

2024-08-22 20:48:13 698

原创 培训第三十三天(mysql57主从从+mycat读写分离+java项目结合mycat数据库+lvs_dr轮询调用java项目)

[root@msater_5 ~]# systemctl stop filewalld[root@msater_5 ~]# setenforce 0[root@msater_5 ~]# systemctl disable filewalld[root@msater_5 ~]# lsanaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz[root@msater_5 ~]# tar -xf mysql-5.7.44-linux-

2024-08-22 20:43:12 746

原创 培训第三十二天(学习playbook-roles,脚本创建数据库和表,mycat读写分离)

files:⽤来存放由copy模块或script模块调⽤的⽂件。tasks:⾄少有⼀个main.yml⽂件,定义各tasks。handlers:有⼀个main.yml⽂件,定义各handlers。templates:⽤来存放jinjia2模板。vars:有⼀个main.yml⽂件,定义变量。meta:有⼀个main.yml⽂件,定义此⻆⾊的特殊设定及其依赖关系。

2024-08-21 21:19:16 1087

原创 培训第三十一天(playbook的基本使用)

playbook(剧本): 是ansible⽤于配置,部署,和管理被控节点的剧本。⽤于ansible操作的编排。使⽤的格式为yaml格式(saltstack,elk,docker,dockercompose,kubernetes等也都会⽤到yaml格式)YMAL格式:文件以.yaml或.yml结尾⽂件的第⼀⾏以 "---"开始,表明YMAL⽂件的开始(可选的)以#号开头为注释列表中的所有成员都开始于相同的缩进级别, 并且使⽤⼀个 "- " 作为开头(⼀个横杠和⼀个空格)

2024-08-19 17:51:14 879

原创 培训第三十天(ansible模块的使用)

ansible是基于模块⼯作的,本身没有批量部署的能⼒。真正具有批量部署的是ansible所运⾏的模块,ansible只是提供⼀种框架。

2024-08-17 15:06:33 770

原创 培训第二十九天(python脚本使数据库读写分离,mysql主从开机自动同步,python操作数据库,MyCat插件的学习)

引入模块 python链接mysql工具,驱动包,连接器# python 类 类名 rwsplit,名字可以和文件名不一致# 三个函数,函数的标识 def 函数名 (self,参数列表):# __init__ 初始化函数,构造函数,在这个类被实例的时候,执行__init__函数# master_statement 自定义函数,根据实际需要,开发或者运维自己定义的函数# slave_statement 自定义函数,根据实际需要,自定# 构造函数。

2024-08-15 20:40:25 655

原创 培训第二十八天(haproxy高可用代理与利用python实现mysql主从的读写分离)

[root@nat ~]# ipvsadm -d -t 192.168.10.101:3306 -r 10.0.0.22:3306 #删除真实主机nat:[root@nat ~]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.0.10 netmask 255.255.255.0 broadcast 10.0.0.255ens36

2024-08-14 19:54:18 690

原创 培训第二十七天(lvs_nat模式与lvs_dr模式配置)

核心:内核中的ipvs,ipvsadm1、安装ipvsadm2、配置规则查看所有的规则,如果已经配置好规则,重启之后也就没有了。

2024-08-13 17:33:59 741

原创 培训第二十六天(slave写入数据解决与GTIDS主从复制搭建)

1、Global transaction identifiers 全局事务标识符,是mysql5.6 新加⼊的技术2、使⽤GTIDs时,每⼀个事务都可以被识别和跟踪3、添加的新的slave或者发⽣故障时,需要将master身份或者⻆⾊迁移到slave上时,都需要考虑哪⼀个⼆进制⽇志以及哪个position值,极⼤简化了相关操作。

2024-08-12 19:52:58 1100

原创 培训第二十五天(python中执行mysql操作并将python脚本共享)

(1)和shell脚本一样python文件也可以称为py脚本,也是将python指令做一个集合(2)为了脚本更加的智能化和自动化,添加选择语句(智能)循环语句(自动化)(3)同时为了开发效率,可读性,做了方法,类,模块(1)python脚本完成并配置成功之后,将脚本部署为一个二进制的可执行文件(2)因为py文件要被执行需要在linux中安装python环境(3)但是二进制可执行文件,不要环境,在任何linux主机上都可以执行(4)步骤安装pyinstaller。

2024-08-09 17:29:20 877

原创 培训第二十四天(python基础学习)

python开发工具:1、安装自带的ide2、pycharm(付费)3、anaconda。

2024-08-08 21:43:08 820

原创 培训第二十三天(mysql主从脚本与mysql详细语句介绍)

只有 select ⼦句和 having ⼦句、order by ⼦句中能使⽤聚合函数,where ⼦句不能使⽤聚合函数。当使⽤聚合查询以后,不能使⽤where条件,如果要添加条件,就使⽤having。常⽤聚合``函数统计表中数据的⾏数或者统计指定列不为空值的数据⾏个数select count(*或表头名) from 表名;计算指定列的最⼤值,如果指定列是字符串类型(⽂字类型)则使⽤字符⾸拼排序select max(表头名) from 表名;

2024-08-08 08:49:37 905

原创 培训第二十二天(mysql数据库主从搭建)

root@mysql1 ~]# chkconfig --list //列出系统服务在不同运行级别下的启动状态注:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。要列出 systemd 服务,请执行 'systemctl list-unit-files'。查看在具体 target 启用的服务请执行netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关。

2024-08-06 19:52:38 1038

原创 培训第二十一天(mysql用户创建与授权、角色创建)

root@mysql ~]# rm -rf /etc/my.cnf //清空/etc目录下的my.cnf[root@mysql ~]# yum -y remove mariadb //移除mariadb//删除mysql所有遗留文件。

2024-08-05 17:53:35 877

原创 培训第二十天(mysql安装与基本操作)

mysql> insert into user(id,username,password) values(5,'小六','xiaoliu'),(6,'小七','xiaoqi');点击加号-------------输入连接名字(随便)------------hostname(数据库主机的ip地址)----------------------ok。| 1 | 张三 | 123 || 5 | 小六 | xiaoliu || 6 | 小七 | xiaoqi |

2024-08-05 08:59:55 932

原创 培训第十九天(安装nginx代理tomcat)

(1)bin目录1、含有多个可执行文件,这些可执行文件在window和linux中是通用2、win10上优化之后上传到linux,只需要添加权限就可以了3、win对应的的文件的扩展名为bat(批处理文件)4、linux对应的文件的扩展名为sh5、startupsh.sh启动服务,shutdown.sh停止服务(2)webapps目录i am jsp......i am jspi am jsp......i am jsp......<%=3+4 %>

2024-08-01 18:47:28 1025

原创 培训第十八天(虚拟主机与vue项目、samba磁盘映射、nfs共享)

版本对应配置系统变量JAVA_HOMEspring-boot3 ==> jdk17以上的版本。

2024-07-31 18:55:44 690

原创 培训第十七天(nginx反向代理及优化与版本平滑升级)

反向代理安装nginx 1.26.1 平滑升级 负载均衡。

2024-07-30 19:12:30 1234

原创 培训第十六天(web服务apache与nginx)

root@YH2 nginx-1.22.1]# cd /usr/local/nginx/ //切换到nginx软件⽬录下conf html logs sbin #nginx软件构成的⽬录#conf:存放nginx配置⽂件的⽬录#html:存放资源⽂件也就是⽹站⾸⻚(站点根⽬录)的⽬录#logs:存放nginx⽇志的⽬录#sbin:存放nginx可执⾏程序的⽬录[root@YH2 nginx]# ls ./conf //nginx所有配置⽂件。

2024-07-29 22:22:49 1027

原创 shell脚本自动化安装启动各种服务

A主机:vim dns.sh/bin/bash# 自动化部署dns# 1、下载bind# 2、修改配置文件any;修改(定位替换)any;修改(定位替换)# vim /etc/named.rfc1912.zones (最后追加)#};# 3、创建zone文件# 4、修改zone文件# www A 10.0.0.100 (最后追加)# 5、重启服务/127.0.0.1;any;/localhost;any;

2024-07-28 23:11:06 1063

原创 培训第十五天(shell脚本与sed的学习)

root@lib ~]# b=3 //将b赋值为3 左边是变量名、右边是值[root@lib ~]# echo $b //输出变量b的值3[root@lib ~]# unset b //取消赋值 清除变量[root@lib ~]# echo $b //变量b显示为空变量名=值中,等于号=之前和之后不能有空格变量名=值中,值内如果输入数学算式,是没办法算出结果的,只会输出字符串。

2024-07-27 17:13:21 675

原创 培训第十四天(分布式版本控制系统git的使用)

Git 是一种分布式版本控制系统,用于跟踪和管理代码的变更。它是由 Linus Torvalds 创建的,最初被设计用于 Linux 内核的开发。Git 允许开发 人员跟踪和管理代码的版本,并且可以在不同的开发人员之间进行协作。Github 用的就是 Git 系统来管理它们的网站,Github 是一个社区,Git 是 一个服务系统,Github 只支持 Git 分布式系统,所以故名成为 Github。Git 的主要功能包括:1、版本控制:Git 可以跟踪代码的变更,并且可以回滚到任何一个版本。

2024-07-25 21:36:07 1078

空空如也

空空如也

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

TA关注的人

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