自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus监控系统介绍

Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus server 会定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉取数据,新拉取到的数据会持久化到存储设备当中。

2024-06-13 23:09:25 1087

原创 Kubernetes安全机制RBAC

Kubernetes 组件对 API Server 的访问:kubectl、kubelet、kube-proxyKubernetes 管理的 Pod 对 API Server 的访问:Pod(coredns,dashborad 也是以 Pod 形式运行)Kubernetes 集群内一些资源一般以其名称字符串来表示,这些字符串一般会在 API 的 URL 地址中出现;可以理解为,类似访问网址:在这里,pods 对应名字空间作用域的 Pod 资源,而 log 是 pods 的子资源;

2024-06-11 17:13:52 742

原创 Kubernetes外部服务管理Ingress介绍

对集群内部,它不断跟踪pod的变化,更新 endpoint 中对应 pod 的对象,提供了 ip 不断变化的 pod 的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对 pod 进行访问。Ingress 是 Kubernetes 中用于管理对集群内服务的外部访问的 API 对象。它允许您将 HTTP 和 HTTPS 路由流量到集群中的服务,通过定义规则,Ingress 可以将传入的请求路由到适当的服务。

2024-06-04 18:00:26 1239

原创 配置Kubernetes资源管理Secret与ConfigMap

在 K8s 中,Secret 是用于存储敏感信息的对象,如密码、token 令牌和 SSH 密钥。这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险;这些信息以加密形式存储,并且只能被授权的 Pod 访问。通过使用 Secret,可以更安全地管理应用程序所需的敏感数据。也就是说 K8s 解决了我们和 Docker 使用的一些弊端,比如:环境变量、存储问题都要去重新编辑 Dockerfile,而且密码还是明文的。

2024-06-03 15:46:54 1099

原创 Kubernetes集群Pod控制器

Pod 控制器是一种 K8s 对象,设计用于管理和维护 Pod 实例。它们不是直接操作 Pod,而是通过与 K8s API 交互来间接控制 Pod,从而保证即使面对节点故障、Pod 终止或其他意外情况,也能维持应用的高可用性和期望的部署配置。自动扩缩容根据预设策略自动增加或减少Pod副本的数量,以应对负载变化或确保服务的高可用性。自我修复当检测到Pod由于各种原因(如节点故障、容器崩溃)不再运行时,控制器会自动创建新的Pod副本以替换故障实例,保持预期的Pod数量和配置。滚动更新。

2024-05-30 21:44:10 1301 2

原创 Kubernetes集群存储卷Valume、PV和PVC介绍

是一种空目录卷,与 Pod 的生命周期绑定。当 Pod 被删除时,其中的数据也会被清除。简单地说:其作用就是做容器与容器之前的共享存储。当 Pod 被分配给节点时,首先创建 emptyDir 卷,并且只要该 Pod 在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以读取和写入 emptyDir 卷中的相同文件,尽管该卷可以挂载到每个容器中的相同或不同路径上。当出于任何原因从节点中删除 Pod 时,emptyDir 中的数据将被永久删除。

2024-05-30 13:57:03 883

原创 K8s集群中的Pod调度约束:污点、容忍与驱逐

节点亲和性让 Pod 倾向或强制部署在特定节点上,而 Taint 则是节点用来拒绝不兼容 Pod 的机制。每个节点可设多个 Taint,拒绝不容忍这些 Taint 的 Pod 接入。通过 kubectl taint 命令可以给 Node 添加污点限制,Node 被设置上污点之后就和 Pod 之间存在了一种相斥的关系,可以让 Node 拒绝 Pod 的调度执行,甚至将 Node 已经存在的 Pod 驱逐出去。污点的组成格式为:key=value:effect。

2024-05-29 15:21:05 1316

原创 K8s集群中的Pod调度约束亲和性与反亲和性

Pod 的生命周期是指从 Pod 被创建到最终被销毁的整个过程,涉及多个阶段和状态转换,以及可能执行的各种操作。Pod 生命周期/启动过程① 首先,由 pid 为1的 init 容器(pause容器)管理整个容器的初始化② 接着,init 容器串行启动③ 容器启动时执行 postStart 操作④ 随后启动存活探针和就绪探针⑤ 根据资源限制的 request 和 limit 启动应用容器⑥ 最后,在容器退出时执行 preStop 操作。

2024-05-28 18:55:03 1430

原创 Kubernetes中Pod容器的资源限制和探针配置

在 K8s 中,对 Pod 容器的资源限制主要围绕着两个关键参数:request 资源和 limit 资源,用于配置 CPU 和内存的使用情况;避免资源竞争和不必要的浪费,同时确保 Pod 在运行时具有足够的资源支持。为 Pod 和容器管理资源 | Kubernetes探针是由 kubelet 对容器执行的定期诊断。容器的探针是一种关键的机制,用于监测和管理容器的健康状态,确保容器在各种情况下都能正常运行。

