OOM killer是linux内核在内存不足情况下的一种管理机制,当内核检测到系统物理内存不足时,就会通过OOM killer机制kill掉一些进程,kill进程的原则是通过使用一套启发式算法,它会计算所有进程的分数,然后选出那个分数最高的进程。进而kill掉,一般分数最高的进程占用的内存刚好是最大的。那么为什么会突然出现内存不足的情况呢,这就要说说进程与内存的运行机制,默认情况下,Linux
1、部署docker引擎只有部署了docker引擎,docker容器才能在任何不同主机环境运行。[root@master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2[root@master ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/doc
grep 、sed、awk被称为linux中的"三剑客"。它们对文本处理和操作非常灵活和强大,其中,grep更适合单纯的查找或匹配文本,sed 更适合编辑匹配到的文本,而awk 更适合格式化文本,对文本进行较复杂格式处理,下面将进行一一讲述。1、AWK的基本用法awk是一种可以处理数据、产生格式化报表的语言,功能相当强大。awk的工作方式是读取数据文件,将每一行数据视为一条记录(record),每
对服务器的GJ一般有带宽GJ、计算资源GJ和服务GJ三大类。带宽GJ就是耗尽你的网络带宽,直至服务不可用,常见的带宽GJ例如服务器植入发包程序,不断对外发包,导致服务器网络带宽耗尽,而这些服务器一般是作为肉鸡存在的,所谓肉鸡,就是为GJ其他服务器的代理机器。计算资源GJ主要是针对各种挖矿BD,这些植入的挖矿程序,主要目的是使用你的计算资源给自己挖矿。这是新出现的一种GJ行为,跟这几年Bitcoin
高俊峰,网名南非蚂蚁,著名Linux技术专家,知名IT作家,51CTO学堂金牌讲师,51CTO专家博主、畅销专栏作者。毕业于西安电子科技大学通信工程专业,爱好计算机,毕业后从事计算机行业。曾就职于新浪网、阿里云等企业,任职系统架构师。具有超过16年一线互联网企业工作经验和6年企业培训授课经验。简要介绍高俊峰从事运维这十多年中,基本上一直在做Linux运维、OracleDBA、大数据运维、云计算运维
无论你信与不信,Linux已经成为这个世界上增长最迅速的操作系统!并且Linux也已经成为IT行业的标配,所以,你是时候要了解一下他了。1、为什么干IT一定要学linux?这个问题似乎很好回答,现在已经马上2022年了,如果你还不会Linux,那真的要抓紧了,说起Linux,我想大家都并不陌生,可以说,Linux已经是我们进入IT行业的标配,不是说我们想不想学的问题了,而是进入IT行业的必备技能。
1、自动配置SSH密钥实例yamlhosts:hadoop3gather_facts:noroles:rolestasks:name:closesshyes/nochecklineinfile:path=/etc/ssh/ssh_configregexp='(.)StrictHostKeyChecking(.)'line="StrictHostKeyCheckingno"name:delete/r
一、什么是性能调优系统的性能是指操作系统完成任务的有效性、稳定性和响应速度。Linux系统管理员可能经常会遇到系统不稳定、响应速度慢等问题,例如在linux上搭建了一个web服务,经常出现网页无法打开、打开速度慢等现象,而遇到这些问题,就有人会抱怨linux系统不好,其实这些都是表面现象。操作系统完成一个任务时,与系统自身设置、网络拓朴结构、路由设备、路由策略、接入设备、物理线路等多个方面都密切相
我们前面的课程中学习了一些常用控制器的基本用法,我们也了解到 Pod 的生命是有限的,死亡过后不会复活了。然后我们知道可以用 ReplicaSet 和Deployment 来动态的创建和销毁 Pod,每个 Pod 都有自己的 IP 地址,但是如果 Pod 重建了的话,那么它的 IP 很有可能也就变化了。这就会带来一个问题:比如我们有一些后端的 Pod 集合为集群中的其他应用提供 API 服务,如果
前面我们一起学习了 Pod 的原理和一些基本使用,但是在实际使用的时候并不会直接使用 Pod,而是会使用各种控制器来满足我们的需求,Kubernetes 中运行了一系列控制器来确保集群的当前状态与期望状态保持一致,它们就是 Kubernetes 的大脑。例如,ReplicaSet 控制器负责维护集群中运行的 Pod 数量;Node 控制器负责监控节点的状态,并在节点出现故障时及时做出响应。总而言之
今天我们来说说Deployment, Deployment一个非常重要的功能就是实现了 Pod 的“水平扩展/收缩”,比如我们应用更新了,我们只需要更新我们的容器镜像,然后修改 Deployment 里面的 Pod 模板镜像,那么 Deployment 就会用滚动更新(Rolling Update)的方式来升级现在的 Pod,这个能力是非常重要的,因为对于线上的服务我们需要做到不中断服务,所以滚动
今天继续来说说pod,这个在k8s中非常重要。先看下图:前面的我们了解了 Kubernetes 的基本架构,以及如何使用资源清单在集群中部署一个应用。我们也了解到了 Pod 是 Kubernetes 集群中最基本的调度单元,我们平时在集群中部署的应用都是以 Pod 为单位的,而并不是我们熟知的容器,这样设计的目的是什么呢?为何不直接使用容器呢?为什么需要 Pod¶假设 Kubernetes 中调度
前面我们得 Kubernetes 集群已经搭建成功了,现在我们就可以在集群里面来跑我们的应用了。要在集群里面运行我们自己的应用,首先我们需要知道几个概念。第一个当然就是应用的镜像,因为我们在集群中运行的是容器,所以首先需要将我们的应用打包成镜像,前面的课程中我们已经学习过如何将应用打包成镜像,这里就不再赘述了。镜像准备好了,Kubernetes 集群也准备好了,其实我们就可以把我们的应用部署到集群
1、安装环境介绍安装k8s集群环境,需要3台主机,学习环境4核8G内存,500GB磁盘即可满足要求。这里采用centos7.9系统。主机名/IP用途k8smaster(172.16.213.221)k8s集群的master节点k8snode1(172.16.213.222)k8s集群的work节点1k8snode2(172.16.213.223)k8s集群的work节点22、升级内核#安装新内核[
Kubernetes(简称 K8S) 的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器;容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法,而且容器是共享一个内核的;由于容器技术的兴起,导致大量的容器应用出现,所以就出现了一些用来支持应用程序容器化部署和组织的容器编排技术,一些流行的开源容器编
1.bulid服务除了可以基于指定的镜像,还可以基于一份Dockerfile,在使用up启动之时执行构建任务,这个构建标签就是build,它可以指定Dockerfile所在文件夹的路径。Compose将会利用它自动构建这个镜像,然后使用这个镜像启动服务容器build:/path/to/build/dir也可以是相对路径build:./dir设定上下文根目录,然后以该目录为准指定Dockerfile
一、什么是Docker-ComposeCompose项目来源于之前的fig项目,使用python语言编写,与docker/swarm配合度很高。Compose是Docker容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用DockerCompose不再需要使用shell脚本来启动容器。Compose通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过se
构建镜像现在让我们再回到之前定制的nginx镜像的Dockerfile来。现在我们明白了这个Dockerfile的内容,那么让我们来构建这个镜像吧。在Dockerfile文件所在目录执行:$dockerbuild-tnginx:v1.SendingbuildcontexttoDockerdaemon2.048kBStep1:FROMnginx--->e43d811ce2f4Step2:RUN
镜像的定制实际上就是定制镜像的每一层所添加的配置、文件等信息,实际上当我们在一个容器中添加或者修改了一些文件后,我们可以通过docker commit命令来生成一个新的镜像,但是这个方法不够直观,没办法追溯我们镜像里面到底有哪些内容,所以实际定制镜像的过程我们很少采用这种方式。而是使用一个名为 Dockerfile 的文本文件来进行镜像定制,我们可以把镜像的每一层修改、安装、构建、操作的命令都写入
1、批量更改主机名并生成本地解析在大数据运维环境下,对主机名要求比较严格,所以对大数据节点的主机名要进行统一规划,然后集中设置,如果本地没有建立DNS解析服务器,还需要对每个节点添加本地解析,也就是将每个节点的ip和主机名的对应关系添加到/etc/hosts文件中。要解决这两个问题,只需要两个playbook脚本即可自动完成。要批量更改每个节点的主机名,首先需要修改ansible中/etc/ans
1、playbook简介与文件格式playbook字面意思,即剧本,现实中由演员按照剧本表演,在Ansible中,这次由计算机进行表演,由计算机安装、部署应用,提供对外服务,以及组织计算机处理各种各样的事情。playbook文件由YMAL语言编写。YMAL格式是类似于JSON的文件格式,便于人理解和阅读,同时便于书写。首先学习了解一下YMAL的格式,对后面书写playbook很有帮助。以下为pla
一、常见的session一致性方案在web集群系统中,为了使web能适应大规模的访问,需要实现应用的集群部署.而实现集群部署首先要解决session的统一,即需要实现session的一致性,目前,实现session一致性主要有两个方案,分别是session复制和session共享。session复制,是指session信息会在集群节点之间复制,每个节点服务器上都会有相同的session信息。这种方
2020年的春节让一场突如其来的疫情,打乱了企业节后正常复工的节奏,目前各企业会陆续在2月10日上班,在此境况下,如何在防范疫情的同时,并保障企业顺利开工成为面临的头等大事。现在有不少企业,特别是一些互联网公司,开始尝试一种新策略:远程办公。我们公司已经在2月3号开工了,不过都是远程办公模式,今天我结合我们的办公模式,给大家分享下如何高效、安全的实现远程办公,各个相关行业可以参考选择。远程办公范畴
这是一个关于心灵挣扎的故事,看看是否可以给您当一面镜子,时常的对照一下自己。。。一个有灵性的人,突破自我,往往就在一瞬间。。。有两个年轻人,大学毕业后一起到广州闯天下。甲很快做成一单大生意,升为部门经理;乙业绩很差,还是一个业务员,并且是甲的手下。乙心理不平衡,就去庙里找和尚,求神明相助。和尚说:“你过三年再看。”三年后,他找到和尚,很沮丧地说甲现在已经是总经理了。和尚说:再过三年再看。三年又过去
我将多年来企业一线调优经验进行了总结和提炼
一、为什么要学linux命令Linux是由命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平,命令行方式的操作永远是不会变的。Linux命令有许多强大的功能:从简单的磁盘操作、文件存取,到进行复杂的多媒体图像和流媒体文件的制作,都离不开命令行。虽然Linux也有桌面系统,但是X-window也只是运行在命令行模式下的一个应用程序。因此,可以说命令是学习Linux系统的基础,在很大程度上
有人说zabbix难点在配置,面对很多的配置项,不知道所以然了,其实我觉得这是没掌握好zabbix的学习方法,要掌握了zabbix的学习思路,可以在一个小时内快速掌握zabbix的各种配置,下面我将重点讲述下如何快速、高效的对zabbix进行配置,已完成zabbix灵活的监控功能。zabbix的配置全部都在zabbix web上完成,这点我非常喜欢,登录到zabbix web平台后,默认是英文界面
运维是一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,从最初的网络管理(网管)发展到现在的系统运维工程师、网络运维工程师、安全运维工程师、运维开发工程师等,可以看出,运维的分工一直在细化,并且对综合技能要求越来越高,可以看出,未来运维的发展趋势是高、精、尖,高表示高度,精表示精通,尖表示尖端,也就是运维职场一定要站在一定的技术高度,在多个技术领域中,要精通某项技能,同时
既然要说,那就和大家一起分享下吧,顺便总结下十几年的Linux运维经验。
小李和小王是大学同学,都是计算机专业,毕业后都进入了同一家大型软件公司做软件开发工作,不知不觉,他们已经在这家公司工作5年了,在一次同学聚会上,大家把酒言欢,共叙桑麻。同学多年不见,当然,少不了工作和薪资的话题,无意中,小李听到了小王的薪资已经有3万多,他心里咯噔了一下,突然觉着落差好大,因为自己才刚刚涨薪到1万,刚开始觉得已经很不错了,但是跟小王一对比,发现自己被拉开了好远。自此之后,小李就闷闷
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号