- 博客(91)
- 收藏
- 关注
原创 Docker跨主机网络通信
CNM和CNI是网络规范或者网络体系,并不是网络实现因此并不关心容器网络的实现方式( Flannel或者Calico等), CNM和CNI关心的只是网络管理。
2023-05-06 18:37:37
5660
原创 【无标题】
一.Kubernetes概述文档:https://kuboard.cn/learning/kubernetes从 1.23版本不支持docker了,而是使用containerd1.docker以集群工作面临的问题集群编排面临的问题如下:1.跨主机通信问题?2.多容器跨主机部署?3.容器发布,升级,回滚?4.容器挂掉后,如何自动拉起服务?5.当现有容器资源不足时,是否可以自动扩容?6.能够实现容器的健康检查,若不健康是否能自动恢复?7.如何将容器调度到集群特定节点?8.将容器从一个
2023-04-14 21:58:31
1060
原创 详解DNS域名解析全过程
IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,这样对于我们日常工作生活访问不同网站是很困难的。基于这种背景,人们在IP地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比IP地址更易被识别和记忆,逐渐代替IP地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。
2023-03-23 15:33:46
735
原创 linux常见的系统日志
linux中/var/log/btmp是记录登录失败信息的日志,是一种非文本文件,可以使用last -f /var/log/btmp命令查看。linux中/var/log/lastlog是记录用户最近信息的日志,是一种非文本文件,可以使用lastlog命令查看。linux中/var/log/secure是用于记录登录系统存取数据的日志,如ssh、telnet、ftp等信息。linux中/var/log/cups是cups打印服务运行的日志,涉及计算机中所有的打印信息。
2023-02-23 21:20:30
2863
原创 kubernetes sd configs配置详解
kubernetes_sd_config 这个是以角色(role)来定义收集的,Kubernetes SD配置允许从Kubernetes的RESTAPI中检索scrape目标,并始终与群集状态保持同步。凡必须是endpoints,service,pod,node,或ingress。
2023-02-20 15:59:39
2112
原创 Jenkins-Slave分布式架构搭建
♥ Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:Windows和Linux系统)中编译、部署等。♥ 将jenkins项目发布在不同服务器上(分布jenkins工作空间,部署项目到不同服务器)这就形成了jenkins的分布式。节点服务器不需要安装jenkins,只需要运行一个slave节点服务,构建事件的分发由master端(jenkins主服务)来执行。
2023-01-14 21:57:15
3428
1
原创 集群调度情况
Scheduler是kubernetes的调度器,主要任务是把定义的pod分配到集群的节点上。听起来非常简单,但有很多要考虑的问题¤ 公平: 如何保证每个节点都能被分配资源¤ 资源高效利用:集群所有资源最大化被使用¤ 效率:调度的性能要好,能够尽快地对大批量的pod完成调度工作¤ 灵活: 允许用户根据自己的需求控制调度的逻辑。
2023-01-11 12:30:24
602
原创 k8s或者docker使用debian系统的镜像,出现命令不存在如何解决
【代码】k8s或者docker使用debian系统的镜像,出现命令不存在如何解决。
2023-01-10 18:59:43
627
原创 k8s常见错误
为什么会出现这个问题呢,因为这个镜像地址,默认是从国外网址下载的,有时候我们的电脑是不能访问外网的,我们想要解决这个问题。出现这个原因是因为,我们之前有执行过初始化的命令,然后初始化的时候就会产生一些文件,和占用端口,然后当你再次初始化的时候,就会提示你有些文件已经存在和端口正在被使用,所以我们要把这些文件删掉,和端口给杀死。一般如果是第一次部署k8s,遇到这种问题,多半是flanne的问题,下面这个命令,其实就是创建flannel组件,这个文件其实就是。下面这个是152节点没有准备好。
2023-01-05 23:22:29
2375
2
原创 K8S 快速入门(五)网络通信原理:Pod网络
有了Pod网络,K8s集群内的所有Pods在逻辑上都可以看作在一个平面网络内,可以正常IP寻址和互通。但是Pod仅仅是K8s云平台中的虚拟机抽象,最终,我们需要在K8s集群中运行的是应用或者说服务(Service),而一个Service背后一般由多个Pods组成集群,这时候就引入了服务发现(Service Discovery)和负载均衡(Load Balancing)等问题同一个Pod内部通讯同一个Pod共享同一个网络命名空间,共享同一个 Linux协议栈。
2022-12-29 22:15:05
2841
1
原创 MySQL索引与SQL语句优化(下)
5)根据返回结果,对需要建索引的列(where后的条件列、多表连接的列、分组、排序列)建立索引,并核查创建索引效果。12)多表连接查询时,把结果集小的表(注意,这里是指过滤后的结果集,不一定是全表数据量小的)作为驱动表。(5)对SQL功能拆分和修改,由运维(DBA)和开发交流(确认),共同确定如何改,最终由DBA执行。11.2.4 查询条件使用函数在索引列或者对索引列进行运算,运算包括(+,-,*,/,!(2)1条长SQL语句无法使用索引,能不能变成2条短的SQL语句让它分别使用上索引。
2022-12-23 15:29:17
1404
原创 索引原理详解
索引查询中,如果辅助索引已经能够得到查询的所有信息了,就无需再回表,这个就是覆盖索引。聚簇索引也叫聚集索引,它实际上并不是一种单独的索引类型,而是一种数据存储方式,聚簇索引的叶子节点保存了一行记录的所有列信息。新版本的MySQL(5.6以上)中引入了索引下推的机制:可以在索引遍历过程中,对索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数。联合索引指的是同时对多列创建的索引,创建联合索引后,叶子节点会同时包含每个索引列的值,并且同时根据多列排序,这个排序和我们所理解的字典序类似。
2022-12-15 15:22:00
295
原创 mysqldumpslow和mysqldumpslow
这是一款mysql自带的慢查询工具,个人使用下来发现,可以满足在很多慢日志中找到有问题的慢的sql,并且可以进行sql排序。属于一种短小精干的工具。命令大概形式: slowlog是需要分析的日志主要参数:A: -s, 是sort的意思,表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒序;B: -t, 是top n的意思,即为返回前面多少条的数据;
2022-12-14 21:10:51
574
原创 kube-proxy模式详解
kubernetes里kube-proxy支持三种模式,在v1.8之前我们使用的是iptables 以及 userspace两种模式,在kubernetes 1.8之后引入了ipvs模式,并且在v1.11中正式使用,其中iptables和ipvs都是内核态也就是基于netfilter,只有userspace模式是用户态。
2022-12-13 22:01:12
970
原创 K8S1.18版本kube-proxy报错parseIP Error的处理
故障现象故障现象为服务IP可以PING通,但应用不能访问,查看kube-proxy组件报错(见下日志内容)。搜索报错内容可知这个问题升级到kubernetes 1.18 版本才出现的,在Kubernetes Github已有相关问题上报,Kubernetes 维护人员讨论分析出问题的原因可能是IPVS模块由于是比较新,需要系统内核版本支持,我在Centos7的最新版本上遇到这个问题,yum update kernel解决不了。先讲结论:用Centos8.2替代Centos7.x即可解决,我已经试过了。
2022-11-28 17:52:41
572
原创 运维方向参考
备注: 即使你面试的是运维开发,很多时候你在公司里干的还是系统运维或者自动化运维的工作,与开发没有任何关系,而且大部分公司现有的业务体系的服务器都老出问题,你忙都忙不过来,哪还有时间让你开发自动化工具, 如果让你白天不耽误干别的,利用晚上自己加班搞出来,方法方案自己想办法,加班费是不可能又的,你干吗?桌面运维目前属于外包的比较多,有专门的公司招聘应届生去培训一两个月,直接外派到大公司做项目,需要的技能不是很多,但是沟通能力很重要,之所以要沟通能力,只因为你是乙方,说白了就是去人家家里干活的,属于服务行业。
2022-11-16 17:51:35
1553
原创 运维面试必问的中间件高频面试题
消费者组是 Kafka 独有的概念,如果面试官问这 个,就说明他对此是有一定了解的。我先给出标准答案:1、定义:即消费者组是 Kafka 提供的可扩展且具有容错性的消费者机制。2、原理:在 Kafka 中,消费者组是一个由多个消费者实例 构成的组。多个实例共同订阅若干个主题,实现共同消费。同一个组下的每个实例都配置有 相同的组 ID,被分配不同的订阅分区。当某个实例挂掉的时候,其他实例会自动地承担起 它负责消费的分区。
2022-11-15 16:42:49
2218
原创 MySQL高频面试题
缺点:所有的执行的语句当记录到日志中的时候,都将以每行记录的修改来记录,这样可能会产生大量的日志内容,比 如一条update语句,修改多条记录,则binlog中每一条修改都会有记录,这样造成binlog日志量会很大,特别是当执行alter table之类的语句的时候,由于表结构修改,每条记录都发生改变,那么该表每一条记录都会记录到日志中。默认情况下,MySQL的复制功能是异步的,异步复制可以提供最佳的性能,主库把binlog日志发送给从库即结束,并不验证从库是否接收完毕。找出消耗高的 sql,
2022-11-15 16:19:33
600
原创 你能阐述下CI/CD吗?
开发写完代码上传到git版本仓库,jenkins拉取代码在maven进行编译,构建镜像,把镜像推送到镜像仓库,然后就可以在k8s中部署。持续集成CI: 代码合并,构建,部署,测试都在一起,不断的执行这个过程,并对结果进行反馈。持续交付:CD: 把最终的产品发布到生产环境中,让用户去使用,在使用的过程中反馈结果。这个过程很容易出问题,比如开发环境没问题,但是预生产环境出现问题,大家相互扯皮。而使用了容器后,这个问题就容易解决了,在容器中,我们只需要交付镜像就可以了。这个过程涉及到运维,开发,测试。
2022-11-15 16:03:02
221
原创 zabbix你都监控哪些参数
单纯对于面试来说这个题目还是很好回答的,但真正操作起来会稍微麻烦点,因为节点数多,监控的项多,好在公司里都有现成的。
2022-11-15 15:21:48
2864
原创 如何自我介绍?
给面试官一个缓冲时间来快速浏览你的简历自我介绍是开始一场面试的万能用语,类似于两个人大街上见到,先打招呼的人说,你吃了吗?听一下你自我介绍里面出现的技术关键词,好根据你说的来进行接下来的提问环节。面试官好,我是XXX,我上家公司主要负责zabbix,但就只熟悉个部署安装,其他的也没怎么做过面试官好,我叫XXX,毕业于XX大学,学校不怎么好,而且也没多少经验,但我做事认真可靠,吃苦耐劳,擅长加班。面试就跟相亲一样,你上来就说自己的劣势,对方是个好姑娘也被你吓跑了。
2022-11-15 14:40:01
238
原创 你还有什么想问我的吗?
面试的时候一定要提前准备好问题,不要临场发挥,任何成功都是用有意对无意的降维打击。意思是: 很多时候刻意准备能够很轻松的击败哪些临场发挥的选手,提前准备是一种人生态度,也体现出来你对公司的尊重。以现在人的努力程度之低,根本用不到拼天赋,而是只需要比别人多做一点点就好了!
2022-11-15 14:31:58
363
原创 简历编写指南及注意事项
电商,视频直播,在线教育,电子政务,银行保险,根据自身了解程度选 择- 项目背景:客户方,发起缘由- 项目业务功能 介绍清楚- 项目环境没必要写- 项目职责:自己做的具体工作- 口头介绍的时候重点放在背景,业务功能和职责上项目规模:不选取规模太大的项目,也不选择太简单的项目周期:- 项目周期指项目从启动到上线的时间,一般和规模大小成正比- 周期一般不超过一年,半年左右最好项目团队(一般不写)
2022-11-15 12:55:42
443
原创 磁盘空间满问题排查方法
ECS Linux 实例的inode节点中,记录了文件的类型、大小、权限、所有者、文件连接的数目、创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的指针。这些文件实际上已经被删除,但是有服务程序在使用这些文件,导致这些文件一直被占用,无法释放磁盘空间。循环执行如下指令,找到容量比较大的目录并进入目录,直到找到最精确的文件或目录,再结合业务情况等判断,删除相关文件或目录。逐层进入inode占用最高的目录,继续执行上述指令,逐步定位占用过高空间的文件或目录,最后进行相应清理。
2022-11-15 12:45:52
1385
原创 磁盘有空间但无法创建文件
那么真相就浮出水面了,每个小文件占用一个inode号,但是一个小图片占用的空间可能没有达到block的大小,但是占用了一个inode,长久积累下来就变成了 空间还有,但inode号耗尽的情况。我试着创建了一下也是不成功, 要创建文件必须满足两个条件,一个是要有足够的磁盘空间,另一个是要有足够的inode号,既然磁盘空间还有,就有可能是inode号不足导致的。小王:好的,面试官,说到棘手的问题的话,我在上家公司有遇到这么一个问题,有一次一个开发找我请教,说他的磁盘还有空间,但是无法创建文件。
2022-11-15 12:29:55
1110
原创 你们公司有多少台服务器?
注意一个事实: 现在很多公司都有虚拟化,一台设备虚拟化出5台机器,这种算一台还是5台,不太好界定,所以我们先定义:服务器就是一个运行的操作系统。我访问CSDN,我的访问量就是1个IP,但是我可能打开很多个链接。csdn的业务是博客,也就是web网站。所以16Wip,算下来pv也蛮高的。我看了100篇博客=100PV。
2022-11-13 16:46:15
1173
转载 Linux系统中CPU占用率较高问题排查思路与解决方法
作为 Linux 运维工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行,带来企业损失。
2022-11-09 20:00:48
5086
原创 docker底层实现
Docker 采用了C/S架构,包括客户端和服务端。Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。
2022-11-09 09:51:23
445
原创 CentOS6、7、8系统区别都有哪些?
而对于字符集的修改,CentOS 7使用了新的配置文件/etc/locale.conf来替代/etc/sysconfig/i18n。CentOS 6中的/etc/inittab文件是基于init技术实现的,所以在CentOS 7中自然无法使用,但是该文件依然被保留下来,只不过其中的内容已经被替换为引导内容,让用户知道现在如何切换运行级别,由于这个不常用就不继续描写。这是替代INIT的新技术,采用了并行方式来启动进程,所以启动速度更快,并且兼容INIT的命令以降低迁移成本。中已经废弃这个方式,而使用了。
2022-11-08 15:42:44
1847
原创 Docker Registry
一个registry是一个存储和内容交付系统,其中维护着若干命名的Docker镜像,这些镜像有不同的标记版本。(例如:有一个镜像名字叫 hello/world,它有两个tags分别是2.0和2.1)用户通过使用 docker push 和 docker pull 命令与 registry 进行交互。(例如:docker pull registry-1.docker.io/hello/world:2.1)前面说了,registry是一个存储系统,它存储的是Docker镜像。那么,镜像到底存到哪里呢?
2022-11-04 22:38:06
4476
原创 Docker 网络虚拟化基础之网络 namespace
见如下的关键函数 copy_net_ns(它的调用链是 do_fork => copy_process => copy_namespaces => create_new_namespaces => copy_net_ns)。Linux 中所有的进程都是由这个 1 号进程创建的。接下来就是 socket 创建的时候,内核中可以通过 current->nsproxy->net_ns 把当前进程所属的 netns 找出来,最终把 socket 中的 sk_net 成员和该命名空间建立好了联系。
2022-11-03 15:55:13
906
原创 docker commit 和docker build (实战使用以及区别)
能够自由灵活的与宿主机联系,比如,某些配置文件在宿主机验证并使用过后很好用,那么,可以将文件copy到镜像中,(这个动作是写在dockerfile里),add 远程主机的配置文件到镜像中,定义onbuild动作等等各种灵活的功能。在前面启动的容器centos2 这个容器,我们进入后,可以发现这个容器是没有vim命令的,那么在实际使用过程中,会十分的不方便,这个时候我们可以使用 docker commit 先给这个容器安装vim,然后将这个容器转化为镜像,以后再使用这个新的镜像就可以直接使用vim命令 了。
2022-11-01 20:37:48
2551
转载 手工模拟实现 Docker 容器网络!
不过我们希望不同的虚拟化环境之间是隔离的,用 Docker 来举例,那就是不能让 A 容器用到 B 容器的设备、路由表、socket 等资源,甚至连看一眼都不可以。还拿 Docker 容器来举例,你启动的容器里的服务肯定是需要访问外部的数据库的。例如在 Docker 中我们通过下面的命令将容器的 80 端口上的 web 服务要能被外网访问的到。其中 iptables 就是一个非常常用的干预内核行为的工具,它在内核里埋下了五个钩子入口,这就是俗称的五链。我们的开发写出来的代码大概率是要运行在容器上的。
2022-10-29 22:04:37
284
原创 625某电商网站数据库宕机故障解决实录
625某电商网站数据库特大故障解决实录(上)这是一次,惊心动魄的企业级电商网站数据库在线故障解决实录,故障解决的过程遇到了很多问题,思想的碰撞,解决方案的决策,及实际操作的问题困扰,尽量原汁原味的描述恢复的全部过程及思想思维过程!
2022-10-21 09:16:35
380
原创 ELK 的原理
Elasticsearch 是一个分布式的开源搜索和分析引擎,在的基础上开发而成。Lucene 是开源的搜索引擎工具包,Elasticsearch 充分利用Lucene,并对其进行了扩展,使存储、索引、搜索都变得更快、更容易, 而最重要的是, 正如名字中的“ elastic ”所示, 一切都是灵活、有弹性的。而且,应用代码也不是必须用Java 书写才可以和Elasticsearc兼容,完全可以通过JSON 格式的HTTP 请求来进行索引、搜索和管理Elasticsearch 集群。
2022-10-18 19:08:17
1712
原创 接口数据使用了 RSA 加密和签名
1、前言很多童鞋在工作中,会遇到一些接口使用RSA加密和签名来处理的请求参数,那么遇到这个问题的时候,第一时间当然是找开发要加解密的方法,但是开发给加解密代码,大多数情况都是java,c++,js等语言实现的,加解密的代码虽然有了,但是咱们身为一个测试,使用python做的自动化,并不是什么语言都会,这个时候就会比较尴尬了,看着这一团加解密的代码,自己却不知从何下手,再去找开发给写个python版本的,开发估计不一定搭理你,就算搭理你,开发也未必会python,那么今天咱们就来讲讲如何通过python来
2022-05-25 11:47:23
670
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人