2024-05-26 23:12:08 1012

原创 kubernetes集群pod理论介绍

pod 是 K8s 集群中最小的创建和运行单元,一个 pod 代表着集群中运行的一个进程,一个 pod 包含一个或多个容器。如:应用容器/业务容器(淘宝、京东、拼多多后台)。每个 pod 有一个根容器/父容器/基础容器/ pause 容器。在 K8s 中 pod 里的容器共享 network、uts、ipc、user、mount 六大命名空间。这意味着这些容器在同一个 Pod 内部具有相同的网络、主机名、进程间通信、用户和文件系统挂载等环境。

2024-05-24 18:13:50 1119

原创 认识K8s集群的声明式资源管理方法

通过使用 yaml 或 josn 文件对资源配置,然后再实现对资源的管理。适合于对资源的修改操作声明式资源管理方法依赖于资源配置清单文件对资源进行管理;资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到k8s集群里。

2024-05-22 22:38:25 1130

原创 了解K8s集群kubectl命令进行陈述式资源管理

在 Kubernetes 集群中,通过陈述式和声明式资源管理是确保应用程序高效运行的关键。认识这两种管理方法,能够更好地掌握 Kubernetes 集群的运维和管理。

2024-05-20 21:34:44 1502 1

原创 Kubeadm部署Kubernetes集群和Harbor私有仓库

enabled=1gpgcheck=0EOF# kubeadm:部署Kubernetes集群的工具,简化了集群的初始化过程# kubelet:运行在每个节点上,管理该节点上的Pod和容器,与Master节点通信,执行Master节点下发的任务# kubectl: 是K8s的命令行工具,用于与K8s集群进行交互,如创建、管理和监视K8s资源1. 初始化节点设备2. 所有节点安装docker容器,harbor建议安装旧版本docker容器。

2024-05-16 23:34:28 990

原创 Kubernets多master集群构建负载均衡

仪表板是基于 Web 的 Kubernetes 用户界面,用于部署、故障排除和管理容器化应用程序和集群资源。通过仪表板,您可以概述应用程序状态、创建/修改 Kubernetes 资源,执行滚动更新、重启 Pod 等操作,并获取资源状态和错误信息。

2024-05-16 13:27:53 1063

原创 Kubernetes的CNI网络插件介绍

Overlay Network 是一种网络虚拟化技术,用于在物理网络之上创建逻辑网络。它通过在现有网络二层或者三层基础设施上叠加一个虚拟网络(虚拟链路隧道)来实现不同主机之间的通信。目前 Overlay 主要采用 VXLAN,VXLAN 是一种覆盖网络技术,是 Flannel 的一种数据转发方式。下面介绍两款虚拟化技术插件(方案):Flannel、CalicoVXLAN 是一种常见的 Overlay Network 技术。

2024-05-15 16:19:55 1291

原创 二进制部署Kubernetes集群——单Master和Node组件

本文将介绍如何使用二进制文件手动搭建 Kubernetes v1.20 集群。通过这种方法,我们可以更好地理解 Kubernetes 的内部工作原理,并具备更大的灵活性和控制权。下面将逐步构建 Kubernetes 集群,并进一步了解其各个组件之间的交互和配置。

2024-05-15 16:02:13 797

原创 Kubernetes基础理论介绍

① 管理员使用 kubectl 命令进行身份认证,与集群通过 API server 通信;② API server 将管理员或其他组件的请求存储到 etcd 数据库中,作为集群状态的持久化存储;etcd 生成模板,通过 API server 联系 controll manager(控制器管理器);③ 控制器管理器根据 API server 通知,发送需求给 scheduler(资源调度器);④ 资源调度器根据控制器管理器的需求,将 Pod 调度到合适的节点上(预选和优选),并将调度记录写入etcd;

2024-05-12 21:09:26 1040

原创 编写Ansible角色实现分布式LNMP安装

本文将介绍如何使用 Ansible 编写角色,在分布式环境下完成 LNMP(Linux、Nginx、MySQL、PHP)的自动化(编译)安装和配置,并验证 PHP 与 MySQL 数据联通性,实现博客和论坛页面的展示。

2024-05-12 10:43:30 1230 2

原创 Ansible任务剧本Playbook之变量、模板、角色介绍

在 Ansible 中,inventory 主机清单是一个关键概念,用于定义 Ansible 将要管理的主机和主机组。主机清单可以包含主机的 IP 地址、主机名、主机组等信息,以便 Ansible 可以根据清单中的定义来执行任务。一般情况下,可以修改 /etc/ansible/hosts 文件内容,来对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机内。[webs]192.168.190.100:2222 # 冒号后定义远程连接端口,默认是ssh的22端口。

