- 博客(88)
- 收藏
- 关注
原创 RAID磁盘阵列配置
本文介绍了Linux系统下磁盘管理和RAID配置的相关操作。主要内容包括:1)磁盘管理命令,如fsck检查文件系统、dd建立交换文件、mkswap创建交换分区;2)RAID5阵列配置,通过mdadm命令将3块磁盘配置为RAID5阵列,1块作为热备盘,并添加到配置文件。操作步骤详细展示了分区创建、类型修改、RAID阵列组建等过程。这些命令和配置方法可以有效提升系统存储的可靠性和性能。
2025-05-31 23:55:03
278
原创 Django框架后台管理
本文介绍了如何使用Django框架创建和管理后台管理模块。首先,通过命令行创建了一个名为MyAdminSite的Django项目,并启动服务器。接着,访问后台管理模块(localhost:8000/admin/),并通过命令行创建了管理员超级账户。登录后,可以管理默认的数据表,如用户账户。随后,创建了一个名为userinfo的app,并在其中定义了一个简单的Person模型,包含姓名和年龄字段。通过注册模型到后台管理界面,用户可以在后台管理界面中查看和编辑Person模型的数据。最后,通过Python交互界
2025-05-18 14:57:11
522
原创 管理配置信息和敏感信息
在 Kubernetes 中,ConfigMap和SecretConfigMap:非敏感配置管理定义与用途ConfigMap 用于存储非敏感配置数据(如环境变量、配置文件、命令行参数),实现应用配置与容器镜像的解耦。通过 ConfigMap,用户可以动态调整配置而无需重建镜像或重启容器。数据形式与创建方式键值对或文件内容:支持纯文本、多行配置或直接挂载文件到容器内。创建方式:从文件、目录或字面量生成。YAML 文件:定义键值对或配置文件内容。动态更新卷挂载。
2025-05-04 17:27:34
1071
原创 配置和使用持久卷
目前常用的第三开源的NFS制备器(卷插件)由nfs-subdir-external-provisioner和nfs-ganesha-server-and-external-provisioner这两种,这里选择第一种,它基于现有的NFS服务器通过PVC请求来支持PV的动态分配,自动创建的PV被命名为。可以发现,PV的状态也变成了Bound,CLAIM列表示的是与PV绑定的PVC,其中的default是名称空间的名称。实际应用中,PV通常是由运维人员进行运维的,开发人员一般运维PVC,并部署和管理Pod。
2025-05-04 16:42:01
715
原创 配置和使用基本存储
Pod容器中的文件在磁盘上是临时存放的,一旦容器崩溃就会造成文件丢失,容器重新启动也会丢掉运行过程中产生的数据,恢复到最初的状态。在同一个Pod中运行多个容器时,这些容器可能需要共享文件。Kubernetes使用卷来解决这些问题。kubernetes的卷是Pod的一部分,卷不是单独的对象,不能独立创建,只能在Pod中定义。卷关联到外部的存储设备之上的存储空间,独立于容器自身的文件系统。卷也是Pod中所有容器挂载的共享目录,Pod中所有容器都可以访问卷,但必须要挂载,卷可以挂载到容器中的任何目录。
2025-04-30 23:54:42
844
原创 使用Django框架表单
django框架自带一个简单易用的“跨站请求伪造防护”,当通过POST方法提交了一个启用CSRF防护的表单时,必须在表单中使用模板标签csrf_token。如果为GET方法,则直接跳转到else,执行return,返回空的表单实例(form),让用户去录入数据再进行提交。通过{% for-endfor %}模板标签遍历字典类型的上下文变量userinfo中的每一项,并依次在页面模板中进行显示。通过{% for-endfor %}模板标签遍历表单实例form的每一项,并在页面模板中显示。
2025-04-26 21:11:24
967
原创 模板引擎语法-算术运算
在Django框架模板中,没有专门定义关于算术运算的语法。不过,通过一些标签和过滤器的配合使用,可以模拟实现类似“加减乘除”的算术运算。
2025-04-26 16:13:14
1046
原创 模板引擎语法-过滤器
变量default经过default_if_none过滤器处理后,仍旧输出了自身定义的值,因为变量default的值不为None。",这是因为变量defaultifnone的值定义为None。而变量default_nothing经过default过滤器处理后,输出了过滤器定义的值nothing,这是因为变量default_nothing的值定义为空。通过dict_sort过滤器(参数定义为“age”)对字典类型变量dict_sort进行了过滤操作,表示对变量dict_sort按照键(age)重新进行排序。
2025-04-26 15:05:34
1392
原创 实现灰度发布与蓝绿发布
灰度发布(又称金丝雀发布或渐进式发布)是一种在软件发布过程中逐步引入新功能或版本的策略,旨在通过分阶段控制流量来降低风险并保障用户体验。其核心原理是:将新版本先部署给一小部分用户(如1%-10%),通过监控性能、收集反馈验证稳定性,若未发现问题则逐步扩大范围,最终完成全量替换。分阶段发布:新版本并非一次性推送给所有用户,而是按地域、用户ID、设备类型等维度逐步扩大覆盖范围。风险控制:若新版本出现严重问题(如BUG),可快速回滚至旧版本,仅影响少量用户,避免大规模故障。实时优化。
2025-04-20 13:46:34
909
原创 使用Ingress发布应用程序
Ingress可以理解成Kubernetes集群的“智能交通指挥系统”。就像商场入口的导览员会根据顾客需求指引不同店铺一样,Ingress的作用是管理外部流量,把用户请求准确引导到集群内的各个服务。举个更生活化的例子:假设你的Kubernetes集群是一个大型游乐园,里面有多个游乐项目(服务)。规则手册(Ingress资源):由管理员编写,比如规定“从东门来的游客去摩天轮,通过官网预约的游客去过山车”。执行者(Ingress控制器):像检票员一样实时检查游客请求,根据规则手册把请求转发到对应项目。
2025-04-19 22:25:04
1143
原创 使用Service发布前后端应用程序
部署前端(Frontend)微服务和后端(Backend)微服务是比较常见的应用场景。使用Service就可以在Kubernetes集群中实现这种部署,本例以nginx作为前端应用程序,Tomcat作为后端应用程序,分别创建两个Service,前端Service对外发布,前端的Pod通过后端Service的域名连接后端。
2025-04-19 14:35:52
1073
原创 使用Service对外发布集群中的应用程序
在Kubernetes集群中创建NodePort类型的Service来对外发布应用程序,可以为Service在每台节点主机上绑定一个端口(节点端口),让集群外部的客户端可以通过“NodeIP:NodePort”格式的地址来访问该应用程序。(1)service的后端是pod,一般都是通过控制器创建相应的pod来运行负载。(3)基于新的Service配置文件创建Service来发布nginx。(5)列出运行的nginx的pod,可以发现部署在两个不同的节点上。(8)使用节点地址和节点端口来访问发布的应用程序。
2025-04-19 13:47:31
502
原创 使用Service发布应用程序
Kubernetes 中的Service就像一个智能的“服务导航员”,它帮助用户和其他服务找到并访问一组动态变化的 Pod(容器组)。为什么需要 Service?想象你有一个餐厅,后厨有多个厨师(Pod)在做菜,但厨师可能随时请假或换班(Pod 被销毁或新建)。如果顾客每次都要记住每个厨师的名字和位置(Pod 的 IP 地址),那会非常麻烦。Service 的作用就是充当餐厅的“前台”,顾客只需要找前台(Service)点餐,前台会自动分配顾客到可用的厨师那里,无论厨师怎么变动,顾客的体验始终流畅。
2025-04-18 23:44:37
1010
原创 运行一次性任务与定时任务
(3)查看最后一次调度任务创建的Pod日志。(1)创建CronJob配置文件。(1)获取CronJob的状态。(1)创建Job配置文件。(3)查看该Pod的日志。(2)创建CronJob。(1)监视创建的Job。(2)查看创建的Pod。(2)监视创建的Pod。(3)查看创建的Pod。
2025-04-12 23:00:57
501
原创 使用DaemonSet部署集群守护进程集
可以发现3个节点各自运行了Pod,DaemonSet会先遍历节点列表,检查是否带有此标签的Pod在运行,若没有,则创建。(3)查看该DaemonSet的Pod部署(操作该DaemonSet必须指定名称空间)(3)监视DaemonSet的滚动更新状态和进度。(2)直接回滚到该DaemonSet的上一版本。(2)更新DaemonSet模板中的容器镜像。(1)查看该DaemonSet的修订版本历史。(3)监视该DaemonSet的回滚进度。(1)检查DaemonSet的更新策略。(1)从名称空间中删除。
2025-04-12 22:38:06
706
原创 模板引擎语法-标签
通过{% templatetag openvariable %}标签和{% templatetag closevariable %}标签在页面中输出了语法字符“{{ }}”;通过{% templatetag openblock %}标签和{% templatetag closeblock %}标签在页面中输出了语法字符“{% %}”;通过{% templatetag openbrace %}标签和{% templatetag closebrace %}标签在页面中输出了语法字符“{ }”;
2025-04-12 21:34:48
947
原创 模板引擎语法-变量
文件路径【TmplSite/gramapp/templates/grammar.html】文件路径【TmplSite/gramapp/templates/grammar.html】文件路径【gramapp/templates/gramapp/grammar.html】文件路径【TmplSite/gramapp/views.py】文件路径【TmplSite/gramapp/views.py】文件路径【TmplSite/gramapp/urls.py】3.打开FireFox浏览器访问。2.编辑HTML模板。
2025-04-12 17:58:11
1250
原创 简单视图函数
所谓视图函数(简称视图),本质上就是一个Python函数,用于接收Web请求并且返回Web响应。Web响应可以包含很多类型,比如常见的HTML网页、重定向和404错误,也可以是XML文档和图像文件等。另外,无论视图函数的具体处理逻辑如何定义,建议都返回某种类型的Web响应。视图函数的代码可以写在项目的任何Python目录下。但是,对于基于Django框架的Web项目而言,通常约定将视图函数写在项目或应用目录下名称为views.py的文件中。
2025-03-31 17:38:04
969
原创 创建和管理Pod
Pod 是 Kubernetes 中最小的可部署和可管理的计算单元,用于封装一个或多个紧密关联的容器,并为其提供共享的运行环境。最小部署单元Pod 是 Kubernetes 中创建和管理的最小逻辑单元,代表集群中运行的一个应用实例。每个 Pod 包含一个或多个容器(如 Docker 容器),这些容器共享以下资源:网络命名空间:同一 Pod 内的容器共享 IP 地址和端口范围,可通过localhost直接通信。存储卷:挂载到 Pod 的存储卷(如emptyDirconfigMap)可被所有容器共享。
2025-03-30 20:56:14
772
原创 使用kubectl命令
是 Kubernetes 的命令行工具,用于管理集群和资源。语法格式: 提供了大量子命令,方便管理 Kubernetes 集群中的各种功能,以下是一些常用子命令分类介绍:Kubectl命令支持的资源类型丰富多样,可通过命令获取完整列表。以下是部分常见资源类型及其缩写、所属API组和命名空间相关信息:Kubectl命令默认输出格式是人类可读的明文格式,若要以特定格式输出详细信息,可将或参数添加到受支持的命令中。以下是Kubectl命令支持的输出格式:使用kubectl -h命令可以查看子命令列表,通过以下用法
2025-03-30 19:14:04
572
原创 Django框架视图与路由(一)
我们可以把Django框架里的视图想象成餐厅里的服务员,帮助我们理解它的作用和工作方式。视图就像服务员在餐厅里,顾客(用户)进入餐厅(访问网站)后,会提出各种需求(发送请求),比如点菜(获取特定信息)。这时,服务员(视图)就会出现,接收顾客的需求(HttpRequest对象)。服务员会把顾客的需求传达给厨房(模型层和模板层),让厨房准备相应的菜品(处理数据)。最后,服务员把准备好的菜品(响应内容)端给顾客(返回HttpResponse对象)。视图的工作流程视图的分类视图有两种类型,就像餐厅里有不同类型的服务
2025-03-23 20:20:13
1389
原创 理解使用Kubernetes对象
Kubernetes 对象是 Kubernetes 系统中的持久化实体,Kubernetes 使用这些实体来表示整个集群的状态。哪些容器化应用正在运行(以及在哪些节点上运行);可以被应用使用的资源;关于应用运行时行为的策略,比如重启策略、升级策略以及容错策略。Kubernetes 对象是一种“意向表达(Record of Intent)”,一旦创建该对象,Kubernetes 系统将不断工作以确保该对象存在。
2025-03-23 14:51:14
1269
原创 Django连接MySQL
3.运行命令,注意前提是下载了mysqlclient库,并且app已注册。1.修改settings.py,连接数据库,注释默认配置,输入新配置。2.定义models.py文件,创建数据库表。2.输入密码登入数据库,修改一个简单的密码。21.服务文件权限选择no,点击下一步。9.打开后,选择自定义,点击next。10.选择要安装的版本,点击右箭头。20.windows服务默认下一步。12.修改完成后,点击下一步。15.安装完成后点击下一步。6.登录Oracle账户。16.产品配置默认下一步。
2025-03-16 14:47:28
1105
原创 开发Django框架应用程序
1.双击打开VS code软件,点击左上角file,打开应用程序文件夹。2.在HelloDjango主包的settings.py中定义应用。4.定义app01中的urls.py,不存在就创建一个即可。1.进入HelloDjango项目中,允许创建应用的命令。1.在项目中新建一个views.py文件,定义如下代码。2.配置URL路由文件,打开urls.py文件加入代码。3.定义app01应用中的views.py文件。5.最后定义主包中的urls.py。2.可以看见项目中的所有文件。
2025-03-16 11:54:55
380
原创 搭建Django开发环境
1.打开setuptools工具包的官网(https://pypi.org/project/setuptools/),复制页面上通过pip工具安装的命令,到命令行粘贴执行2。1.安装编程工具vs code,打开官网(https://visualstudio.microsoft.com/zh-hans/)下载安装包。3.复制提供的Windows版本的安装命令,执行安装命令,如果安装过程报错,一般为网络波动原因导致,重新执行命令即可。10.安装完成,点击close关闭当前窗口,并再次验证。
2025-03-16 01:06:05
755
原创 H3C 链路聚合
1.按照图示的IP地址配置好pc3和pc42.在sw1和sw2的两台直连链路上配置链路聚合,实现链路冗余,并可以增加传输带宽3.sw1和sw2之间的直连链路要配置为trunk的类型,允许所有vlan通过4.中断sw1和sw2之间的一条直连链路(模拟故障),测试pc3和pc4是否仍然能够继续访问。
2024-10-31 15:52:43
1913
原创 LVM配置管理
注意:当在现实生产环境中部署LVM时,需要先依次创建物理卷、卷组、逻辑卷,再创建并挂载文件系统。当想重新部署LVM或者不需要使用LVM时,需要进行LVM的删除相关操作时,这个过程是正好相反的,为此,记得提前备份好重要的数据信息,并依次卸载文件系统,删除逻辑卷、卷组、物理卷,这个顺序不能出现错误!4.卷组创建完成后,创建逻辑卷,逻辑卷是创建在卷组之上的,对应的设备文件保存在卷组目录中。3.物理卷创建好之后,需要创建卷组,并将建立好的物理卷加入到卷组里面。的卷组,并加入刚刚创建的两个物理卷,然后查看一下。
2024-10-30 09:54:16
1282
原创 H3C OSPF配置
1.配置IP地址2.分区域配置OSPF,实现全网互通3.为了路由结构稳定,要求路由器使用环回口作为Router-id,ABR的环回口宣告进骨干区域。
2024-10-28 11:45:08
941
原创 H3C vlan和trunk配置
1.配置pc的IP地址2.在sw1和sw2上分别创建vlan10和vlan20,要求pc3和pc5输入vlan10,pc4和pc6属于vlan203.sw1和sw2相连的接口配置为trunk类型,运行vlan10和vlan20通过4.测试效果,同一vlan的设备可以互通,不同vlan无法互通。
2024-10-28 09:59:13
1699
原创 ⑤sed流编辑器与awk文本处理工具——项目实训任务
本实训的主要任务是编写正则表达式文本以根据给定的模式从文本中提取特定信息,使用sed命令批量替换文本中的内容或执行其他编辑操作,以及编写awk脚本处理文本数据,进行数据提取、计算、格式化输出等操作。(1)理解正则表达式的基本语法和常见元字符。(2)掌握正则表达式在文本匹配和搜索中的使用方法。(3)掌握sed命令中的替换、删除、插入等编辑操作。(4)理解awk中的模式匹配和动作执行的结构。(5)掌握使用awk命令对文本进行分隔、过滤、计算和格式化处理的方法。
2024-10-21 15:41:02
1039
原创 忘记了系统root密码,如何重置root密码?
5.使用passwd命令设置root(此种方式输入的密码是不可见的)。2.进入到内核界面,找到Linux开头字样一行,然后在最末尾输入参数。3.重新以可读写的方式挂载根目录/sysroot。,然后按住CTRL+x键进入紧急救援模式界面。1.开启系统时,在引导界面按下字母e。4.切换到挂载好的/sysroot。6.使SELinux生效。
2024-10-17 20:05:40
631
原创 ④Shell数组与函数——项目实训任务
本实训的主要任务是通过定义和操作数组实现对多个数据的集合的存储和处理,使用函数参数给函数传递数据并根据参数的值执行相应的操作,以及编写函数完成特定的任务等。(1)掌握索引数组的定义方法,使用数组编写Shell脚本。(2)掌握关联数组的定义方法,使用数组编写Shell脚本。(3)掌握函数的定义方法,编写Shell函数脚本。(4)掌握函数参数的使用方法和变量作用域,编写Shell函数脚本。(1)编写Shell脚本,使用数组实现连接状态统计。(2)编写Shell脚本,使用数组实现网站日志统计。
2024-10-15 16:23:39
930
原创 CentOS7&RHEL9本地yum源配置
1.创建本地源文件夹。2.挂载镜像文件至指定的目录。(挂载如果需要一直生效,需要配置自动挂载,方式如下)3.备份本地默认源。4.配置本地源,编写local.repo文件。5.加载本地源并测试。6.安装工具。
2024-10-14 15:35:15
693
原创 ③Shell循环控制——实训项目任务
本实训的主要任务是使用for、while等语句编写循环控制脚本,从而提高Shell脚本的逻辑处理能力。(1)理解循环控制的基本概念。(2)掌握for语句的基本语法,能够编写for循环控制脚本。(3)掌握while语句的基本语法,能够编写while循环控制脚本。(1)编写shell脚本,使用for语句循环遍历备份目录列表,依次对每个目录进行备份,并将备份文件传输到远程服务器。(2)编写shell脚本,使用for语句监控系统的CPU和内存使用情况,定期输出监控数据。
2024-10-12 11:02:34
916
原创 ②Shell条件控制——实训项目任务
本实训的主要任务是编写简单的条件语句脚本,使用if语句、case语句实现shell脚本流程控制和错误处理,以提高shell脚本的逻辑处理能力(1)理解shell编程流程控制的基本概念。(2)掌握shell条件语句的使用方法。(3)掌握if语句的基本用法,能够编写if语句流程控制脚本。(4)掌握case语句编写流程控制脚本。(1)使用test和方括号条件语句进行条件控制。(2)使用if语句编写流程控制脚本。(3)使用case语句编写流程控制脚本。
2024-10-10 19:14:16
1343
原创 ①Shell脚本基础——实训项目任务
本实训的主要任务是通过编写简单的shell脚本,完成使用数据输入输出命令获取用户输入,将脚本输出写入文件,以及重定向脚本的输入输出操作,并通过设置变量存储不同类型的数据,以便在脚本中处理数据。(1)掌握shell脚本的基本格式。(2)掌握输入输出重定向和管道符的使用方法。(3)掌握数据输入输出命令的使用方法。(4)掌握变量的定义和调用方法。(5)掌握运算符的使用方法。(1)使用输入输出重定向,将Shell脚本的输出重定向到文件。
2024-09-26 21:42:53
1613
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人