自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux常用命令】tcpdump使用讲解

tcpdump 用简单的语言概括就是dump the traffic on a network,是linux环境下抓包工具,可以将网络中传输的数据包的“包头”全部捕获过来进程分析,其支持网络层、特定的传输协议、数据发送和接收的主机、网卡和端口的过滤,并提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息。也可以对对应网络接口流量进行抓取或者过滤抓取并打印输出到屏幕,也可以保存到指定文件。指定的文件可以用wireshark来打开查看。方便我们确定网络问题。

2024-08-25 15:16:55 171

原创 【Linux常用命令】strace命令

strace命令介绍strace 常用来跟踪进程执行时的系统调用和所接收的信号。在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。

2024-08-25 14:41:39 495

原创 【k8s】利用Kubeadm搭建k8s1.29.x版本+containerd

这里写一个用kubeadm搭建k8s的1.29.x版本,依此来把当前文章变成后续 版本的通用部署k8s文章,容器运行时有好几个 containerd、CRI-O、Docker Engine(使用 cri-dockerd),这里选择containerdcontainerd安装参考手册containerd 调用链更短,组件更少,更稳定,支持OCI标准,占用节点资源更少。建议选择 containerd。以下情况,请选择 docker 作为运行时组件:如需使用 docker in docker。

2024-05-04 16:03:37 2806 3

原创 【主从恢复】利用xtrabackup备份MySQL主库恢复从库

记录一下自己用xtrabackup恢复从库的经过。

2024-04-12 14:39:48 372

原创 【网络】数据在同网段和跨网段通信流程

当NO要和N1通信时,假如N0知道N1的IP但却不知道它的MAC地址,那NO就会发送一个ARP的广播请求(里面源IP是NO 目标IP是N1 源MAC是N0 目标MAC是12个F)给同一广播域中的所有成员,当交换机SW0从自己的1接口上收到这个广播包,然后它会读取这个帧的源MAC地址和目标MAC地址,由于交换机SW0刚启动加电时,它的MAC表为空的。当这个数据包到达R0时,路由器R0会查看目标IP的是否是自己,由于目标不是自己,所以,会查看自己的路由表,找出到达N2网段的路由;

2024-03-11 17:00:02 991

原创 【MySQL系列】常规运维操作

记录 MySQL 在日常运维中可能会使用到的命令、Sql语句。

2023-09-02 16:57:34 829

原创 【Linux 日常运维】find 查找文件并清空文件内容

日常运维操作少不了清理日志这一步骤, 但不建议直接rm操作, 一个是怕删错,二是如果程序在引用该文件,贸然进行删除会导致文件句柄并未得到释放,会占用额外的存储空间,所以建议用find查找出来进行滞空。

2023-06-06 10:26:41 1014

原创 【docker】在Linux centos上安装指定版本的docker-ce

根据需要选择合适的版本。

2023-04-30 11:37:23 518

原创 【k8s】第三阶段实战演练(二十一)

今天有两个实战项目。首先是 WordPress,把后端的存储服务 MariaDB 改造成了 StatefulSet,挂载了 NFS 网盘,这样就实现了一个功能比较完善的网站,达到了基本可用的程度。接着我们在 Kubernetes 里安装了 Dashboard,主要部署在名字空间“kubernetes-dashboard”。Dashboard 自身的安装很简单,但我们又为它在前面搭建了一个反向代理,配上了安全证书,进一步实践了 Ingress 的用法。

2023-04-15 18:00:39 393 1

原创 【k8s】网络插件(二十)

在【k8s】利用Kubeadm搭建多节点的Kubernetes集群(七),我们为 Kubernetes 安装了一个网络插件 Flannel。都与网络相关,但也只是浅尝辄止,并没有太多深究。Flannel 到底是如何工作的呢?它为什么能够让 Kubernetes 集群正常通信呢?还有没有其他网络插件呢?今天我们就来聊一下这个话题,讲讲 Kubernetes 的网络接口标准 CNI,以及 Calico、Cilium 等性能更好的网络插件。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-04-15 15:52:53 1432

原创 【k8s】使用Metrics Server和Prometheus(十九)

把 Pod 和集群管好用好还缺少一个很重要的方面——集群的可观测性。也就是说,我们希望给集群也安装上检查探针,观察到集群的资源利用率和其他指标,让集群的整体运行状况对我们透明可见,这样才能更准确更方便地做好集群的运维工作。但是观测集群是不能用探针和Prometheus,以及基于它们的水平自动伸缩对象。提示:以下是本篇文章正文内容,下面案例可供参考Metrics Server 是一个 Kubernetes 插件,能够收集系统的核心资源指标,相关的命令是 kubectl top。