2024-05-08 18:59:59 1224

原创 Ansible自动化运维工具单模块介绍

有许多自动化工具可供选择,每个都有其自身的特点和适用场景。一些常见的自动化工具包括:① Puppet(已淘汰)Puppet 是一个用于自动化配置管理的工具,基于 C/S 架构,使用基于 Ruby 的 DSL(领域特定语言)来描述系统配置,并通过 http 协议代理客户端来管理节点。② Chef (已淘汰)Chef 是一个用于自动化基础架构配置的开源工具。使用基于 Ruby 的 DSL(领域特定语言)来描述系统配置,并通过客户端-服务器(C/S)架构来管理系统。③ SaltStack(市场占有率低)

2024-05-06 22:55:52 1376

原创 Docker-Harbor私有仓库部署与管理

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

2024-05-05 23:09:15 1304

原创 Docker-Compose编排LNMP并部署WordPress

随着云计算和容器化技术的快速发展,使用 Docker Compose 编排 LNMP 环境已经成为快速部署 Web 应用程序的一种流行方式。LNMP 环境由 Linux、Nginx、MySQL 和 PHP 组成,为运行 Web 应用提供了稳定的基础。本文将介绍如何通过 Docker Compose 编排 LNMP 环境,并利用该环境顺利完成 WordPress 的部署和配置。

2024-05-03 22:56:25 1282 2

原创 Docker部署nginx并启用https加密连接

在当今互联网时代,安全性成为越来越重要的议题。随着网络攻击日益猖獗,保护数据和通信的安全性变得至关重要。在这种背景下,对于在 Docker 中运行 Nginx 是否需要使用 HTTPS 这一问题,我们需要考虑到网络安全的重要性以及 HTTPS 协议所提供的加密和认证功能。接下来,让我们深入探讨为什么在 Docker 中运行 Nginx 时使用 HTTPS 是至关重要的。

2024-05-03 22:35:39 1298

原创 Docker-Consul容器服务更新与发现

① 服务注册:在Docker中运行的应用程序可以通过Consul客户端向Consul服务注册自己的信息,包括服务名称、IP地址、端口号等。这样,Consul就会维护一个服务目录,记录着所有可用的服务实例及其位置信息。② 服务发现:其他Docker容器或应用程序可以通过Consul客户端查询Consul服务注册中心,动态地发现和连接到需要的服务。Consul根据服务名称、标签、健康状态等条件来选择合适的服务实例,实现服务间的通信和协作。

2024-05-02 13:28:17 1235

原创 Docker-Compose单机多容器应用编排与管理

尽管 Dockerfile 是定义单个容器镜像所必需的工具,但它也存在一些缺点,特别是在多容器应用程序的情况下,如:编排过程复杂且难以维护、Dockerfile 并不直接支持容器间的依赖关系管理、Dockerfile 主要关注于单个容器的构建;Docker Compose 能够弥补这些缺点,通过一个简单的 YAML 文件,它提供了一种更高级的抽象,能够轻松管理多个相关联的容器,并定义它们之间的依赖关系,从而简化了多容器应用程序的编排和管理过程。

2024-04-29 22:58:17 1490 2

原创 Docker构建LNMP部署WordPress

创建了一个名为 mynetwork 的自定义 Docker 网络,子网为 172.19.0.0/16,并指定了桥接名称为 docker1。# 可以看到网络的子网是172.19.0.0/16。

2024-04-28 22:42:26 1568 2

原创 Docker数据管理与Dockerfile镜像创建

数据卷是 Docker 中用于持久化存储数据的一种机制,它可以在容器之间共享和重用数据。数据卷独立于容器的生命周期,即使容器被删除,数据卷中的数据仍然保留。数据卷可以用于存储应用程序数据、配置文件、日志等信息。数据卷是一个供容器使用的特殊目录,数据卷实际上并不直接存储在容器内部,而是存储在宿主机的文件系统上。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作。

2024-04-27 21:17:19 972 2

原创 Docker网络模式与cgroup资源控制

Docke r网络是指在 Docker 容器之间以及容器与外部世界之间进行通信和连接的网络设置。Docker 提供了多种网络模式和选项,以满足不同场景下的网络需求。通过合理选择和配置网络模式,可以实现容器之间的通信、与外部网络的连接以及网络安全等方面的管理。① Host:容器使用宿主机的网络直接公开服务。这意味着如果你在容器中运行一个 web 服务,那么它就直接绑定到主机的网络接口上,而不是通过 dockr 进行任何网络转发。

2024-04-25 16:26:58 1017 2

原创 Docker容器概念介绍与基本管理

