- 博客(70)
- 收藏
- 关注
原创 从零开始的云计算生活——第六十天,志在千里,使用Jenkins部署K8S
下面把Jenkins地址填上,再点击保存按钮就完成了。再将.kube文件考到Jenkins账户里。去k8s主机将.kube内容拷贝过来。此时由于没有关联,使用命令会报错。使用Jenkins账户登录并使用。最后将token填写道“凭据”中。回来发现命令已经可以使用了。
2025-09-09 18:46:27
82
原创 从零开始的云计算生活——第六十一天,前程似锦,部署gitlab
密码使用cat /etc/gitlab/initial_root_password 去查看。第83行,修改时区(Asia/Shanghai)下拉找到localization,选择中文并刷新。在左上的头像,点开选择preferences。修改1764行的端口。
2025-09-08 20:21:11
253
原创 从零开始的云计算生活——第五十九天,基于Jenkins自动打包并部署Tomcat环境
本文介绍了传统和现代的网站部署流程,重点讲解了使用Tomcat部署项目的完整步骤。传统部署流程包括代码提交、备份、测试等环节,而现代主流方法则通过Jenkins实现自动化部署。文章详细列出了常用的Git命令和配置方法,并说明了如何配置Jenkins主机环境。最后,给出了在Tomcat上部署Maven项目的具体操作步骤,包括构建后执行的SSH命令和注意事项。整个部署过程涵盖了从代码管理到自动化构建、测试和发布的完整DevOps流程。
2025-09-05 09:14:21
899
原创 从零开始的云计算生活——第五十八天,全力以赴,Jenkins部署
本文介绍了Jenkins环境配置及PHP项目部署过程。首先安装必要插件(PublishOverSSH、mavenintegration等),配置邮件通知和并发执行。然后通过Ansible插件部署PHP环境,分步骤安装Nginx、PHP、MySQL并设置自启。接着测试PHP环境,验证数据库连接,最终部署Discuz论坛。整个过程实现了从环境搭建到项目部署的自动化流程,通过Jenkins的构建触发机制,可一键完成完整部署。测试结果显示所有组件正常运行,成功访问PHP信息页和Discuz安装界面。
2025-09-04 10:33:52
988
原创 从零开始的云计算生活——第五十七天,蓄势待发,DevOps模块
本文介绍了DevOps的核心概念和发展背景。随着敏捷开发需求增加,DevOps应运而生,通过开发运维一体化提升软件交付效率。文章详细阐述了DevOps生命周期、三大原则(流动、反馈、持续学习)、优势(自动化流程、快速反馈)以及典型开发流程(Plan-Code-Build-Test-Deploy-Operate-Monitor-Integrate)。重点讲解了持续集成/持续交付/持续部署(CI/CD)概念,并介绍了Jenkins这一关键工具的功能特点。最后提供了Jenkins的安装部署指南。DevOps通过优
2025-09-02 20:14:13
1071
原创 从零开始的云计算生活——第五十六天,临深履薄,kubernetes模块之etcd备份恢复和集群升级指南
本文总结了Kubernetes集群管理的核心内容,重点介绍了etcd数据库的备份恢复操作和集群升级流程。在etcd部分,详细讲解了etcdctl命令行工具的使用方法,包括集群管理、数据操作、租约管理、快照备份等核心功能。在集群升级部分,系统阐述了master节点和worker节点的升级步骤,包括组件更新、节点排空、版本验证等关键操作。文章强调升级过程需要谨慎执行,建议提前备份数据并在测试环境验证升级方案,确保生产环境升级的平稳性和可靠性。这些内容为Kubernetes集群的日常运维提供了实用的技术指导。
2025-09-02 11:23:42
753
原创 从零开始的云计算生活——第五十五天,黑云压城,kubernetes模块之网络组件和CoreDNS组件
本文深入探讨了Kubernetes网络组件与DNS解析机制。重点分析了Flannel、Calico和WeaveNet三大网络插件的实现原理、适用场景及优缺点:Flannel简单易用适合小型集群,Calico提供高级网络策略适用于生产环境,WeaveNet则擅长高可用场景。详细阐述了Calico的BGP和IPIP两种工作模式,以及CoreDNS的解析规则和配置方法。文章还介绍了Pod间通信的DNS策略和解析流程,包括通过Service名称和Hostname/Subdomain两种方式的内部域名解析机制。最后提
2025-09-01 20:27:26
930
原创 从零开始的云计算生活——第五十四天,悬梁刺股,kubernetes模块之组件与网络
摘要: Kubernetes(K8s)是云原生部署的核心平台,源自Google的Borg系统,通过容器化简化微服务开发与部署,提供自愈、调度、监控等功能。其架构分为Master(控制节点)和Worker(工作节点),核心组件包括API Server、Controller Manager、Scheduler和etcd存储。Node节点运行kubelet、kube-proxy等组件管理Pod生命周期及网络通信。 K8s网络模型要求所有Pod直接互通,需依赖CNI插件(如Calico、Flannel)实现跨节点通
2025-08-29 11:31:19
1594
原创 从零开始的云计算生活——第五十三天,发愤图强,kubernetes模块之Prometheus和发布
文章摘要:本文首先介绍了Kubernetes中的Prometheus监控系统,包括其特点(多维数据模型、Pull采集方式等)、与Zabbix的对比,以及生态组件(Server、Alertmanager等)。随后详细讲解了Prometheus的监控体系设计思路、工作原理和局限性。第二部分探讨了两种发布策略:蓝绿发布(双环境全量切换)和金丝雀发布(渐进式流量迁移),并对比了它们的适用场景和实现方法。全文为Kubernetes环境下的监控与发布提供了实用指导。
2025-08-28 09:59:07
1247
原创 从零开始的云计算生活——第五十二天,力争上游,kubernetes模块之EFK日志收集
本文详细介绍了在Kubernetes集群中部署EFK(Elasticsearch-Fluentd-Kibana)日志收集系统的全过程。主要内容包括:1)通过NFS创建共享存储;2)构建Elasticsearch集群,包括StatefulSet配置和健康检查;3)部署Kibana并进行汉化配置;4)安装Fluentd日志收集组件,配置RBAC权限及DaemonSet。文章提供了完整的YAML配置示例,并分享了部署过程中的常见问题及解决方法,最终实现了集群日志的收集、存储和可视化展示功能。
2025-08-27 09:40:21
510
原创 从零开始的云计算生活——第五十一天,孜孜不倦,kubernetes模块之Pod驱逐,HPA水平扩容和Helm
文章摘要:本文深入探讨了Kubernetes核心功能的三个模块。首先介绍了Pod驱逐机制,包括软/硬驱逐阈值设置、QoS类别优先级以及实战案例解析(如内存不足导致的驱逐问题)。其次详细讲解了HPA水平扩缩容原理,涵盖metrics类型、算法模型、速率控制策略及冷却机制,并通过压力测试案例演示自动扩缩容过程。最后解析了Helm包管理工具,包括其架构、Chart目录结构、部署流程以及与Kubernetes的集成方式,强调其简化应用部署的重要价值。全文通过理论结合实践的方式,系统性地阐述了Kubernetes自动
2025-08-26 18:34:13
791
原创 从零开始的云计算生活——第五十天,夜以继日,kubernetes模块之特殊容器,调度管理和优先级
本文介绍了Kubernetes中的特殊容器、调度管理和优先级相关内容。主要包括: 特殊容器:Init容器用于初始化工作,必须顺序执行完成才能启动主容器;临时容器用于调试故障排查,不具备资源保证。 调度管理:通过节点选择器、Pod亲和性/反亲和性实现Pod定向调度;使用污点和容忍机制控制Pod部署节点。 优先级机制:Pod优先级决定调度和抢占顺序;节点优先级通过静态设置、QoS等级等方式影响调度决策。 这些功能共同构成了Kubernetes灵活的资源调度体系,能够满足不同场景下的部署需求,保障关键应用的高可用
2025-08-25 20:45:37
795
原创 从零开始的云计算生活——第四十九天,长路漫漫,kubernetes模块之持久化存储
Kubernetes持久化存储是确保数据在Pod生命周期外仍可保留的关键技术。文章详细介绍了Kubernetes中的多种存储方案:包括临时存储emptyDir、节点级存储hostPath、网络共享存储NFS,以及更高级的PersistentVolume(PV)和PersistentVolumeClaim(PVC)机制。重点讲解了StorageClass实现PV动态供给的原理,通过NFS Provisioner示例演示了自动化PV创建过程。不同存储方案适用于不同场景:emptyDir适合临时数据,hostPa
2025-08-22 11:45:55
1295
原创 从零开始的云计算生活——第四十八天,自强不息,kubernetes模块之Job,NetworkPolicy与RBAC认证中心
本文主要介绍了Kubernetes中Job/CronJob和NetworkPolicy两个重要模块。Job用于创建一次性任务,可指定重试次数、并行度等参数;CronJob则用于周期性任务调度。NetworkPolicy用于控制Pod间的网络通信,通过定义ingress/egress规则实现精细化的网络访问控制。此外还介绍了RBAC认证授权机制,包括Role/ClusterRole的定义和RoleBinding/ClusterRoleBinding的绑定方式,以及如何通过kubeconfig文件管理用户访问权
2025-08-21 19:57:17
555
原创 从零开始的云计算生活——第四十七天,细水长流,kubernetes模块之ingress资源对象
本文介绍了Kubernetes中Ingress的概念及其应用。Ingress通过定义请求转发规则解决了NodePort和LoadBalancer方式的缺点(端口占用和资源浪费问题),其核心由Ingress资源对象和Ingress控制器组成。文章详细演示了在NodePort和LoadBalancer两种模式下配置Ingress环境的步骤,包括创建Service/Pod、设置代理规则等关键操作。特别说明了LoadBalancer模式下需启用严格ARP模式避免冲突,并介绍了Metallb工具的作用。最终通过域名访
2025-08-20 10:45:33
1220
原创 从零开始的云计算生活——第四十六天,铁杵成针,kubernetes模块之Configmap资源与Secret资源对象
本文介绍了Kubernetes中的Configmap和Secret两大核心资源。Configmap用于存储非机密配置数据,支持命令行、文件等多种创建方式,可通过环境变量或卷挂载到Pod中,实现配置与镜像解耦。Secret专门处理敏感数据,包括Opaque、TLS等类型,可通过环境变量或卷挂载。重点讲解了两种资源的使用场景、创建方法及实践案例,如Configmap热更新限制、Secret的base64编码特性等,帮助实现安全的配置管理和敏感信息处理。
2025-08-19 19:50:39
1156
原创 从零开始的云计算生活——第四十五天,精卫填海,kubernetes模块之Statefulset控制器与Service资源对象
本文深入探讨了Kubernetes中的Service资源和StatefulSet控制器。Service作为Pod的聚合抽象,提供了三种代理模式(userspace、iptables、ipvs)和多种类型(ClusterIP、Headless、ExternalName、LoadBalancer),解决了Pod IP不固定的访问问题。StatefulSet用于管理有状态应用,通过Headless Service为每个Pod提供唯一DNS标识,配合存储卷模板实现有序部署和持久化存储。文章详细说明了资源清单编写方法
2025-08-18 21:25:00
901
原创 从零开始的云计算生活——第四十四天,绳锯木断,kubernetes模块之Deployment与daemonset
本文系统介绍了Kubernetes中的Deployment和DaemonSet两种重要控制器。Deployment提供了声明式管理Pod和ReplicaSet的方法,支持滚动升级、回滚、扩缩容等操作,详细讲解了其YAML配置参数及企业应用案例。DaemonSet则确保每个节点运行一个Pod副本,适合日志收集、监控等场景。文章对比了两者的区别,并提供了DaemonSet的资源清单编写技巧和使用案例。通过学习可以掌握这两种控制器的核心功能及配置方法,为Kubernetes应用部署提供可靠支持。
2025-08-18 15:55:11
561
原创 从零开始的云计算生活——第四十三天,激流勇进,kubernetes模块之Pod资源对象
Pod是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器;这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod 中的容器总是并置(colocated)的并且一同调度,在共享的上下文中运行。Pod 所建模的是特定于应用的 “逻辑主机”,其中包含一个或多个应用容器, 这些容器相对紧密地耦合在一起。在非云环境中,在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。
2025-08-14 19:24:20
757
原创 从零开始的云计算生活——第四十二天,持之以恒,kubernetes模块之kubectl管理工具
Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。命名空间namespace是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间,例如,可以为test、devlopment、production、deployment环境分别创建各自的命名空间。本节内容介绍了有关kubectl命令的使用方法和命令介绍,初步掌握了命令空间的使用,后续会继续补充新内容。
2025-08-13 10:41:27
1027
原创 从零开始的云计算生活——项目实战容器化
脚本启动所有组件,Filebeat配置发送日志到Logstash。:Alpine基础镜像 + rsync配置。设置MySQL/Redis/Nginx模板。Zabbix添加所有容器IP监控。php.ini示例(保存在。
2025-08-11 21:05:17
608
原创 从零开始的云计算生活——第四十一天,勇攀高峰,Kubernetes模块之单Master集群部署
本节内容初步介绍了部署单master集群的步骤,为之后的操作奠定环境基础,在部署过程中出现了一些问题导致无法启动,最后排查原因主要是版本问题,由于新版本和旧版本并不兼容,从3.26的包换成3.29版本的包之后,就迎刃而解了。
2025-08-11 21:03:13
1221
原创 从零开始的云计算生活——第四十天,乘风破浪,docker私有仓库
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,Harbor主要提供Dcoker Registry管理UI,提供的功能包括:基于角色访问的控制权限管理(RBAC)、AD/LDAP集成、日志审核、管理界面、自我注册、镜像复制和中文支持等。Harbor的目标是帮助用户迅速搭建一个企业级的Docker registry服务。它以Docker公司开源的registry为基础,额外提供了如下功能:基于角色的访问控制(Role Based Access Control)
2025-08-08 09:43:56
918
原创 从零开始的云计算生活——第三十九天,百折不挠,docker模块(2)
Dockfile文件是镜像生成的一种方式。Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义的镜像。Dockerfile文件中的每一个命令都会创建镜像的一层。本节大体讲解了有关dockerfile的写法,以及一个部署lnmp平台进入discuz论坛的案例供大家更好理解。
2025-08-07 11:03:46
736
原创 从零开始的云计算生活——第三十八天,避坑落井,Docker容器模块
Docker,翻译过来就是码头工人Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。Docker是dotCloud公司开源的一个基于LXC的高级容器引擎,源码托管在Github上,基于go语言并且遵从Apache2.0协议开源。GitHub地址。
2025-08-06 11:25:04
1199
原创 从零开始的云计算生活——项目实战
分别部署Discuz(基于PHP)和线上商城应用(基于java),业务应用的数据存储在nfs服务器中。再进入WEB-INF中的classes,修改jdbc.properties文件,将里面的ip指向117的数据库。8.整套项目最终汇写成Ansible部署的Plavbook脚本,采用role角色方式实现自动化部署。5.部署ELK日志监控系统,收集所有服务器的日志信息。2.代理层可以通过HAproxy基于ACL实现不同的域名访问到不同的应用上。7.部署Rsync备份系统,使得nfs服务的数据能够实时备份。
2025-08-04 19:36:38
1294
1
原创 从零开始的云计算生活——第三十七天,跬步千里,ansible之playbook
playbook是ansible用于配置,部署和管理托管主机剧本,通过playbook的详细描述,执行其中一系列tasks,可以让远程主机达到预期状态,也可以说,playbook字面意思是剧本,现实中由演员按剧本表演,在ansible中由计算机进行安装,部署应用,提供对外服务,以及组织计算机处理各种各样的事情。ansible使用playbook来管理自动化task,playbook是yaml格式的文件,其基本内容可以认为是多条ansible的ad-hoc的语句组成。
2025-07-28 20:02:09
930
原创 从零开始的云计算生活——第三十六天,山雨欲来,Ansible入门
ansible是新出现的自动化运维工具,基于python开发,集合了很多的运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于paramiko开发的,并且基于模块化工作,它本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架,ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。
2025-07-26 14:09:01
1575
原创 从零开始的云计算生活——番外6,使用zabbix对中间件监控
将配置文件直接复制到zabbix目录下进入配置文件,测试命令可行性确认都可行之后,重启zabbix_agent服务,在模板里,将之前的取消,选择新的模板然后去模板处查看使用说明[client]
2025-07-25 09:58:47
1281
原创 从零开始的云计算生活——第三十五天,举步维艰,zabbix监控(二)
kubernetes.pod.discovery:用于发现Kubernetes集群中的Pods,包括Pod名称、命名空间、状态、IP地址等,可对Pods的资源使用和容器运行状态进行监控。docker.container.discovery:自动发现主机上运行的Docker容器,包括容器名称、ID、状态等信息,可用于监控容器资源使用情况和内部应用性能。aws.ec2.discovery:自动发现亚马逊AWS EC2实例的相关信息,如实例ID、实例类型、状态、IP地址等,可用于监控EC2实例的性能指标。
2025-07-25 09:52:01
1286
原创 从零开始的云计算生活——第三十四天,否极泰来,Zabbix监控
zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
2025-07-23 11:31:14
939
原创 从零开始的云计算生活——番外5,使用ELK实现对应用日志的监控
修改完成后启动logstash,此时再次查看kibana发现多出test上的日志文件。修改/etc/rsyslog.conf,指向dhcpd.log(日志文件)经过全部配置后,logstash上的pipline.conf全部内容如下。创建文件 /etc/rsyslog.d/haproxy.conf。ssh的日志文件路径为/var/log/secure。配置rsyslog.log文件,为nfs增加日志路径。在/etc/rsyslog.conf内加入。登录查看kibana,生成日志文件。
2025-07-20 17:05:14
1926
1
原创 从零开始的云计算生活——第三十三天,关山阻隔,ELK日志分析
是开源的分布式搜索分析引擎,基于 Apache Lucene 构建,专为处理海量数据设计。实时数据分析(毫秒级响应)全文检索(支持复杂相关性评分)结构化/非结构化数据处理水平扩展性(支持 PB 级数据)核心定位:解决传统数据库在全文检索复杂聚合实时分析场景下的性能瓶颈Logstash是一个开源的数据收集引擎,它具有强大的数据处理能力。主要功能是从多种数据源获取数据,对数据进行转换和过滤,然后将其输出到目标存储或分析系统。jdbc插件用于从数据库中读取数据。
2025-07-17 10:01:36
1312
原创 从零开始的云计算生活——番外4,使用 Keepalived 实现 MySQL 高可用
使用 Keepalived 实现 MySQL 高可用(HA)的核心是通过 虚拟 IP(VIP)漂移 在主节点故障时自动切换流量到备用节点,结合 MySQL 主从复制保证数据一致性。
2025-07-16 11:12:28
1176
原创 从零开始的云计算生活——番外3,LVS+KeepAlived+Nginx高可用实现方案
在大型网站中一般服务端会做集群,同时利用负载均衡器做负载均衡。这样有利于将大量的请求分散到各个服务器上,提升网站的响应速度。当然为了解决单点故障的问题,还会做热备份方案。这里演示利用LVS做负载均衡器,同时利用Keepalived保证其高可用,基于LVS的DR模式构建Nginx集群。
2025-07-16 09:17:16
1359
原创 从零开始的云计算生活——第三十一天,滴水穿石,Keepalived双机热备
Keepalived是一个基于VRRP协议(虚拟冗余路由协议)来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息(心跳检测,heartbeat)给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
2025-07-15 19:25:42
808
原创 从零开始的云计算生活——第三十二天,四面楚歌,HAProxy负载均衡
本节内容量较小,且内容不难,更多的是去熟练之前的学习,在此基础上,这些就很简单了,只需要简单改两个配置即可达到目的。
2025-07-15 16:23:27
1402
原创 从零开始的云计算生活——第三十天,步步为营,LVS负载均衡集群
集群是一组相互独立的、通过高速计算机网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。计算机集群简称集群是一种计算机系统, 它通过一组松散集成的计算机软件/硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。
2025-07-14 10:43:02
1202
原创 从零开始的云计算生活——第二十九天,焚膏继晷,Redis模块
本文全面介绍Redis数据库及其高可用集群部署。首先对比了关系型与非关系型数据库的特点,重点阐述Redis作为高性能键值数据库的优势,包括持久化、原子性操作及丰富数据类型支持。随后详细讲解Redis主从复制原理与部署,Sentinel哨兵机制实现故障转移,以及Redis Cluster集群的数据分片与自动容错机制。文章还深入分析了RDB和AOF两种持久化方式的优缺点及配置方法,并通过案例演示了从单机到集群的完整部署流程。最后总结了Redis在分布式系统中的高可用解决方案,为构建稳定可靠的缓存系统提供实践指导
2025-07-11 17:37:22
533
原创 从零开始的云计算生活——第二十八天,继往开来,NFS文件存储
存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。存储系统核心架构数据模型适用场景性能特点可靠性机制主要优缺点Ceph去中心化,基于RADOS对象存储统一存储(块/对象/文件)云计算、混合云、大规模非结构化数据高吞吐、低延迟(CRUSH算法优化数据分布)多副本/纠删码 + CRUSH故障域隔离优点:强一致性、线性扩展、无单点故障缺点:部署复杂,硬件要求高中心化(NameServer管理元数据)文件存储(小文件优化)
2025-07-09 23:49:33
1281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人