- 博客(156)
- 资源 (1)
- 收藏
- 关注
原创 Linux 命令详解 —— 进程管理
进程状态 STAT 详解状态码含义RRunning,正在运行或可运行(在运行队列中等待CPU)SSleeping,可中断睡眠(等待事件完成,如I/O、信号)DUninterruptible Sleep,不可中断睡眠(通常等待I/O,不能被杀死)TStopped,进程被信号暂停(ctrl+z)或被调试器跟踪ZZombie,僵尸进程(已终止但父进程未回收资源),一般情况下需要多关注该状态码<高优先级进程
2025-06-18 10:12:14
212
原创 K8S 专栏 —— Deployment 篇
Deployment 是 K8S 中用于管理应用程序副本的对象,它提供了对应用程序的声明式定义,自动化部署、扩展和更新。
2025-06-16 16:21:47
156
原创 K8S 专栏 —— ReplicaSet 篇
ReplicaSet(副本集)是 K8S 中用来确保指定数量的 Pod 副本正在运行的控制器。如果某些 Pod 发生故障或被删除,ReplicaSet 负责启动新的 Pod 代替它们,从而保证所需的副本数量。
2025-06-16 11:45:33
183
原创 K8S 专栏 —— namespace和Label篇
命名空间是一种用于在 kubernetes 集群中划分资源的虚拟化手段,每个资源都属于一个命名空间,使得多个团队或应用可以在同一个集群中独立运行,避免资源冲突。标签是K8S中用于对资源进行元数据标记的机制,标签是键值对,可以附加到 Pod、Service、Node 等各种资源上,以便于资源的分类、过滤和组织。所有未明确指定namespace的资源都属于默认命名空间,使用 -n 或 --namespace 选项可以指定操作的命名空间。
2025-06-16 10:59:07
149
原创 K8S 专栏 —— Pod 篇
Pod 中的 Container 指定了资源 request 时,kube-scheduler 就利用该信息决定将 Pod 调度到哪个节点上,当你为 container 指定了资源 limit 时,kubelet 就可以确保运行的容器不会使用超出所设的限制资源。这里我们写成 index2.html,由于这个文件是不存在的,所以肯定是无法正常启动的。同样的操作,在容器启动一会后,进入容器删除 index.html 文件,此是启动是正常的,假设我们这个时候进入容器删除掉 index.html。
2025-06-14 16:00:30
1042
原创 K8S YAML 语法解析(史上最全)
在 Kubernetes 集群中,我们最常接触到的就是 YAML 文件的编撰,那么就必须要了解这部分知识点。
2025-06-03 14:30:00
876
原创 Docker 专栏 —— Dockerfile 指令详解
需要注意的是,FROM指令必须指定且需要写在其他指令之前,FROM指令后的所有指令都依赖于该指令所指定的镜像。和ARG不同的是,ARG设置的是构建时的环境变量,在容器运⾏时是不会存在这些变量的,例如: ARG user1=someuser。切换⽬录指令,类似于cd命令,写在该指令后的 RUN , CMD 以及 ENTRYPOINT 指令都将该⽬录作为当前⽬录,并执⾏相应的命令。该指令⽤于设置启动镜像时的⽤户或者UID,写在该指令后的RUN、CMD以及ENTRYPOINT指令都将使⽤该⽤户执⾏命令。
2025-01-07 17:26:32
1751
原创 Prometheus 专栏 —— 通过 consul 实现自动服务发现
进行 Target 查看添加自动服务发现监控详情。修改 prometheus.yml 文件。
2025-01-03 00:00:00
487
原创 Prometheus 专栏 —— Prometheus安装、配置
alerting: 非必须,配置与告警相关的设置,可以指定多个 Alertmanager 实例alert_relabel_configs: 用于在发送告警之前重新标记告警的标签alertmanagers: 定义Prometheus将告警发送给哪些Alertmanager实例scrape_configs: 定义了Prometheus如何抓取目标的数据,每个 scrape_config 块代表一组抓取目标及其相关的配置metrics_path: 目标抓取数据时使用的路径,一般默认路径为
2024-12-31 00:00:00
1571
原创 Prometheus 专栏 —— Prometheus入门介绍
特点: 具有高度的灵活性和可扩展性,可以根据需求选择 Exporter 插件来收集所需监控的数据。同时也可以自定义 Exporter 插件来满足特定的监控需求。Prometheus 是一个开源的服务监控系统和时序数据库,主要用于收集、存储、查询和告警时间序列数据,这些数据通常反映了系统或者应用的状态或性能。Prometheus(核心)
2024-12-28 00:00:00
503
原创 Prometheus && Alertmanager + prometheus-webhook-dingtalk 告警
下载地址:https://prometheus.io/download/Prometheus下载地址:https://prometheus.io/download/安装 Prometheus# 解压下载包tar -zxvf prometheus-2.11.1.linux-amd64.tar.gz# 做软链接ln -s /usr/local/src/prometheus-2.11.1.linux-amd64 /usr/local/prometheus配置 Prometheus# 修改 pr
2021-03-04 22:00:30
2506
1
原创 代理的那些事
在研究正向代理和反向代理之前,我们先知晓一下什么叫做代理?代理可以做什么?类比实际生活,代理就类似于一个中介,插入在我们与购买的目标中间进行一些独属操作和信息的反馈。在服务器之间,由客户端发送请求到代理服务器,再由代理服务器传递请求到目标服务器,目标服务器处理之后传递给代理服务器,最后由代理服务器传递响应信息给客户端正向代理(媒人)正向代理,意思就是一个位于客户端和目标服务器之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标,然后代理向目标服务器转交请求并将获得的内容返回给客
2021-02-26 11:56:11
319
原创 偷懒法 —— windows 下设置 nginx 开机自启动
下载 WinSWhttps://github.com/winsw/winsw/releases/download/v2.10.3/WinSW.NET4.exe 64位系统https://github.com/winsw/winsw/releases/download/v2.10.3/WinSW.NET2.exe 32位系统配置将下载的 WinSW.NET4.exe 复制到 nginx 的安装路径下 ,并修改名称为 nginx-service.exe(名称可以改变,但是后缀名为 .exe)在同目
2021-02-22 17:15:03
385
原创 逼出来的思绪 —— windows 下 nginx 中文路径出现乱码并且无法正常访问的问题解决
首先先把遇到的问题贴出来,可能很多人都会遇到,可以参考一下本文:No mapping for the Unicode character exists in the target multi-byte code pa设置 nginx 编码格式设置 charset 编码格式为 utf-8; 这部分设置在 http 下还是 server 下取决于大家的需求,这里我就直接设置在 http 下。但是细心的童鞋们可能发现了,设置了该编码格式后访问网页端时不会再有中文乱码的问题,但是会遇到一种情况:该路径下的
2021-02-22 17:11:51
5620
原创 我对 Kubernetes 的片面理解 —— 基础篇(持续更新中)
Kubernetes 为何让我如此着迷Kubernetes 的高矮胖瘦(介绍)Kubernetes 功能Kubernetes 边界Kubernetes 大小粗细(组件)Master 组件kube-apiserveretcdkube-schedulerkube-controller-manager声明式的配置创建 Deployment更新 Deployment回滚 DeploymentKubernetes 的高矮胖瘦(介绍)Kubernetes 是一个 可移植 、可扩展 的开源平台。使用 声明式的配置 依
2020-12-25 17:16:27
747
5
原创 企业部署实战 —— 在 k8s 上搭建大数据计算引擎 Flink
Flink前言基本介绍在 k8s 上部署 Flink在 kubernetes 上部署 Flink 集群部署会话集群部署作业集群测试使用 Flink 集群附录前言在 PM 提出要对实时的数据进行分析和对离线数据进行批处理时,我就记起了有一面之缘的强大的计算引擎 Flink,那么为了能够在实际生产环境中使用到它,接下来深入了解一下。基本介绍说到 Flink,我们就需要把一些易于混淆的观点捋一捋:(1) 数据集类型有界数据集:有限不会改变的数据集合无穷数据集:无穷的持续集成的数据集(Apache K
2020-11-17 19:49:45
1871
原创 企业部署实战 —— 搭建面向列的数据库管理系统 ClickHouse
部署 ClickHouse检测本地环境#检查当前 CPU 是否支持 SSE4.2 的命令grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"若当前主机不支持 SSE4.2 或具有 AArch64 或 PowerPC64LE 体系结构的处理器上运行 ClickHouse,则如该方法调整配置用 docker 去构建 ClickHouse使用 DEB 软件包(Ub
2020-11-17 16:48:30
474
原创 windows中虚拟机安装及centos8中工具安装详情
虚拟机安装安装 redis官方网站:https://redis.io/在官网下载 redis 最新的稳定版本wget http://download.redis.io/releases/redis-6.0.8.tar.gz解压 redistar zxf redis-6.0.8.tar.gz由于 redis 是 C 编写的,因此需要 C 语言运行环境yum install -y gcc-c++yum -y install gcc automake autoconf li
2020-10-21 10:38:21
672
原创 常用的使用技巧和情景解答
控制台使用技巧操作快捷键作用Ctrl + r快速查找历史命令Ctrl + l清空屏幕Ctrl + a \ ctrl + e移动光标到命令行首或行尾Ctrl + w \ ctrl + k删除光标之前 / 光标之后的内容VIM 快捷键作用快捷键 ZZ文件保存或退出进程快捷键作用Ctrl + c强行中止程序的执行Ctrl + z挂起一个进程Ctrl + d类似于 “终端中输入 exit 回车”
2020-08-24 13:34:12
470
原创 CI/CD —— 持续集成、持续交付、持续部署的了解
简介CI / CD 改变了开发人员和测试人员如何发布软件。由最初的 瀑布模型 ,到 敏捷开发 ,再到现在使用的 DevOps。随着 DevOps 的兴起,出现了 持续集成(Continuous Integration)、持续交付(Continuous Delivery)、持续部署(Continuous Deployment) 的新方法。从敏捷开发时期看,大多数公司都是每月、每季度或者每年发布/部署软件;但是现在在 DevOps 时代,每周甚至每天多次都是常态。现阶段可以动态更新应用程序,而无需强迫客
2020-08-14 14:14:36
662
原创 Kubernetes进阶篇 —— 高可用集群
k8s高可用集群集群拓扑Loadbalancer部署安装 keepalived haproxyyum install -y keepalived haproxy 配置haproxyvim /etc/haproxy/haproxy.cfgkeepalived配置vim /etc/keepalived/keepalived.conf ### 1 ! Configuration File for keepalived 2 3 global_defs { 4 not
2020-07-29 15:20:18
337
原创 Kubernetes监控篇 —— 资源监控
资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配:request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Podlimit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额资源类型:CPU 的单位是核心数,内存的单位是字节一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CPU和0.1个CPU都是一样的
2020-07-29 15:20:10
1503
原创 Hadoop大数据平台实战 —— 三个节点(1个master+2个slave)实现全分布式操作
HadoopHadoop简介Hadoop 起源于 Google 的三大论文:GFS:Google 的分布式文件系统 Google File SystemMapReduce:Google 的 MapReduce 开源分布式并行计算框架BigTable:一个大型的分布式数据库上述三大论文的演变关系:GFS —— -> HDFSGoogle MapReduce —— -> Hadoop MapReduceBigTable —— -> HBaseHadoop 名称的由来
2020-07-29 15:19:08
1687
原创 Hadoop大数据平台实战 —— Hadoop单机操作和伪分布式操作
Hadoop下载与安装由于 Hadoop 底层是用 Java 编写,因此还需要安装 JDK下载 Hadoop 和 JDK 的源码包新建普通用户,将源码包移动到普通用户下,并切换到普通用户useradd dsdmv jdk-8u181-linux-x64.tar.gz hadoop-3.2.1.tar.gz /home/dsd/su - dsd解压 JDK 源码包并做软链接tar zxf jdk-8u181-linux-x64.tar.gzln -s jdk1.8.0_181/ jdk
2020-07-29 15:18:50
327
原创 Hadoop大数据平台实战 —— 基础概念
Hadoop 起源于 Google 的三大论文:GFS:Google 的分布式文件系统 Google File SystemMapReduce:Google 的 MapReduce 开源分布式并行计算框架BigTable:一个大型的分布式数据库上述三大论文的演变关系:GFS —— -> HDFSGoogle MapReduce —— -> Hadoop MapReduceBigTable —— -> HBaseHadoop 名称的由来:Hadoop 之父 Doug
2020-07-29 15:18:39
664
原创 Zabbix 监控 —— 邮件管理 + 第三方告警平台
实验环境:主机名称IP地址zabbix192.168.0.10zabbix2192.168.0.11zabbix3192.168.0.12user192.168.0.100zabbix主机可以正常上网\color{red}{zabbix 主机可以正常上网}zabbix主机可以正常上网Zabbix 邮件告警邮件的设置使用邮件告警在 zabbix 主机中安装邮件(发送方)\color{red}{(发送方)}(发送方)yum install
2020-07-29 15:03:43
460
原创 Zabbix 监控 —— 结合 percona 插件实现数据库 mysql 的监控
实验环境:配置 zabbix 监控 mysql确认 mysql 状态为正常开启mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive在 zabbix-agent 主目录(默认情况下为/ var / lib / zabbix)中创建 .my.cnfmkdir /var/lib/zabbix # 建立目录存放配置文件vim /var/lib/zabbix/.my.cnf
2020-07-28 18:19:10
255
原创 Zabbix 监控 —— 配置、API、对 Nginx 的监控
Zabbix 的介绍Zabbix 是一个企业级分布式开源监控解决方案。Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix 所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保可以在任何地方访问监控的网络状态和服务器健康状况。Z
2020-07-28 13:22:47
935
原创 敏捷开发部署方案 —— 蓝绿部署、滚动发布和灰度发布
蓝绿部署蓝绿部署。指的是同时运行两个版本的应用,在进行蓝绿部署的时候,并不停止掉老版本,而是直接部署一套新版本,等新版本运行起来后,再将流量切换到新把本上。但是蓝绿部署要求在升级过程中同时运行两套程序,对硬件的要求就是日常所需的两倍。滚动发布滚动发布能够解决掉蓝绿部署时对硬件要求增倍的问题\color{#FF0000}{滚动发布能够解决掉蓝绿部署时对硬件要求增倍的问题}滚动发布能够解决掉蓝绿部署时对硬件要求增倍的问题滚动升级。在升级过程中,并不一下子启动所有新版本,是先启动一台新版本,再停止一台
2020-07-23 18:58:20
1087
原创 Kubernetes进阶篇 —— 访问控制
Kubernetes访问控制kubernetes API 访问控制Authentication(认证)认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用 X509 Client Certs 和 Service Accout Tokens 两种认证方式Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号
2020-07-13 14:16:03
378
原创 Kubernetes进阶篇 —— 调度
Kubernetes调度默认策略:https://kubernetes.io/zh/docs/concepts/scheduling/kube-scheduler/调度框架:https://kubernetes.io/zh/docs/concepts/configuration/scheduling-framework/调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod 。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上
2020-07-13 13:57:08
557
原创 Kubernetes存储篇 —— Volumes
Volumes配置管理容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些隐患。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失,这是因为容器会以干净的状态重建。其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两个问题Kubernetes 卷具有明确的生命周期,与包裹它的 Pod 相同。 因此,卷比 Pod 中运行的任何容器的存活期都长,在容器重新启动时数据也会得到保留。
2020-07-13 12:37:05
1461
原创 kubernetes存储篇 —— Configmap
1. ConfigMap配置管理1.1 ConfigMap作用及使用场景ConfigMap用于保存配置数据,以键值对形式存储ConfigMap 资源提供了向 Pod 注入配置数据的方法旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性典型的使用场景填充环境变量的值设置容器内的命令行参数填充卷的配置文件1.2 ConfigMap的创建创建方式使用字面值创建使用文件创建使用目录创建编写configmap的yaml文件创建字面值创建kubectl create co
2020-07-06 19:31:53
375
原创 kubernetes存储篇 —— Secret
1. Secret1.1 Secret配置管理Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活Pod 可以用两种方式使用 secret:作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里当 kubelet 为 pod 拉取镜像时使用secret的类型:Service Account:Kubernetes 自动创建包含访问 API 凭据的 secret,并
2020-07-06 19:11:29
358
原创 kubernetes基础篇 —— Service
1. ServiceService可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)service的类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个NodeIP:nodePort都将路由到ClusterIPL
2020-07-06 18:56:38
375
原创 kubernetes基础篇 —— 控制器
官方网站:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/关闭节点的selinux和iptables防火墙所有节点部署docker引擎
2020-07-03 15:55:40
287
原创 kubernetes基础篇 —— 检测探针
检测探针探针是由 kubelet 对容器执行的定期诊断:ExecAction: 在容器内执行指定命令。如果命令退出时返回码为 0 则认为诊断成功TCPSocketAction: 对指定端口上的容器的 IP 地址进行 TCP 检查。如果端口打开,则诊断被认为是成功的HTTPGetAction: 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get请求。如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的每次探测都将获得以下三种结果之一:成功:容器通过了诊断失败:容
2020-07-03 15:04:37
1019
原创 kubernetes基础篇 —— Pod生命周期
Pod生命周期Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器Init 容器与普通的容器非常像,区别是:Init 容器总是运行到完成Init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成每个 Init 容器必须运行成功,下一个才能够运行如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。然而,如果 Pod 对应的 restartPol
2020-07-03 15:03:45
253
原创 kubernetes基础篇 —— 资源清单
1. 资源清单1.1 资源清单格式kubectl explain pod ##查询帮助文档1.2自主式Pod资源清单vim demo.yamlkubectl create -f demo.yaml1.3 标签kubectl get pod --show-labels ##查看标签kubectl get pod -l app ##过滤包含app的标签kubectl get pod -L appkubectl label pod demo v
2020-07-03 15:02:47
3238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