- 博客(68)
- 收藏
- 关注
原创 4-3 Linux启动流程
Linux系统的启动过程并不是大家想象中的那么简单,其过程可以分为多个阶段:通电 –> BIOS –> 主引导记录(MBR)–> grub引导 –> 加载内核 –> init进程 –> 读取/etc/inittab(运行级别)–> /etc/init.d –> 用户登录 –> Login shell。
2023-03-06 16:17:59
430
1
原创 4-2 Linux进程和内存概念
进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝。
2023-03-05 07:16:32
582
原创 4-1 定时任务的示例10个
Linux crontab 是用来定期执行程序的命令。当安装完成操作系统之后,默认都已经安装,并启动此任务调度命令。crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
2023-03-04 14:49:04
260
原创 3-12 使用expect登陆远程主机并安装应用
实现免密登陆脚本, expect登陆远程主机,将生成的密钥写入到目标主机, expect测试远程登陆。1)通过shift读取脚本参数2)通过select来选择功能.例如功能有当前我们只实现免密钥登陆主机,升级一下:3)通过函数封装每个功能4)将免密钥登陆的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。5)支持输入一批主机免密钥,使用数组 实现。
2023-03-03 23:24:28
152
原创 3-11 网卡绑定bond0的实现
网卡绑定bond又称多网卡 bonding,是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。然而直接给两块网卡设置同一IP地址是不可以的。所以要通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。bond聚合链路模式共7种模式:0-6 Mode。其中bind0为round-robin policy轮询模式最为常用。mode0需要在交换机和服务器都进行设置,这里介绍服务器的配置。
2023-02-27 23:44:40
512
原创 3-10 图文并茂解释TCP/IP 3次握手4次断开
TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
2023-02-27 21:40:44
228
原创 3-9 静态配置网卡IP,centos/ubuntu实现
Tips:在centos9中默认网络配置在 /etc/NetworkManager/system-connections/ens33.nmconnection 文件,但添加ifcfg-ens33同样有效。
2023-02-26 22:33:25
181
原创 3-2至3-8 创建一个至少有两个PV组成的大小为20G的名为testvg的VG
硬盘sdc使用相同方法,得到两块各10G的分区,用于后续的pv创建。xfs文件系统不支持LV缩容,这里使用ext4文件系统。查看硬盘情况,添加了sdb和sdc,但还没分区。格式化lv,挂载目录。
2023-02-26 15:57:27
768
原创 3-1 图文并茂说明raid0,raid1, raid10, raid01, raid5等原理
一、RAID 是什么?RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。二、RAID 的作用?磁盘阵列作用一:提供容错功能。
2023-02-25 13:23:06
2362
原创 Shell常用实例,查看IP,创建用户,安装应用等。
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
2023-02-05 13:55:40
1013
原创 1-5 Linux学习路线规划
1991 年芬兰大学生林纳斯·托瓦兹(Linus Torvalds)发布了开源操作系统 Linux 0.01。经过近 30 年的发展, Linux 已经成为世界上使用最为广泛的操作系统之一:安卓手机使用的是Linux;世界 500 强的超级计算机全部使用的是 Linux;网站服务器大部分都是使用 Linux;而云计算、大数据、物联网和人工智能等新兴技术也都依赖 Linux;就连新版本的 Windows 也能支持Linux 的运行。
2022-11-19 23:37:10
487
原创 1-4 Linux 标准目录结构FHS
Linux操作系统中的目录(文件夹)结构遵循Linux基金会定义和维护的Linux文件系统层次标准(FHS)。有了定义良好的标准,用户和软件开发人员就可以更容易地知道已安装的二进制文件、系统文件、系统信息等的位置。通过这种方式,Linux应用程序不必为特定的发行版量身定制,而是可以普遍使用。
2022-11-19 22:37:09
570
原创 1-3 Linux ifconfig 命令使用
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。ifconfig除了查看网卡状态外,还可以启用或禁用网卡,配置IP掩码,mtu值,修改mac地址,开启或关闭arp协议。
2022-11-19 21:41:40
946
原创 1-2 VMware安装Rocky9.0和Ubuntu22.04系统
VMware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。Rocky Linux 9.0 操作系统与2022年7月14日全面上市,可作为 CentOS Linux 和 CentOS Stream 的直接替代品。Ubuntu 22.04 LTS是Canonical于2022年4月21日发布的操作系统,代号为Jammy Jellyfish(果酱水母)。
2022-11-19 20:11:14
3956
原创 1-1 开源许可证GPL, BSD, MIT, Mozilla, Apache, LGPL的介绍
开源许可证(Open source licenses),广义来讲是指一种被用于计算机软件或其他产品的,允许在指定的条款内使用,修改或分发其源代码,蓝图或设计的许可证。一般来讲,我们说的开源许可证是指广义的开源许可证释义。狭义的来讲,根据 OSI(Open Source Initiative,开放源代码倡议组织) 的解释,开源许可证是指那些符合 OSD(开源定义,Open Source Definition) 的许可证 —— 简单来说,这些许可证允许软件被自由的使用,修改和分发。
2022-11-19 14:52:54
2913
原创 10-5 Skywalking基于nginx+jenkins服务的全链路数据收集
在上一节10-4 Skywalking介绍,二进制与docker部署Skywalking,Skywalking收集Java博客案例,Skywalking面板介绍我们介绍的Skywalking组件,部署和java博客案例等。这一节继续扩展数据收集案例。将部署基于Java开发的一种持续集成工具Jenkins,和高性能的HTTP和反向代理web服务器Nginx,并在Skywalking对两个应用实现全链路追踪。IP名称应用Skywalking服务器Jenkins服务器Nginx服务器。
2022-11-06 21:54:33
1702
原创 10-4 Skywalking介绍,二进制与docker部署Skywalking,Skywalking收集Java博客案例,Skywalking面板介绍
Skywalking是一个国产的开源框架,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java, .Net, Node.js, go, python等探针,数据存储支持Mysql, Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。
2022-11-06 15:34:11
976
原创 10-3 Prometheus远端存储VictoriaMetrics集群版
Victoria Metrics是一个高速的,低能耗,可扩展的时间序列数据库。它可以作为Prometheus的长期远程存储。当接收速率高于每秒100万个数据点时,建议使用集群版本。集群版在性能与空间存储可完美地扩展,不过配置和操作相对复杂。
2022-11-03 23:17:57
2102
1
原创 10-2 Prometheus本地存储机制,单机远端存储
Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30 秒间隔,保留 60 天,大概 200 多G空间。所以Prometheus非常省空间,存储机制高效快捷,和其它组件构成Prometheus系统。Prometheus架构图。
2022-11-02 21:02:23
1505
原创 10-1 基于Prometheus联邦收集Node指标数据
在生产环境中,如果使用一个prometheus的话,随着监控数据的持续增长,将会导致压力越来越大,这时候可以采用prometheus的集群联邦模式。部署多个prometheus的从节点,分别负责不同的监控数据采集,prometheus主节点负责汇总数据与grafana数据展示,可以很好地解决这种问题。
2022-11-01 20:29:41
678
原创 9-6 Prometheus告警通知Alertmanager,结合邮箱,钉钉,企业微信实现告警,告警分类发送,告警模板使用
Alertmanager告警管理是Prometheus一个组件,用于告警信息的处理与转发。Alertmanager接收Prometheus等客户端发来的警报,之后通过分组,删除重复等处理,并将它们通过路由发送给正确的接收器。告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Wechat, Email, Webhook等告警方式, 其中Webhook可以接入钉钉等聊天工具。
2022-10-30 21:30:49
1885
原创 9-5 Prometheus的blackbox_exporter实现对URL状态, ICMP可用性, Port状态, TLS证书监控
Blackbox_exporter 是 Prometheus 官方提供的一个 exporter,可以监控 HTTP,HTTPS,DNS,TCP ,ICMP和gRPC等目标实例,从而实现对被监控节点进行监控和数据采集。
2022-10-28 23:06:35
1857
原创 9-4 Prometheus监控案例Tomcat, Redis, Mysql, Haproxy, Nginx, Ingress
Prometheus除了使用node-exporter监控系统指标外,还支持多种多样的应用服务监控。包括数据库,硬件,消息服务,存储,网站服务,APIs,日志等等。下面我们介绍最常用几种应用监控:Tomcat, Redis, Mysql, Haproxy, Nginx, Ingress。
2022-10-27 22:27:36
2389
3
原创 9-3 Prometheus监控服务Kube-state-metrics
在前面章节8-5 在Prometheus实现Kubernetes-apiserver及Coredns服务发现介绍过使用kubernetes_sd_config对K8s集群进行监控。监控内容有master,node,schedule,controlle-manager,pod等。但是由于这些都是K8s内置的指标数据,数据并不全面。其他资源对象也需要监控的,例如Deployment,Daemonset,ConfigMap等资源对象。
2022-10-24 20:41:50
2248
原创 9-2 Prometheus基于Consul与File实现服务发现
Consul是一款不错的开源软件,具有注册中心、配置中心、健康检查等实用的功能。它是分布式 k/v 数据存储集群,目前常用于应用的服务注册和发现。Prometheus也可以基于Consul对K8s集群进行服务发现。File服务发现,即创建一个文件保存监控对象的IP与端口等。在Prometheus配置引用该文件。当文件内容发现改变,Prometheus监控对象也会改变,从而实现服务发现。
2022-10-23 23:20:10
275
原创 9-1 Kubernetes二进制部署的Prometheus实现服务发现
在上一章节介绍了8-5 在Prometheus实现Kubernetes-apiserver及Coredns服务发现基于K8s集群内部安装的Prometheus,添加服务发现时更加方便。Prometheus的安装方式有多种,详情参考8-1 基于Operator和二进制安装Prometheus系统。对于二进制部署的Prometheus,即集群外部的监控系统。配置服务发现时涉及到创建用户,授权,添加job,重写标签等。
2022-10-23 20:06:49
638
原创 8-5 在Prometheus实现Kubernetes-apiserver及Coredns服务发现
Prometheus 默认是采用 pull 方式拉取监控数据的,也就是定时去目标主机上抓取 metrics 数据,每一个被抓取的目标需要暴露一个 HTTP 接口,prometheus 通过这个暴露的接口就可以获取到相应的指标数据,这种方式需要由目标服务决定采集的目标有哪些,通过配置在 scrape_configs 中的各种 job来实现,无法动态感知新服务,如果后面增加了节点或者组件信息,就得手动修promrtheus 配置,并重启 promethues,很不方便,所以出现了动态服务发现,动态服务发现能够自
2022-10-22 21:59:20
850
原创 8-4 Prometheus服务发现
服务发现(Service Discovery)经常用在微服务治理以及配置管理上,在负载且动态变化的环境下如果没有服务发现就无法可靠的感知服务的新增、变更、删除等。服务发现可以说是基础设施服务的基石之一。
2022-10-19 23:22:25
481
原创 8-3 通过Grafana展示Prometheus的Node和Pod数据
在上一章节8-2 通过Node-Exporter和Cadvisor收集指标数据我们已经通过node-exporter收集了node信息,通过cadvisor收集了pod数据。下面将两个数据导入Prometheus,最后在Grafana展现数据。
2022-10-17 23:12:00
936
原创 8-2 通过Node-Exporter和Cadvisor收集指标数据
Node_Exporter是我们最常用的exporter之一,用于收集宿主机的系统指标数据(包括CPU、内存和磁盘),导出的数据多数来源于/proc与/sys信息。默认绑定主机9100端口,并在路径/metrics显示实时信息。
2022-10-17 23:09:40
1502
原创 8-1 基于Operator和二进制安装Prometheus系统
Prometheus是一个开源系统监控和警报工具包,最初由SoundCloud构建。自2012年推出以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在它是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,也为了明确项目的治理结构,Prometheus在2016年加入了云原生计算基金会,成为继Kubernetes之后的第二个托管项目。
2022-10-11 19:36:25
508
原创 7-5 Ingress介绍与案例
Ingress 是 kubernetes API 中的标准资源类型之一,ingress 实现的功能是在应用层对客户端请求的 host 名称或请求的 URL 路径把请求转发到指定的 service 资源的规则,即用 于将 kubernetes 集群外部的请求资源转发之集群内部的 service,再被 service 转发之 pod 处理客户端的请求。Ingress示例。
2022-09-27 22:00:27
487
原创 7-4 NetworkPolicy网络策略简介与Ingress及Egress案例
NetworkPolicy网络策略可以在 IP 地址或端口层面(OSI 第 3 层或第 4 层)控制网络流量。NetworkPolicy 是一种以应用为中心的结构,允许你设置如何允许 Pod 与网络上的各类网络“实体”通信。NetworkPolicies 适用于一端或两端与 Pod 的连接,与其他连接无关。其他被允许的 Pods(例外:Pod 无法阻塞对自身的访问)被允许的名字空间IP 组块(例外:与 Pod 运行所在的节点的通信总是被允许的, 无论 Pod 或节点的 IP 地址)
2022-09-25 22:03:29
1021
原创 7-3 网络组件calico总结
上一节讲到了7-2 网络组件flannel总结,还有一种流行的更安全的网络组件为Calico。Calico 是一个开源网络和网络安全解决方案,适用于容器、虚拟机和基于本地主机的工作负载。Calico 支持广泛的平台,包括 Kubernetes、OpenShift、Mirantis Kubernetes Engine (MKE)、OpenStack 和裸机服务。无论您选择使用 Calico 的 eBPF 数据平面还是 Linux 的标准网络管道,Calico 都能提供超快的性能和真正的云原生可扩展性。
2022-09-25 15:43:50
728
原创 7-2 网络组件flannel总结
flannel是专为容器设计的虚拟网络层。由CoreOS开源的针对k8s的网络服务,其目的为解决k8s集群中各主机上的pod相互通信的问题,其借助于etcd维护网络IP地址分配,并为每一个node服务器分配一个不同的IP地址段。
2022-09-25 14:56:49
402
原创 7-1 Overlay与Underlay通信总结
网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现计算机与计算机之间的通信。Overlay与Underlay通信区别在于:underlay就是底层承载网,overlay就是基于底层网络互联互通的基础加上隧道技术去构建一个虚拟的网络,例如VPN隧道组成的网络就是overlay网络。Underlay的核心是底层的网络,Overlay的核心是上层的打隧道(tunnel)。
2022-09-25 14:08:10
3890
原创 6-6 实现容器内置进程日志收集
在前面我们准备好日志收集环境6-4 搭建ELK及Kafka日志收集环境。也介绍了日志源可以通过node节点收集,或者使用sidecar容器收集。还有一种日志源可以通过在容器内置日志收集服务进程,收集当前容器的业务容器日志等。该容器内置进程为filebeat。
2022-09-25 11:05:13
502
原创 6-5 实现daemonset和sidecar日志收集
在上一节我们准备好日志收集环境6-4 搭建ELK及Kafka日志收集环境。其中日志源可以通过node节点收集,或者使用sidecar容器收集,它们主要区别为:node节点收集,基于daemonset部署日志收集进程,实现json-file类型(标准输出/dev/stdout、错误输 出/dev/stderr)日志收集,即应用程序产生的标准输出和错误输出的日志。
2022-09-24 23:29:03
858
原创 6-4 搭建ELK及Kafka日志收集环境
ELK是指Elasticsearch(简称es),Logstash,Kibana三个核心组件构成的分布式日志分析系统。Kafka是一款消息队列软件,与zookeeper配合使用,作为注册中心的消息中间件。ELK日志分析架构Elasticsearch:开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。Logstash:用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。Kibana:提供的日志分析友好的 Web 界面,可以帮助汇总分析和搜索重要数据日志。
2022-09-24 09:53:08
842
原创 6-3 Pod亲和与反亲和, 污点与容忍, 驱逐
在6-2 nodeSelector, nodeName, node亲和与反亲和中通过node打标签和部署文件匹配标签,实现pod可调度性。而Pod亲和与反亲和则通过node已经运行的pod作为调度标准。
2022-09-13 20:13:33
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人