- 博客(104)
- 收藏
- 关注
原创 Jenkins
频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。什么是CD。
2024-12-12 17:26:34 590
原创 git命令基本操作
Git 是一个开源的分布式版本控制系统,旨在提供一个快速、灵活且分布式的版本控制系统,能够处理从小型个人项目到大型复杂企业项目的各种规模的开发工作。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, SVN 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。程序员在自己的电脑上编写代码,并通过 git 管理。
2024-12-09 14:46:12 802
原创 gitlab
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。b和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务GitLa器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。
2024-12-05 23:44:04 1246
原创 部署 Alertmanager 发送告警【钉钉实例】
Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如Email、钉钉或企业微信等。除了基本的告警通知能力外,
2024-12-05 16:14:52 868
原创 k8s集群中金丝雀发布 + 声明式资源管理yaml
通过缩进表示层级关系不能使用Tab进行缩进,只能使用空格缩进(一般缩进两个空格)字符后缩进一个空格,比如" : "、" , "等使用" --- "表示新的yaml文件的开头使用" # "表示注释此章内容有点赶,后期会修改。
2024-12-04 14:20:48 1061
原创 部署 HPA
HPA(Horizontal Pod Autoscaling)Pod 水平自动伸缩,Kubernetes 有一个 HPA 的资源,根据 CPU 利用率一个 Replication Controller、Deployment 或者Replica Set 中的。(1)HPA 基于 Master 上的 kube-controller-manager 服务启动参数 horizontal-pod-autoscaler-sync-period 定义的时长(默认为30秒),周期性的检测 Pod 的 CPU 使用率。
2024-12-04 14:03:14 625
原创 Prometheus PromQL
PromQL(Prometheus Query Language)是 Prometheus内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。Prometheus 基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一条时间序列指标名称代表着监控目标上某类可测量属性的基本特征标识(测量名称)标签则是这个基本特征上再次细分的多个可测量维度(属性)基于 PromQL 表达式,用户可以针对指定的特征及其细分的纬度进行过滤、聚合、统计等运算从而产生期望的计算结果。
2024-12-02 17:12:31 614
原创 配置资源管理
Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险。
2024-12-02 14:15:31 967
原创 k8s之安全机制
对集群中的资源(Pod,Deployment,Service)和非资源(元信息或者资源状态)均拥有完整的覆盖整个 RBAC 完全由几个 API 资源对象完成,同其它 API 资源对象一样,可以用 kubectl 或 API 进行操作可以在运行时进行调整,无需重启 API Server,而 ABAC 则需要重启 API ServerRBAC 的 API 资源对象说明。
2024-11-29 14:01:44 867
原创 k8s之Helm
Helm Chart 是 Helm 用来部署 Kubernetes 应用的包。一个 Chart 包含一系列的 Kubernetes 资源定义文件(YAML 格式),以及一个描述 Chart 的 Chart.yaml 文件和一个用于配置的 values.yaml 文件。自定义 Helm Chart 允许根据具体需求来创建和部署 Kubernetes 应用。charts 除了可以在 repo 中下载,还可以自己自定义,创建完成后通过 helm 部署到 k8s安装如上,查看列表。
2024-11-25 08:25:32 1399
原创 k8s之Traefik
Ingres,它充当了集群外部访问集群内部服务的入口,相当于service的serviceingress就是ingress控制器,用yaml文件或者配置一个资源对象,通过ingtoss资源对象来告诉在哪一个控制器上,用户请求的这个域名。然后对接哪一个serviceIngress Controller是Ingress的实现,用于处理进入集群的流量,并根据Ingress规则将流量路由到相应的Service。核心目的就是把数据搞到service上。
2024-11-19 22:47:36 1101
原创 k8s集群对外服务之Ingress
ingress的作用就是可以通过不同的域名或url路径与指定的service进行绑定,实现k8s集群外部访问内部pod。可同时将多个HTTP服务暴露到外网,七层反向代理可以简单理解为service的service,它其实就是一组基于域名和URL路径,把用户的请求转发到一个或多个service的规则ingress是k8s集群的请求入口,可以理解为对多个service的再次抽象通常说的ingress一般包括ingress资源对象及ingress-controller两部分组成。
2024-11-19 13:06:28 1188
原创 k8s的pv和pvc
PV 全称叫做 Persistent Volume,持久化存储卷。它是用来描述或者说用来定义一个存储卷的,这个通常都是由运维工程师来定义。PVC 的全称是 Persistent Volume Claim,是持久化存储的请求。它是用来描述希望使用什么样的或者说是满足什么条件的 PV 存储。PVC 的使用逻辑:在 Pod 中定义一个存储卷(该存储卷类型为 PVC),定义的时候直接指定大小,PVC 必须与对应的 PV 建立关系,PVC 会根据配置的定义去 PV 申请,而 PV 是由存储空间创建出来的。
2024-11-10 22:55:06 1044
原创 K8S群集调度二
节点亲和性,是Pod的一种属性(偏好或硬性要求),它使Pod被吸引到一类特定的节点Taint 则相反,它使节点能够排斥一类特定的 Pod每个节点上都可以应用一个或多个 Taint ,这表示对于那些不能容忍这些 Taint 的 Pod,是不会被该节点接受的。如果将 toleration 应用于 Pod 上,则表示这些 Pod 可以(但不一定)被调度到具有匹配 taint 的节点上。Taint 和 Toleration 相互配合,可以用来避免 Pod 被分配到不合适的节点上。
2024-11-06 16:21:58 959
原创 K8S群集调度
Kubernetes 是通过,每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。在 Kubernetes 中,所有部署的信息都会写到 etcd 中保存。
2024-11-05 22:37:16 594
原创 k8s集群中pod的容器资源限制和三种探针
当定义 Pod 时可以地为每个容器所需要的。最常见的可设定资源是CPU和内存大小,以及其他类型的资源。当为 Pod 中的容器指定了 request 资源时,调度器就使用该信息来决定将 Pod 调度到哪个节点上。当还为容器指定了 limit 资源时,kubelet 就会确保运行的容器。kubelet 还会为容器, 供该容器使用。如果 Pod 运行所在的节点具有足够的可用资源,容器可以使用超出所设置的 request 资源量。不过,容器不可以使用超出所设置的 limit 资源量。
2024-11-04 23:52:16 730
原创 【kubernetes】关于云原生之k8s集群的pod理论详解
Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是。
2024-11-01 16:37:08 1049
原创 【kubernetes】探索k8s集群中kubectl的陈述式资源管理
k8s中文文档:http://docs.kubernetes.org.cn/683.html。
2024-10-30 19:50:25 875
原创 Kubeadm搭建k8s
kubectl需经由API server认证及授权后方能执行相应的管理操作,kubeadm 部署的集群为其生成了一个具有管理员权限的认证配置文件 /etc/kubernetes/admin.conf,它可由 kubectl 通过默认的 “$HOME/.kube/config” 的路径进行加载。上传 harbor-offline-installer-v1.2.2.tgz 和 docker-compose 文件到 /opt 目录。所有节点上传flannel镜像 flannel.tar 到 /opt 目录,
2024-10-29 19:27:11 1380
原创 二进制搭建 Kubernetes v1.20
k8s集群masterk8s集群master01k8s集群master02k8s集群nodek8s集群node01k8s集群node02k8s集群etcdetcd集群节点01etcdetcd集群节点02etcdetcd集群节点03etcd。
2024-10-24 21:02:01 629
原创 Kubernetes 概述
https://kubernetes.io 英文https://kubernetes.io/zh-cn/docs 中文。
2024-10-23 20:56:18 963
原创 Ansible 的脚本 --- playbook 剧本
相当于变量vars: #定义变量- groupname: mysql #格式为 key: valuetasks:group: name={{groupname}} system=yes gid=306 #使用 {{key}} 引用变量的值copy: content="{{ansible_default_ipv4}}" dest=/opt/vars.txt #在setup模块中可以获取facts变量信息---vars:tasks:group:gid: 317user:uid: 389。
2024-10-21 20:48:26 764
原创 Ansible自动化运维管理工具
Ansible是一个基于Python开发的配置管理和应用部署工具,是一款优秀的自动化运维管理工具。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。Ansible是基于模块工作的。
2024-10-17 20:51:50 1046
原创 Docker--harbor私有仓库部署与管理
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2024-10-17 08:46:39 1018
原创 Docker consul注册中心
服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。如果需要调用后端服务A-N,就需要配置N个服务的网络位置配置很麻烦后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。后端服务A-N可以把当前自己的网络位置注册到服务发现模块。
2024-10-15 22:05:13 1199
原创 Docker-compose
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,工程(project)服务(service)容器(container)Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
2024-10-15 13:41:29 863
原创 Docker 的数据管理
(Data Volumes)和1.数据卷数据卷是一个供容器使用的特殊目录,同时数据卷是宿主机中的一个特殊目录(共享)在容器中,可,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作。宿主机目录/var/www 挂载到容器中的/data1。注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。-v 选项可以在容器内创建数据卷。
2024-10-10 16:52:28 1298
原创 Docker 基本管理
Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的设计宗旨:Build,Ship and Run Any App,Anywhere,即通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。
2024-10-08 16:40:20 1021
原创 zabbix基本概念与组件
Zabbix 是一个功能强大的开源监控解决方案,广泛应用于IT基础设施的监控和管理中。它提供了全面的监控能力,能够实时跟踪并报告网络、服务器、虚拟机、应用程序、服务、数据库、网站以及云服务等各种IT组件的健康状况和性能指标。Zabbix 基于存储的数据提供报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。
2024-09-25 07:13:52 1173
原创 Kafka
Kafka 是最初由 Linkedin 公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于 Zookeeper 协调的。
2024-09-23 22:44:01 957
原创 GFS 分布式文件系统 GlusterFS
GlusterFS 是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba 存储网关(可选,根据需要选择使用)组成。包括其去中心化(无元数据服务器)的特性,这有助于提升整个系统的性能、可靠性和稳定性。GlusterFS 显著的特点之一是其去中心化的架构,这意味着它不依赖于中心化的元数据服务器来管理文件的元信息(如文件名、位置、权限等)。
2024-09-16 22:30:35 1083
原创 Rsync远程同步
官方网站:https://rsync.samba.org/rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
2024-09-14 08:19:40 849
原创 (三)NoSQL之 【Redis群集三种模式】
主从切换技术的方法是:当服务器宕机后,需要手动一台从机切换为主机,这需要人工干预,不仅费时费力而且还会造成一段时间内服务不可用。为了解决主从复制的缺点,就有了哨兵机制。哨兵的核心功能:在主从复制的基础上,哨兵引入了主节点的自动故障转移。
2024-09-12 16:03:25 730
原创 (二)NoSQL之 【Redis高可用】
在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和 Cluster集群,下面分别说明它们的作用,以及解决了什么样的问题。
2024-09-11 22:02:38 1128
原创 (一)NoSQL之 【Redis配置】
Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;
2024-09-10 15:47:18 835
详细指南:二进制方法构建 Kubernetes v1.20集群
2024-10-29
rsync.zip的Inotify
2024-09-14
源码编译安装LAMP的软件包
2024-08-06
Linux服务器升级openssh9.8最新版全过程.pdf
2024-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人