- 博客(103)
- 收藏
- 关注
原创 Linux——应用软件的生命周期
滚动更新是一种更新策略,在滚动更新的过程中如果出现任何问题,可以进行回滚以实现应用版本回溯,恢复到没有问题的版本。Shell 剧本 应答文件。金丝雀测试:在应用更新部署前,一定要在生产环境下进行测试,以验证没有任何问题,才可以进行大规模的应用更新。已修改未提交 // 文件的修改已使用git add 命令同步至暂存区,但是未提交到比本地git仓库。git add //文件提交到暂存区,已经被追踪的文件,也可以提交未追踪的文件。git mv //对文件进行重命名的操作,同时发生在本地和仓库中。
2024-10-19 21:03:35
923
原创 Linux——K8S平台的权限规划
K8s: POD的调度K8S:网络管理Java web程序如何部署:// springboot的web项目初始化目录,web应用开发可以直接使用压缩包提供的项目目录结构进行开发。Springboot: 一个类似python中的django、flask等的web开发框架,springboot 是一个java的web开发框架,阿里基于springboot设计了springcloud框架看,改良后的框架更加符合微服务的开发理念。
2024-10-19 21:02:11
1200
原创 Linux——动态卷的管理
如果还没有单节点集群,可以使用 Minikube 创建一个。在该节点的 Shell 中,创建一个 /mnt/data 目录:# 这里假定你的节点使用 "sudo" 来以超级用户角色执行命令 sudo mkdir /mnt/data 在 /mnt/data 目录中创建一个 index.html 文件:# 这里再次假定你的节点使用 "sudo" 来以超级用户角色执行命令 sudo sh -c "echo 'Hello from Kubernetes storage' > /mnt/data/index.
2024-10-19 20:58:11
1307
原创 Linux——K8S的pod的调度
K8S 平台中支持同时创建多个存储类,同时只能有一个存储类是默认的存储类。# 删除pvc 绑定的pv 保留,在条件匹配的情况下,可以被继续使用。从卷存储驱动角度:简单的说就是卷中的数据会被存储到那个地方。存储类 : 提供卷的存储引擎 卷的存储空间来自哪里?CSI // 容器的存储接口。绑定的PVC删除后,也会删除PV。)、Recycled(回收。)或 Deleted(删除。在重新使用之前,清空数据。Retained(保留。
2024-10-19 20:56:20
852
原创 Linux——Harbor: 容器镜像的存储
延申: 目前harbor 与K8S 分别部署到不同的主机中,或者换一句话说 harbor没有直接在k8s平台来运行,如果需要将harbor部署到K8S平台中,可以直接通过控制器部署,也可以结合专门的部署工具helm 来提高部署的自动化程度。Harbor不管是通过docker compose 还是通过 k8s 平台部署,都需要通过重点考虑存储的持久化问题,毕竟谁也不想平台断电或者重启后,原本保存的镜像不见了。请尝试更新一下目前pod的镜像,进行一次滚动更新。K8S 在那些情况下需要进行镜像的拉取?
2024-10-14 22:12:46
957
原创 Linux——Harbor(容器镜像 管理项目)
镜像拉取存在一定的问题,出现原因在于:使用官方公共仓库中的镜像。拉取的镜像,主要保存在一下仓库中:docker.io //Docker hub 最大的官方维护的公共镜像仓库,一般都会提供所有项目的最新版镜像,镜像经过签名认证,保证了镜像的完整性和一致性。 quay.io // redhat维护的一个社区版镜像仓库,主要提供红帽的openshift平台(红帽企业版K8S)的相关组件镜像,以及提供部分从docker hub 复制同步到的软件仓库项目,不保证镜像的安全性、可用性、完整性,以及是否为
2024-10-14 22:08:30
1090
原创 Linux——kubernetes 容器编排调度的平台
pod k8s中最小的调度单位 pod 是一种临时性的资源 pod 唯一的ID pod 状态的查看 pod 分配唯一不重复的网络数据 主机名 默认情况下与查看pod时展示的pod的名称一致,一般pod的完整主机名(fqdn)通过控制器的名称、控制器所属的名称空间、K8S 本地域 ip地址 基于网络插件的选择,可以配置pod同时支持IPV4和IPV6地址 IP地址由配置的网络插件负责,而每一个分配出去的IP会进行记录,为下一个pod分配地址时,优先从未分配的地址池
2024-10-08 19:18:58
529
原创 Linux——K8s pod调度
需要注意受限于实验环境,此时使用的IP依旧是内部IP而给外部IP ,尽管设置了。同事内部IP和外部IP一致也有可能导致网络错误,请避免这样配置。访问pod中的应用:在pod已经处于running状态之下,客户端的请求如何到达pod中的应用?就可以从指定的32394端口访问到服务了。设置节点externalIP。简单的K8S服务访问模型。
2024-09-28 15:18:08
888
1
原创 Linux——pod的调度
CronJob 的名称必须是一个合法的 DNS 子域值, 但这会对 Pod 的主机名产生意外的结果。如果应用程序不需要任何稳定的标识符或有序的部署、删除或扩缩, 则应该使用由一组无状态的副本控制器提供的工作负载来部署应用程序,比如 Deployment 或者 ReplicaSet 可能更适用于你的无状态应用部署需要。尽管 StatefulSet 中的单个 Pod 仍可能出现故障, 但持久的 Pod 标识符使得将现有卷与替换已失败 Pod 的新 Pod 相匹配变得更加容易。
2024-09-27 14:43:02
1149
原创 Linux——pod的控制器
pvc的命令规则为statefulset的名称-podtemplate 字段中规定的名称 - 编号,编号相等的pvc和pod 进行一一对应的挂载。创建了一个名为web的statefulset,设置副本数为2,启动两个pod。pod的名字是固定的 web-0/web-1,后续更新pod的镜像。新启动的pod也会继续使用相同的pod名称。因为能够调度pod的节点数由三个变成2。因为实际有三个节点是符合pod的调度要求,在三个节点上各启动一个pod。pod 在创建、删除、更新时,会根据编号实现pod的有序控制。
2024-09-27 14:39:34
695
原创 Linux——k8s、deployment、pod
结论:pod名称和持久卷的绑定都不会发生改变,因此可以实现数据和通信(无论pod如何变更,可以基于pod的名称进行通信)的固定。使用lnmp架构运行web应用 // 有状态服务 与应用代码,且数据库保存应用数据,因此数据一定需要进行持久化。使用nginx 作为反向代理 // 无状态服务 不涉及任何真实应用数据。
2024-09-27 14:26:42
1097
原创 Linux——k8s组件
kubernetes 使用1.31.1 版本搭建集群核心组件,选择flannel 网络插件为整体集群的运行提供网络通信功能。flannel 网络插件。
2024-09-27 14:20:53
1371
1
原创 Linux——K8s集群部署过程
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager // K8S 的控制器。registry.cn-hangzhou.aliyuncs.com/google_containers/coredns // k8S 集群内部的域名解析。registry.cn-hangzhou.aliyuncs.com/google_containers/etcd // 存储K8S集群的状态数据。
2024-09-20 18:46:45
1859
原创 Linux——k8s认识
计算资源隔离- 更方便进行高并发架构的维护和升级- 架构管理的灵活性更高,不再以单个节点的物理资源作为基础技术:- 硬件辅助虚拟化- 容器技术在企业部署方案中,很少以单节点实现虚拟化和容器技术,一般以集群状态来运行虚拟化技术或者容器。Kubernetes 是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、扩缩和管理。容器的存储管理和网络基础设施管理:以docker为例:存储:bind-mountvolume。
2024-09-20 18:15:11
1633
1
原创 Linux——keepalived负载均衡
分别在负载均衡器1 和 负载均衡器2 上配置vrrp实例,需要保证VRRP实例的配置绑定的网卡能够互相通信,还需要保证负载均衡器1 和 负载均衡器2 能够就优先级完成主备节点的选举,否则VIP无法分配,导致高可用实际不生效。负载均衡器1 上的haproxy 服务因为某些原因停止,上图中展示的用户请求处理的过程将因为意外而中断,用户请求不能正常响应,因此不能认为实现了高可用功能。在完成对于负载均衡器的高可用后,一般要通过某些方式对后端节点进行监控,避免因为后端服务器异常导致的可用性降低。
2024-09-20 16:02:28
1538
原创 Linux——高流量 高并发(访问场景) 高可用(架构要求)
加入缓存之后,因为缓存服务一般将数据缓存内存中,数据处理的速度更快,因为数据缓存在内存中,所以也不需要在文件系统中定位请求资源的路径,省去与文件系统和磁盘读写的时间。// 静态请求 交给 nginx或者 httpd 这种对于静态资源处理效率更高的服务,动态请求 交给php-fpm 服务来处理。使用云服务提供商 (阿里云 / 华为云等属于公有云服务商)提供的CDN 服务,将静态资源部署到CDN 中托管,也可以实现动静分离。redis提供数据库的读请求缓存。高并发通用设计逻辑: 定位单点,拆分问题。
2024-09-11 20:09:05
546
原创 Linux——分离部署,分化压力
每秒请求数/ 每秒事务数 // 流量衡量参数可以根据预估QPS 和 服务器的支持的最高QPS 对照计算 就可以得出 需要上架的服务器的最小数量PV 页面浏览数 UV 独立用户访问量 // 对于网站的总体访问量response time 响应时间 // 每个请求的响应时间。
2024-09-11 20:05:34
1006
原创 Linux——redis主从复制、集群模式、哨兵模式
故障转移: 在判定主节点客观宕机之后,哨兵进行故障转移,但是为了避免哨兵集群中各个实例在新的主节点选择上可能出现的不同选择,所以先在哨兵集群内选择(Raft算法)一个节点作为故障转移的仲裁者和执行者。选举出来的哨兵在剩余的从节点中选择一个从节点,成为新的主节点,并且将主节点的信息同步给剩下的从节点。客观宕机:如果某一个哨兵进程判断主节点主观宕机,那么在哨兵集群内发起仲裁,必须是超过指定数量的哨兵同意主节点宕机,才会开始故障转移的过程,此时认为主节点客观宕机。哨兵集群:哨兵1 哨兵2 哨兵3。
2024-09-10 19:53:13
1133
原创 Linux——redis主从复制、集群模式
redis的集群提供了一种将数据分散到不同节点进行保存的数据,在保存数据的节点中,又可以设置主从复制,所以保存数据的节点down之后,从节点可以自动接替主节点,无需手工干预。redis集群具有很高的抗风险能力,扩展节点的配置也非常的简单。redis集群模式之下,不同的redis实例不考虑数据同步,每一个集群内的工作节点上都保存不同的数据,通过hash一致性算法确定每一个键的保存位置。redis从节点完全复制主节点的数据,从而成为主节点的数据备份,因此可以在主节点出现故障的情况下,接替主节点功能。
2024-09-06 15:10:16
1070
原创 Linux——redis理论、安全模型
可以直接配置一个访问redis实例的密码 所有客户端对于redis服务端的访问都使用同一个密码,同时密码以明文传输 所以安全性不够,redis更推荐使用专门的acl指令 另外配置用户 密码 和权限。alice 用户账号未启用 没有授权任何键和命令的使用 但是可以访问所有的频道 redis不同版本用户的初始化设定不同。acl list 列出redis中所有的用户 密码 权限。确保用户在使用给定用户访问时,使用最小权限。redis 验证用户口令的命令。启用用户,并给用户设定对应的权限。
2024-09-04 15:25:43
1556
原创 Linux——redis
redis 一般可以作为a、 关系型数据的缓存加速服务部署 b、 作为应用数据库而redis所有的数据以键值对的形式存储,下面简单了解redis数据操作语句。redis-cli指令一般默认连接 127.0.0.1 的 6379 端口, 通过 -h 和 -p 选项可以连接其他ip和端口的redis服务端。
2024-09-02 14:30:11
1096
原创 Linux——中间件、数据库(理论)
3、为维护索引付出的代价大:为了提供丰富的查询能力,通常热点表都会有多个二级索引,一旦有了二级索引,数据的新增必然伴随着所有二级索引的新增,数据的更新也必然伴随着所有二级索引的更新,这不可避免地降低了关系型数据库的读写能力,且索引越多读写能力越差。5、全文搜索功能弱:例如 like “% 新年快乐 %”,只能搜索到 “新年快乐,爱大家”,无法搜索到 “新年真是太快乐了,爱大家” 这样的文本,即不具备分词能力,且 like 查询在 “% 新年快乐” 这样的搜索条件下,无法命中索引,将会导致查询效率大大降低。
2024-09-02 14:24:25
1469
原创 Linux——nginx 负载均衡
常规的web服务器一般提供对于静态资源的访问,比如说:图片、web样式网站提供的大部分交互功能都需要web编程语言的支持,而web服务对于程序的调用,不管编译型语言还是解释型语言,web服务同将对于应用程序的调用递交给通用网关接口(CGI)。CGI 服务完成对于程序的调用和运行,并将运行结构通过CGI接口返回给web服务,由web服务生成响应报文。此时在web服务的领域内,引入了LAMP等较为知名的web架构,使web页面提供应用服务成为一种可能,
2024-08-28 09:14:36
872
原创 Linux—— 配置ssl安全证书
1.配置自签证书,加固安全访问 生成CA根秘钥 生成CA证书生成服务器秘钥文件生成服务器证书签名申请文件 生成服务器证书 查看服务器证书文件三、实验过程整理修改配置文件nginx关于ssl 安全加固相关配置说明:Configuring HTTPS servershttps://nginx.org/en/docs/http/configuring_https_servers.html 3.ssl_prot
2024-08-28 09:10:47
6098
原创 Linux——ansible中handlers
3)每个task都可能有notify,对应的handlers里每个程序,也有顺序。1)安装软件包:mysql,httpd,mysql-server,php。1)在每个相关task末尾,加一段notify,指定一个要触发程序的名字。3)如果剧本,后续往里面额外添加任务,也可能造成整个剧本改task顺序。3.1)后续的任务,可能不是改原剧本,有可能是写新剧本。tasks的顺序,不影响handlers的顺序。1)不同类型的任务混在一起,都在tasks里。1)会有多个剧本,剧本之间,有运行的顺序。
2024-06-20 10:54:03
660
原创 Linux—— ansible循环
1.如果有大量的变量要定义,如果多个变量本身类型相同或类似再比如,同一个剧本,给主机同时安装多个软件包按照已有的用法,每个软件包都对应不同变量,还会涉及到改剧本2.现在可以用清单,以及playbook里的hosts指定主机、主机组但是,能不能再细分?以及进一步的判断?解决方法。
2024-06-20 10:39:26
957
原创 linux——ansible实验
5.1)使用dnf模块,确保web_pkg和fw_pkg指定的软件包被安装。5.3)在web_root指定的客户机目录,创建index.html文件。5.2)将cfg_src指定的文件,放到客户机的cfg_dest位置。但是,是生成一个文件,index.html主页文件,在指定的目录产生。facts.yml,查看客户机的所有facts,留着,回头有用。而且,之后,执行playbook的时候,可以使用交互式输入密码。要用vault的选项,使用了交互式提供密码,没使用密码文件。
2024-06-17 18:11:06
983
原创 Linux——ansible里的变量
本身,ansible就是致力于,用尽可能“通用”的剧本,干所有场合的工作……反过来,主机已有的信息,在ansible看来,是否也可以用类似的方法?Linux系统,各种信息,如果手动获取,要使用不同多种命令、工具。5.2)客户机自己的信息,也可以被管理机获取,在变成变量。用ansible操作主机,其中用变量和层次化的变量,管理信息。如果一组变量,给一组特定的主机指定,不论执行的是什么剧本。4.上面的方式,都是简单指定变量,也可以指定很多变量。但是,上面的方式,结构简单,变量也没有层次化管理。
2024-06-17 18:06:46
776
原创 Linux——ansible剧本
现在,可以写各种临时命令但如果,想把所有步骤,集合到一起,写到同一个文件里让ansible自动按顺序执行就必须要写“剧本”剧本里面,也可以写临时命令,但是剧本有规范的文本格式一个剧本里(playbook)1.可以写多个“剧集”,每一集是一个“play”2.每个play里指明,对哪些客户机操作,操作什么,顺序。
2024-06-14 10:57:40
608
1
原创 Linux——ansible的应用
要让ansible管理业务里的主机1.得先知道,有哪些主机用IP地址,用主机名2.知道了有哪些主机以后,精细、细分管理主机要用某些办法,分组管理在ansible里,要用一个东西:清单->inventory。
2024-06-12 19:23:19
1108
原创 Linux——自动化运维ansibe
定义:一款开源的自动化运维工具,使用简单易懂且好上手的语言,采用声明式语法编写自动化运维的相关任务,保证所有托管至ansible的节点呈现目标管理状态的工具。将运维人员从繁琐复杂且重复性的劳动中解放出来在目前的应用开发的趋势之下。,DEVOPS 就是是开发和运维人员的之间的交互逐渐增加,需要一款自动化工具,能够更好地链接开发和运维的工作。使用“基础设施既代码”概念,复用性和泛用性更强架构/ ansible 是如何实现远程节点的控制的?
2024-06-12 10:31:48
1387
原创 Linux——nginx部署
需要借助Apache软件的htpasswd工具。需要重启服务:nginx,php-fpm。www.redhat.com进行。接下来,把php的支持,放到H。这次的root目录,就是上面S。然后,需要配置php-fpm。额外补充(对于CentOS。基于加密网站的虚拟主机(中的nginx和php)需要MySQL数据库支持。打开配置文件并添加配置。建立主页文件并添加内容。的网页,本机自签名证书。
2024-06-06 12:09:04
1487
1
原创 Linux——PXE整体流程
1.1)我的实验里,新建了一个/usr/share/nginx/html/centos84目录。移动到/usr/share/nginx/html/centos84目录下,方便使用。inter.repo,传递给客户机的yum配置文件/etc/yum.repos.d/主要是确定,http的工作目录:/usr/share/nginx/html。1.3)nginx的工作目录,就是将来kickstart的内容获取的目录。2.1)IP地址,以及是否静态配置(网卡配置文件,和nmcli的连接)
2024-06-05 11:30:50
1462
原创 Linux——pxe不同主机安装不同软件、免密SSH登录
实验目的1.给servera,安装httpd,传递一个已经写好的配置文件2.给serverb,安装nginx,传递一个写好的配置文件3.方法:可以根据每个客户机自己的IP或主机名判断用shell脚本实现可以在PXE的post过程中,下发也可以在客户机完成首次重启后,服务器端统一执行。
2024-06-05 11:21:59
961
原创 Linux——pxe中ks脚本增强
1)DHCP服务器,为上面两个虚拟机指定固定IP地址比如:第一台服务器分配.101,第二台服务器分配.102地址默认租期2小小时2)修改ks脚本磁盘分区:不使用逻辑卷,使用普通分区(注意SATA硬盘是sda)参照ks脚本中part /boot的写法/boot分配1G空间swap分配2G空间/ 分配剩余所有空间创建用户:客户机自动创建用户dbuser,密码设置为redhat1233)预定义软件包不带图形界面的Server定义两台虚拟机分别有两个网卡一个net,一个仅主机。
2024-06-05 10:37:43
1130
原创 Linux——虚拟机环回地址
zhong环回适配器(Loopback Adapter)是一种虚拟,用于在计算机系统中模拟网络连接。它的作用是使计算机可以,而无需实际的物理。常用于以下几个方面:在Windows里添加“环回适配器”(虚拟网卡)在eNSP里,用Cloud桥接(Windows和eNSP里的设备)在设置里,搜“控制面板”这里能看到Windows里所有网卡(物理的、虚拟的、有线、无线……)图里已经有virtualbox的网卡,安装eNSP时候,顺道搞出来的。
2024-06-05 09:58:36
1880
原创 Linux——PXE_FTP_EL8
支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器 分配 IP 地址,再用 TFTP(trivial file transferprotocol)简单文件传 输协议下载启动软件包到本机内存中执行,由这个启动软件包完成客 户基本软件设置,从而引导预先安装在服务器中的终端操作系统。Kickstart 安装可以使用本地光盘、本地硬盘驱动器,或通过 NFS、FTP、HTTP 来执行。Kickstart 文件可以存放于单一的服务器上,在安装过程中被独立的机。
2024-06-05 08:54:24
975
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人