自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s 中的HPA

当需要使用自定义指标(如来自Prometheus的指标)时,自定义指标适配器允许HPA使用这些外部指标。它通过Custom Metrics API将外部指标转换为Kubernetes可以理解的格式。

2024-06-13 17:45:05 875

原创 Prometheus 监控系统

是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和査询接口。它的核心组件.

2024-06-12 21:54:35 322

原创 k8s中的helm

Helm 安装 charts 到 Kubernetes 集群中,每次安装都会创建一个新的 release。你可以在 Helm 的 chart repositories 中寻找新的 chart。

2024-06-06 14:02:44 410

原创 k8s安全机制

Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介, 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。

2024-06-05 18:18:25 841

原创 k8s对外服务之ingress,ingress-controller

ingress-controller才是负责具体转发的组件,通过各种方式将它暴露在集群入口,外部对集群的请求流量会先到 ingress-controller, 而ingress对象是用来告诉ingress-controller该如何转发请求,比如哪些域名、哪些URL要转发到哪些service等等。

2024-06-03 23:22:57 921

原创 Kubernetes----配置资源管理Secrets与ConfigMaps

在Kubernetes(k8s)中,Secrets是一种用于存储敏感信息的对象,如密码、OAuth令牌、SSH密钥等。这些信息在部署应用程序时可能需要,但又不希望直接硬编码在应用程序的代码中或者公开暴露。通过使用Secrets,我们可以将敏感信息与应用程序代码解耦,从而提高安全性。#创建用户名文件#创建密码文件ConfigMap 是 Kubernetes 中的一种资源对象,用于将非敏感的配置数据注入 Pod 或其他 Kubernetes 对象。

2024-06-03 10:00:16 374

原创 pod控制器

Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。

2024-05-30 22:50:32 536 1

原创 kubernetes-PV与PVC、存储卷

当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中,放了方便我们的使用和管理,Kubernetes提出了PV和PVC的概念,这样Kubernetes集群的管理人员就可以将注意力集中到Kubernetes集群中来,而无需操心后端的存储设备。pv : 相当于磁盘分区pvc: 相当于磁盘请求PVC的使用逻辑:在pod中定义一个存储卷(该存储卷类型为PVC),定义的时候直接指定大小,pvc必须与对应的pv建立关系,

2024-05-29 18:03:19 640

原创 k8s集群调度序章

设置了污点的 Node 将根据 taint 的 effect:NoSchedule、PreferNoSchedule、NoExecute 和 Pod 之间产生互斥的关系,Pod 将在一定程度上不会被调度到 Node 上。但我们可以在 Pod 上设置容忍(Tolerations),意思是设置了容忍的 Pod 将可以容忍污点的存在,可以被调度到存在污点的 Node 上。

2024-05-29 16:35:49 697

原创 Kubernetes中的List-Watch调度约束机制详解与容器生命周期

List-Watch是Kubernetes API Server提供的一种资源监控机制。它允许客户端通过API Server获取资源对象的列表(List),并通过建立长连接(Watch)来实时监控资源对象的变化。当资源对象发生创建、更新或删除等操作时,API Server会向订阅了相关资源的客户端发送事件通知,实现资源的实时同步和响应。

2024-05-27 22:38:43 870

原创 k8s pod控制器详解

Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。

2024-05-27 22:02:52 374

原创 pod进阶—资源限制以及探针检查

当定义Pod时可以选择性的为每个容器设定所需要的资源数量。最常见的可设定资源是CPU和内存大小,以及其他类型的资源。

2024-05-25 21:48:52 463

原创 pod详解

Pod是k8s中的最小的资源管理组件,pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。k8s中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提供存储的PersistentVolume存储资源对象等。

2024-05-24 22:35:58 847

原创 声明式管理方式以及yaml文件的创建

YAML仍然是一种标记语言,主要强调这种语言是以数据为中心,而不是以标记为中心,而像XML语言就使用了大量的标记。YAML可读性高,易于理解,用来表达数据序列化的格式。它的语法和其他高级语言类型,还可以简单表达属组,散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构,各种配置文件。yaml配置文件的后缀为.yml如果是业务场景,一般首选使用 apps/v1(apps/v1 从 v1.9 版本开始提供 API)。

2024-05-22 22:24:32 804

原创 kuberbetes的kubectl命令工具

kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径kubectl 的命令大全k8s中文文档:http://docs.kubernetes.org.cn/683.html4.对资源的增、删、查操作比较方便,但对改的操作就不容易了。