2023-04-15 11:49:28 1943

原创 【k8s】利用namespace分隔系统资源(十八)

Kubernetes 的名字空间并不是一个实体对象,只是一个逻辑上的概念。它可以把集群切分成一个个彼此独立的区域,然后我们把对象放到这些区域里,就实现了类似容器技术里namespace的隔离效果,应用只能在自己的名字空间里分配资源和运行,不会干扰到其他名字空间里的应用。Kubernetes 的 Master/Node 架构已经能很好地管理集群,为什么还要引入名字空间这个东西呢?它的实际意义是什么呢?我觉得,这恰恰是Kubernetes面对大规模集群、海量节点时的一种现实考虑。

2023-04-15 10:04:54 789

原创 【k8s】Resources/探针-使pod稳定运行(十七)

作为 Kubernetes 里的核心概念和原子调度单位,Pod 的主要职责是管理容器,以逻辑主机、容器集合、进程组的形式来代表应用,它的重要性是不言而喻的。看看在 Kubernetes 里配置 Pod 的两种方法:资源配额Resources、检查探 针Probe,它们能够给 Pod 添加各种运行保障,让应用运行得更健康。Resources和Probe。Resources就是为容器加上资源限制,而 Probe 就是主动健康检查,让 Kubernetes 实时地监控应用的运行状态。

2023-04-12 21:14:22 1167

原创 【k8s】Deployment滚动更新(十六)

上篇笔记我们学习了管理有状态应用的对象 StatefulSet,再加上管理无状态应用的 Deployment 和 DaemonSet,我们就能在 Kubernetes 里部署任意形式的应用了。只是把应用发布到集群里是远远不够的,要让应用稳定可靠地运行,还需要有持续的运维工作。在【k8s】Deployment让应用永不宕机(八)里,我们学过 Deployment 的应用伸缩功能就是一种常见的运维操作,在 Kubernetes 里,使用命令。

2023-04-11 21:45:19 1005

原创 【k8s】StatefulSet管理有状态的应用(十五)

先从 PersistentVolume 谈起,它为 Kubernetes 带来了持久化存储的功能,能够让应用把数据存放在本地或者远程的磁盘上。有了持久化存储,应用就可以把一些运行时的关键数据落盘,相当于有了一份保险,如果 Pod 发生意外崩溃,也只不过像是按下了暂停键,等重启后挂载 Volume,再加载原数据就能够满血复活,恢复之前的状态继续运行。这里有一个关键词——状态,应用保存的数据,实际上就是它某个时刻的运行状态。运行状态信息就很重要了,如果因为重启而丢失了状态是绝对无法接受的,这样的应用就是。

2023-04-10 20:56:03 441

原创 【k8s】PersistentVolume 使用网络共享存储-NFS(十四)

要想让存储卷真正能被 Pod 任意挂载,我们需要变更存储的方式,不能限定在本地磁盘,而是要改成网络存储,这样 Pod 无论在哪里运行,只要知道 IP 地址或者域名,就可以通过网络通信访问存储设备。网络存储是一个非常热门的应用领域,有很多知名的产品,比如还专门定义了规范,不过这些存储类型的安装、使用都比较复杂,在实验环境里部署难度比较高。所以我们以为例学习如何在 Kubernetes 里使用网络存储,以及静态存储卷和动态存储卷的概念。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-04-09 21:23:05 944 1

原创 【k8s】PersistentVolume解决数据持久化问题(十三)

PersistentVolume 简称为 PV,是 Kubernetes 对存储设备的抽象,由系统管理员维护,需要描述清楚存储设备的类型、访问模式、容量等信息。PersistentVolumeClaim 简称为 PVC,代表 Pod 向系统申请存储资源,它声明对存储的要求,Kubernetes 会查找最合适的 PV 然后绑定。StorageClass 抽象特定类型的存储系统,归类分组 PV 对象,用来简化 PV/PVC 的绑定过程。

2023-04-09 20:14:52 906 1

原创 【k8s】二阶段实战演练(十二)

这个网站离真正实用还差得比较远,但框架已经很完善了,可以在这个基础上添加其他功能,比如创建证书 Secret、让 Ingress 支持 HTTPS 等等。另外,对于数据库 MariaDB 来说,虽然 Deployment 在发生故障时能够及时重启 Pod,新 Pod 却不会从旧 Pod 继承数据,之前网站的数据会彻底消失,这个后果是完全不可接受的。所以后面会继续学习持久化存储对象 PersistentVolume,以及有状态的 StatefulSet 等对象。