基础设施即服务。提供基础的计算机资源,如虚拟机、存储和网络等,用户可以通过云服务提供商的平台管理这些基础设施。① 寄居架构本机(真实的操作系统)——> 虚拟化产品 ——> 虚拟化操作系统或软件② 源生架构拿一台服务器(裸金属服务器),直接装虚拟化产品Docker 是一个开源的应用容器引擎,是在 Linux 容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 是一种容器化技术,将应用及其依赖项打包成一个镜像包打包到一个容器中,在任何环境中运行应用程序;

2024-04-24 01:24:19 977 3

原创 zabbix自定义监控、自动发现和注册以及代理设置

案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 5 个,超过 5 个就发出报警信息点击左边菜单栏【配置】中的【模板】,点击【创建模板】【模板名称】设置成 Login User【可见的名称】设置成 Login User【群组】选择 Template【描述】可自定义点击 【添加】,此时在搜索框中输入 login 就可以看到 Login User 模板了。

2024-04-20 23:41:34 1499

原创 构建高效可靠的Zabbix监控系统

zabbix 是一个基于 web 界面的提供分布式系统监控以及网络监视功能的企业级的开源解决方案;保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位、解决问题。

2024-04-15 23:52:57 1272

原创 ZooKeeper分布式服务与Kafka消息队列+ELKF整合方案

Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。Kafka 即消息队列,简称 MQ。在高并发环境下,当同时处理大量请求访问服务器,往往请求会发生阻塞。如大量访问数据库,导致锁表引发雪崩效应;使用消息队列,可以异步处理请求:流量消峰、应用解耦从而缓解压力。当 Kafka 组合集群每秒可以处理几十万条数据请求,大大增加了抗高并发能力。

2024-04-13 22:59:00 2157 3

原创 ELK、ELKF企业级日志分析系统介绍

ELK 和 ElasticStack 实质上指的是同一个概念,ELK 平台是一套完整的日志集中处理方案。其拥有三个组件:ElasticSearch、Logstash 和 Kiabana 配合使用组成一个功能全面的数据平台。另外,当需要处理大量实时数据的场景,ELK 与 Kafka 的集成可以提供一个强大的实时数据收集、存储、分析和可视化解决方案。

2024-04-10 23:37:25 1310 4

原创 GlusterFS分布式文件系统

GlusterFS 是一个开源的分布式文件系统,是一个扩展存储容器,提高性能并且可以通过多个互联网络的存储节点进行数据冗余,以确保数据的可用性和一致性。由存储服务器、客户端以及NFS/Samba 存储网关(可选,根据需要选择使用)组成;是无元数服务器(是一种存储系统,保存数据的地方),通过分布式存储元数据信息,提高了系统的可靠性、性能和扩展性,适用于需要高度并行和可靠性的存储环境。

2024-04-09 22:51:09 1198

原创 rsync下行同步与结合inotify上行同步

rsync 是一个常用的文件同步工具,用于在不同的目录或不同的主机之间同步文件和目录。它可以在本地或通过网络进行文件传输,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩。

2024-04-08 15:58:29 1085

原创 PostgreSQL基本使用与数据备份

PostgreSQL 使用环境变量 PGDATA 指向的目录做为数据存放的目录。这个目录是在安装时指定的,所以在安装时需要指定一个合适的目录作为数据目录的根目录,而且,每一个 PG 数据库实例都需要有这样的一个目录。此数据目录的初始化是使用命令 initdb 来完成的。初始化完成后, PGDATA 数据目录下就会生成三个配置文件postgresql.conf:数据库实例的主配置文件,基本上所有的配置参数都在此文件中。

2024-04-07 19:46:03 2044

原创 Redis主从复制、哨兵模式和集群

主从复制是高可用 Redis 的基础,将一台 Redis 服务器的数据复制到其它的 Redis 服务器。前者 为主 master,后者为 slave,单向从主到从;主可以有多个从,从只能有一个主。主从切换需要人工干预,为了解决主从复制的缺点,在主从复制的基础上,哨兵引入了主节点的自动故障转移。

2024-04-03 20:24:16 1254

原创 Redis实现高可用持久化与性能管理

Redis 是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。

2024-04-02 22:22:41 1270

原创 非关系型数据库Redis部署与常用命令

Redis 是 nosql 非关系型数据库,是一款基于内存运行并支持持久化的服务程序,采用 key-values(键值对)存储;是单进程模型,即一台机器可同时启动多个 redis 进程(一般一台机器做2-3个进程),可以做分布式集群架构。

2024-04-02 16:50:51 1389

原创 MySQL连接查询补充与三表连查

在 MySQL 中进行三表连接查询是一种常见的数据库操作,用于检索多个表中相关数据的方法。三表连接允许我们同时连接三个表,通过指定连接条件来获取符合条件的数据。这种查询通常涉及使用 join 子句来连接表,常见的三种连接方式包括内连接、左连接和右连接。

2024-04-01 23:18:56 3485 1

空空如也

空空如也

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

TA关注的人

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