2024-05-21 07:23:33 654

原创 k8s使用kubeadm安装

/所有节点,关闭防火墙规则,关闭selinux,关闭swap交换swapoff -a #交换分区必须要关闭sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭swap分区,&符号在sed命令中代表上次匹配的结果#加载 ip_vs 模块do echo $i;done//修改主机名//所有节点修改hosts文件//调整内核参数。

2024-05-17 08:45:08 871

原创 k8s二进制安装

下载地址:https://github.com/kubernetes/kubernetes/blob/release-1.20/CHANGELOG/CHANGELOG-1.20.md。------------------------------ 部署 Master 组件 ------------------------------#上传 kubernetes-server-linux-amd64.tar.gz 到 /opt/k8s/ 目录中,解压 kubernetes 压缩包。

2024-05-13 19:45:53 975

原创 k8s概述及核心组件

docker compose 单机编排工具 有企业在用docker swarm 能够在多台主机中构建一个docker集群 基本淘汰集群化管理处理工具 容器微服务封装 dockerfile 编写成镜像 然后进行发布 dockerfile 可以写成shell脚本(函数做调用)做版本迭代(完成半自动化)mesos+marathon 2019年淘汰后开始使用k8s开源式CNCF与云原生计算基金会2015年12月云要素。

2024-05-09 18:17:13 492

原创 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变量信息。

2024-05-07 22:27:27 947

原创 自动化运维工具ansible

Ansible 与 Saltstack 均是基于 Python 语言开发,Ansible 只需要在一台普通的服务器上运行即可,不需要在客户端服务器上安装客户端。因为 Ansible 是基于 SSH 远程管理,而Linux服务器大都离不开SSH,所以Ansible不需要为配置工作添加额外的支持。Ansible 安装使用非常简单,而且基于上千个插件和模块实现各种软件、平台、版本的管理,支持虚拟容器多层级的部署。

2024-05-06 18:40:12 834

原创 docker Harbor私有仓库部署管理

Harbor是VWware 公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务。Harbor以Docker 公司开源的Registry 为基础,提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LDAI们成以心宙计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。Harbor的每个组件都是以Docker 容器的形式构建的,使用。

2024-05-05 17:49:19 1389

原创 docker-compose编排集成工具,consul服务更新与发现

compose是一个用于定义及允许多个Docker容器的工具,主要是通过一个YAML文件进行服务配置使用Docker Compose不再需要使用Shell脚本来启动容器Docker Compose非常适合组合使用多个容器进行开发的场景docker-compose 是现在单机上完成容器集群编排的管理 单机容器编排docker-compose.yml compose模板文件工程(项目) project lnmp服务 nginx MySQL PHP。

2024-04-29 18:27:16 967 2

原创 docker镜像的三种创建方法及dockerfile案例

如果在docker run时指定了命令或者 镜像中有ENTRYPOINT指令则CMD程序不会执行。docker RUN优先级>ENTRYPOINT指令>CMD指令。

2024-04-28 08:25:20 2719

原创 docker数据管理(数据卷与数据卷容器)

数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。

2024-04-25 21:25:25 569

原创 docker中的资源控制

docker 使用cgrqup控制资源,K8S 里面也有limit(使用上限)docker通过cgroup来控制容器使用的资源配额,包括CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。Cgroup 是 Control group 的简写,是 Linux 内核提供的一种限制所使用物理资源的机制,包括 CPU、内存 和 IO 这三大方面,基本覆盖了常见的资源配额和使用量控制cgroup是一种资源控制手段,也是容器隔离的6个名称空间的一种实现手段。

2024-04-24 20:05:53 775 2

原创 docker网络和模式

先自定义网络,再使用指定IP运行docker自定义端口8081创建并运行容器testnginx进入容器并开启nginxnginxweb测试。

2024-04-24 17:13:42 808 2

原创 docker使用命令总结(镜像容器)

查询 docker 版本和信息#搜索镜像(可以自己制作镜像上传本地或官网仓库 dockerfile)docker search <镜像名>#下载镜像docker pull <镜像名>#查看镜像列表#查看镜像详细信息docker inspect <镜像 ID>#给镜像打标签docker tag <镜像名>:<原标签> <镜像名>:<新标签>#删除镜像docker rmi <镜像名>docker rmi <镜像标签>

2024-04-23 22:17:42 959

原创 docker 虚拟化与docker的概念