2023-04-09 18:39:27 375

原创 【k8s】Ingress 集群进出流量总管(十一)

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-04-09 17:51:25 605

原创 【k8s】Service微服务架构的应对之道(十)

在云原生时代,微服务无疑是应用的主流形态。Service,它是集群内部的负载均衡机制,用来解决服务发现的关键问题。在Kubernetes Service 文档中Service被定义为将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。提示:以下是本篇文章正文内容,下面案例可供参考Pod 的生命周期很短暂,会不停地创建销毁,所以就需要用 Service 来实现负载均衡,它由 Kubernetes 分配固定的 IP 地址,能够屏蔽后端的 Pod 变化。

2023-04-09 16:41:02 365

原创 【k8s】DaemonSet 守护进程(九)

DaemonSet 的目标是为集群里的每个节点部署唯一的 Pod,常用于监控、日志等业务。DaemonSet 的 YAML 描述与 Deployment 非常接近,只是没有 replicas 字段。污点和容忍度是与 DaemonSet 相关的两个重要概念,分别从属于 Node 和 Pod,共同决定了 Pod 的调度策略。静态 Pod 也可以实现和 DaemonSet 同样的效果,但它不受 Kubernetes 控制,必须在节点上纯手动部署,应当慎用。

2023-04-09 15:38:24 251

原创 【k8s】Deployment让应用永不宕机(八)

Pod 只能管理容器,不能管理自身,所以就出现了 Deployment,由它来管理 Pod。Deployment 里有三个关键字段,其中的 template 和 Job 一样,定义了要运行的 Pod 模板。replicas 字段定义了 Pod 的“期望数量”,Kubernetes 会自动维护 Pod 数量到正常水平。selector 字段定义了基于 labels 筛选 Pod 的规则,它必须与 template 里 Pod 的 labels 一致。

2023-04-09 14:43:27 510

原创 【k8s】利用Kubeadm搭建多节点的Kubernetes集群(七)