虚拟化:将应用程序和系统内核资源进行解耦,以操作系统级别进行隔离,目的是提高资源利用率虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

2024-04-22 21:41:55 794 1

原创 zabbix监控服务

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果和网站的健康状态。

2024-04-15 19:14:16 1163

原创 zookeeper分布式应用程序协调服务+消息中间件kafka分布式数据处理平台

Zookeeper。是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语集,提供Java和C的接口。ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在 $zookeeper_home\src\recipes。

2024-04-12 17:21:35 1118

原创 ELK企业级日志分析系统

是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 REsTful web 接口,让用户可以通过浏览器与Elasticsearch 调信。Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。Elasticsearch核心概念。

2024-04-11 07:02:55 870

原创 GFS分布式 文件系统

开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba存储网关组成,无原数据服务器具有扩展性和高性能,高可用性有(冗余、容灾),全局统一命名空间,弹性卷管理,基于标准协议,通过多和互联网的存储节点进行冗余,以确保数据的可用性和一致性。

2024-04-08 13:41:42 809

原创 rsync远程同步备份工具

一款快速的增量备份工具,远程同步,支持本地复制(RSYNC 做本地复制的话首先就爱那个源文件和目标位置的文件对比,找出差异部分根据目的位置的文件与源文件差异的部分,进行一致性的同步)cp是将我们源文件完整复制 到 指定路径下全备。或者与其他SSH、rsync主机同步。

2024-04-07 13:38:48 188

原创 Redis集群三种模式

Redis有三种模式,分别是主从复制、哨兵模式、cluster主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;

2024-04-06 21:57:53 1438

原创 Redis高可用

●命令追加(append):将Redis的写命令追加到缓冲区aof_buf;●文件写入(write)和文件同步(sync):根据不同的同步策略将aof_buf中的内容同步到硬盘;●文件重写(rewrite):定期重写AOF文件,达到压缩的目的。

2024-04-02 16:32:02 617

原创 mysql数据库的故障排查与优化

问题分析:以上这种情况一般都是数据库未启动或者数据库端口被防火墙拦截导致。mysql服务没有打开。解决方法:启动数据库或者防火墙开放数据库监听端口。检查mysql相关服务是否打开了问题分析:密码不正确或者没有权限访问。解决方法:修改 my.cnf 主配置文件,在[mysqld]下添加 skip-grant-tables,重启数据库。最后修改密码命令如下。再删除刚刚添加的 skip-grant-tables 参数,重启数据库,使用新密码即可登录。重新授权,命令如下。

2024-04-01 16:37:05 913

原创 关系型数据库与非关系型数据库、Redis数据库

关系型数据库:实例–>数据库–>表(table)–>记录行(row)、数据字段(column)——》存储数据非关系型数据库:实例–>数据库–>集合(collection) -->键值对(key-value)非关系型数据库不需要手动建数据库和集合(表)。Redis是一个开源的、使用C语言编写的NoSQL 数据库。【非关系型数据库】Redis基于内存运行并支持持久化(支持存储在磁盘),采用**key-value (键值对)**的存储形式,是目前分布式架构中不可或缺的一环。

2024-04-01 14:26:21 1489

原创 MHA高可用集群部署

①从宕机崩溃的master 保存二进制日志事件(binlog events)② 识别含有最新的更新 slave 日志③ 应用差异的中继日志(relay log)到其他的slave④ 应用从master保存的二进制日志事件⑤ 提升一个 salve 为新的master⑥ 使其他的slave连接行的master 进行复制。MHA :为了解决的了是故障切换、数据尽可能的保存,以及所有节点日志的一致性。

2024-03-29 15:05:19 1015

原创 mysql主从复制、读写分离

当 slave 从库宕机后,假如 relay-log 损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的 relay-log,并且重新从 master 上获取日志,这样就保证了relay-log 的完整性。读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。#配置同步,注意 master_log_file 和 master_log_pos 的值要与Master查询的一致,这里的是例子,每个人的都不一样。

2024-03-28 21:48:01 883

原创 mysql存储过程

MySQL 相关知识都是针对一个表或几个表的单条 SQL 语句,使用这样的SQL 语句虽然可以完成用户的需求,但在实际的数据库应用中,有些数据库操作可能会非常复杂,可能会需要多条 SQL 语句一起去处理才能够完成,这时候就可以使用存储过程, 轻松而高效的去完成这个需求,有点类似shell脚本里的函数。

2024-03-27 21:40:05 989

空空如也

空空如也

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

TA关注的人

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