本系列会继续深入研究 Kubernetes 的其他 API 对象,也就是那些在 Docker 中不存在的但对云计算、集群管理至关重要的概念。这就需要一个比minikube更真实的Kubernetes环境,它应该是一个多节点的Kubernetes集群,这样更贴近现实中的生产系统,能够让我们尽快地拥有实际的集群使用经验。所以我们改用 kubeadm 搭建一个 Kubernetes 集群,这里是kubeadm 文档。Kubernetes 由很多组件构成(也可以访问Kubernetes 官方文档 - 组件。

2023-04-09 12:46:35 666

原创 【k8s】第一阶段实战演练(六)

容器技术开启了云原生的大潮,但成熟的容器技术,到生产环境的应用部署的时候,却显得“步履维艰”。来表述对象的状态,不涉及具体的操作细节,这样 Kubernetes 就能够依靠存储在 etcd 里集群的状态信息,不断地“调控”对象,直至实际状态与期望状态相同,这个过程就是 Kubernetes 的自动化运维管理。点击任意一个 Pod 的名字,就会进入管理界面,可以看到 Pod 的详细信息,而右上角有 4 个很重要的功能,分别可以查看日志、进入 Pod 内部、编辑 Pod 和删除 Pod,相当于执行。

2023-04-09 11:13:08 353

原创 【k8s】 ConfigMap/Secret 管理应用配置(五)

一类是明文配置,也就是不保密,可以任意查询修改,比如服务端口、运行参数、文件路径等。另一类则是机密配置,由于涉及敏感信息需要保密,不能随便查看,比如密码、密钥、证书等。这两类配置信息本质上都是字符串,只是由于安全性的原因,在存放和使用方面有些差异,所以 Kubernetes 也就定义了两个 API 对象,ConfigMap用来保存明文配置,Secret用来保存秘密配置。ConfigMap 记录了一些 Key-Value 格式的字符串数据,描述字段是“data”,不是“spec”。

2023-04-08 22:13:59 290

原创 【k8s】Kubernetes基于Pod的设计理念Job/CronJob(四)

Pod 是 Kubernetes 的最小调度单元,但为了保持它的独立性,不应该向它添加多余的功能。Kubernetes 为离线业务提供了 Job 和 CronJob 两种 API 对象,分别处理“临时任务”和“定时任务”。Job 的关键字段是 spec.template,里面定义了用来运行业务的 Pod 模板,其他的重要字段有 completions、parallelism 等。

2023-04-08 21:31:45 296

原创 【k8s】Kubernetes 中的核心概念 Pod(三)

现实中经常会有多个进程密切协作才能完成任务的应用,而仅使用容器很难描述这种关系,所以就出现了 Pod,它“打包”一个或多个容器,保证里面的进程能够被整体调度。Pod 是 Kubernetes 管理应用的最小单位,其他的所有概念都是从 Pod 衍生出来的Pod 也应该使用 YAML“声明式”描述,关键字段是“spec.containers”,列出名字、镜像、端口等要素,定义内部的容器运行状态。

2023-04-08 20:39:37 239

原创 【k8s】使用 YAML 描述 Kubernetes API 对象(二)

Kubernetes采用YAML作为工作语言是它有别与其他系统的一大特色,声明式的语言能够更准确更清晰地描述系统状态,避免引入繁琐的操作步骤扰乱系统,与 Kubernetes 高度自动化的内部结构相得益彰,而且纯文本形式的 YAML 也很容易版本化,适合 CI/CD。YAML是 JSON 的超集,支持整数、浮点数、布尔、字符串、数组和对象等数据类型。也就是说,任何合法的 JSON 文档也都是YAML文档。接下来我们就要通过 YAML 文件配置 Kubernetes。

2023-04-08 19:40:42 523

原创 【k8s】探究Kubernetes工作机制的奥秘(一)

Kubernetes 的内部架构和工作机制,了解它能够傲视群雄的秘密所在。提示:以下是本篇文章正文内容,下面案例可供参考Kubernetes 能够在集群级别管理应用和服务器,可以认为是一种集群操作系统。它使用“控制面 / 数据面”的基本架构,Master 节点实现管理控制功能,Worker 节点运行具体业务。Kubernetes 由很多模块组成,可分为核心的组件和选配的插件两类。

2023-04-08 18:54:29 458

原创 【k8s】搭建小巧完备的Kubernetes环境(minikube)

Kubernetes 就是一个生产级别的容器编排平台和集群管理系统,不仅能够创建、调度容器,还能够监控、管理服务器,它凝聚了 Google 等大公司和开源社区的集体智慧,从而让中小型公司也可以具备轻松运维海量计算节点——也就是“云计算”的能力。

2023-03-20 21:34:14 2889

原创 【Linux】Docker入门

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

2023-03-12 21:16:55 1765 3

原创 【Linux】批量下载依赖包的方法

在很多时候我们对服务软件的安装都是在内网环境操作,而安装服务又需要依赖包,所以这时候需要提前下好依赖包,copy进内网环境这里以nginx为例。

2023-03-11 20:08:07 1833

原创 【Linux】Nginx 证书生成及配置(四)

【Linux】Nginx 证书生成及配置(四)

2023-03-11 16:19:56 441

原创 【Linux】Nginx 正向代理配置文件(三)

Nginx 正向代理配置文件(三)

2023-03-11 15:46:37 379 2

原创 Linux 正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

2023-02-19 19:31:27 651

原创 Linux-三剑客之awk

在Linux中难免会对文本进行处理,那有什么软件可以对文本快速处理呢,当然是三剑客之一的AWK,AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。

2023-02-18 20:34:48 695

原创 【Linux】Nginx 安装部署(二)

Nginx官网:https://nginx.org/en/download.html。step 2: 配置模块(以下是最常见的,根据需要用–with添加模块)以上情况是正常编译,成功是不会出现。Nginx Linux基本操作指令。以上就已经正常安装上nginx了。字眼并且目录下生成了。

2022-11-20 17:45:57 4937 4

原创 【Linux】Nginx 简介 (一)

Nginx是一款使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,能够支持高达 50,000 个并发连接数的响应。

2022-11-20 14:54:32 1968

原创 Vue 项目运行时,报错 Error: Cannot find module ‘xxx:path‘

Error: Cannot find module 'node:path'**问题分析**根据项目所依赖的node版本与当前版本进行对比,发现了当前版本较低,所以出现了不兼容状况解决方法根据项目依赖安装对应版本的node,我这边是node: v14.15.3 升级到v16.16.0 问题解决注意事项:到项目文件夹下删除node_modules文件和package-lock.json文件(提前备份)注意不是package.json然后重新下,包括之前版本所下载的pnp

2022-11-20 10:47:48 22246 1

原创 Linux 实现ssh免密方法

Linux 实现ssh免密方法

2022-08-16 17:53:23 2447

空空如也

空空如也

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

TA关注的人

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