自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux常用的一些实战脚本(持续更新)

持续更新linux实战运维脚本

2023-01-31 10:40:48 1373 1

原创 自动化运维工具ansible:(三)playbook中template、tags、roles操作示例

ansible的template模块,可以将带有参数的配置文件传递到目标地址,可以对文件进行属组属主的修改以及备份。优先类似于docker的consul。templates功能:根据模板文件动态生成对应的配置文件,命名必须以.j2结尾#修改httpd配置文件42 Listen {{http_port}} #给监听端口定义变量43 MaxClients {{client_num}} #最大并发量定义变量95 ServerName {{server_name}} #给域名定义变量。......

2022-08-19 09:52:43 1051

原创 自动化运维工具ansible:(二)playbook剧本的讲解与应用

playbook 是 ansible 用于配置,部署,和管理被控节点的剧本。通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机达到预期的状态。playbook 就像 Ansible 控制器给被控节点列出的的一系列 to-do-list ,而被控节点必须要完成。也可以这么理解,playbook 字面意思,即剧本,现实中由演员按照剧本表演,在 Ansible 中,这次由计算机进行表演,由计算机安装,部署应用,提供对外服务,以及组织计算机处理各种各样的事情。......

2022-08-19 09:52:19 1373

原创 自动化运维工具ansible:(一)概念和部署

ansible是新出的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。............

2022-08-19 09:51:54 1824

原创 Kubernetes:(十八)flannel网络

覆盖网络,在基础网络上叠加的一种虚拟网络技术模式,该网络中的主机通过虚拟链路连接起来类似VPN隧道,原理为在物理网络上实现的逻辑网络将源数据包封装到UDP中,并使用基础网络的IP/MAC作为外层包头进行封装,然后在以太网上传输,到达目的地后由隧道断电解封并将数据发给目标地址是Overlay网络的一种,也是将源数据包封装在另一种网络包中进行路由转发和通信,目前已支持UDP、VXLAN、AWS VPN和GCE路由等数据转发方式特点hostgw这种方式就是直接路由vxlan。...

2022-08-15 12:30:10 3790

原创 prometheus:(二)监控概述

cacti(英文含义为仙人掌)是一套基于 PHP、MySQL、SNMP 和 RRDtool 开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据,使用 RRDTool 绘图,但使用者无须了解 RRDTool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与 LDAP 结合进行用户认证,同时也能自定义模板,在历史数据的展示监控方面,其功能相当不错。......

2022-08-10 18:22:10 2358 3

原创 Prometheus :(一)基本概念

指标(metric):指标名称和描述当前样本特征的 labelsets;时间戳(timestamp):一个精确到毫秒的时间戳;样本值(value): 一个 folat64 的浮点型数据表示当前样本的值。通过如下表达方式表示指定指标名称和指定标签集合的时间序列:{=, ...}...

2022-08-10 17:27:10 2672

原创 Kubernetes:(十七)Helm概述、安装及配置

Helm是kubernetes生态系统中的一个软件包管理工具,类似ubuntu的apt,centos的yum或python的pip一样,专门负责管理kubernetes应用资源;使用helm可以对kubernetes应用进行统一打包、分发、安装、升级以及回退等操作。Helm 就是为了简化在 Kubernetes 中安装部署容器云应用的一个客户端工具。通过 helm 能够帮助开发者定义、安装和升级 Kubernetes 中的容器云应用,同时也可以通过 helm 进行容器云应用的分享。...

2022-08-09 16:37:22 1851

原创 Kubernetes:(十六)Ingress的概念和原理

ingress controller是一个pod服务,封装了一个web前端负载均衡器,同时在其基础上实现了动态感知ingress并根据ingress的定义生成前端web负载均衡器的配置文件,ingress-nginx-controller本质上就是一个nginx,只不过它能根据ingress资源定义的动态生成nginx的配置文件,然后动态reload。个人觉得ingress controller的重大作用是将前端负载均衡器和k8s完美地结合起来,一方面在云、容器平台下方便配置管理,另一方面实现了。...

2022-08-09 15:01:36 3002

原创 Linux 命令行编辑快捷键——方便你我他

渣渣们(比如我)在Linux命令窗口(终端)敲命令时,肯定觉得通过输入一串一串的字符的方式来控制计算器时效率很低。Linux命令解释器(Shell)是有很多快捷键的,熟练掌握可以极大的提高操作效率。下面列出最常用的快捷键,这还不是完全版。......

2022-08-08 14:43:51 638 1

原创 非关系型数据库MongoDB:(二)副本集部署说明、数据迁移、限制内存、启用mongo认证

前言:了解mongoDB数据库的特性、优点、部署、基础命令看非关系型数据库MongoDB:(一)认识、优点、搭建、基础命令此部分的前提是你已经下载并且安装好了MongoDB,并能够正常运行。单节点上运行一个副本集,只能作为开发和测试使用,不能作为生产环境。下面我们建立一个以rs0为名称的副本集。其中配置环境为ubuntu 12.10和MongoDB 2.4。1. 用下面的命令建立三个文件夹2. 启动三个mongod进程,注意端口号不能相同,且未被占用。你可以使用三个终端来连接同一台Linux,然后分别

2022-08-08 14:41:39 1054

原创 CI/CD:持续集成/持续部署(难舍难分)

CI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD的核心概念是持续集成、持续交付和持续部署。指在开发过程中自动执行一系列从开发到部署的过程中,尽量减少人工的介入。具体来说,CI/CD可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务统称为“CI/CD管道”,由开发和运维团队协同支持。CI指的是持续集成,CD指的是持续交付和持续部署。......

2022-08-07 17:23:21 1173

原创 Kubernetes:(十五)PV与PVC的《恩怨情仇》

当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中,放了方便我们的使用和管理,Kubernetes提出了PV和PVC的概念,这样Kubernetes集群的管理人员就可以将注意力集中到Kubernetes集群中来,而无需操心后端的存储设备。从上图可以看出,底层的存储可以使各种类型,包括NFS、Ceph、CIFS等等,而Kubernetes会把这些存储统一抽象为PV。.........

2022-08-07 17:23:13 850

原创 Kubernetes:(十四)安全机制(一定要做好安全措施哦)

kind: Podmetadata:spec:ports:serviceAccountName: daniel # 指定sa为daniel。

2022-08-07 17:23:00 4518

原创 Kubernetes:(十三)secret与configmap的那些事

目录一:Secret1.1secret 简介1.2创建及使用1.2.1基于文件形式 1.2.2基于参数创建secret 1.2.3secret资源的使用方式 二:configmap 2.1configmap 简介2.2创建 ConfigMap 2.2.1基于kubectl形式2.2.2基于变量参数形式前言:配置管理原理当需要修改很多配置文件时,创建一个配置资源,将配置资源挂载到各个pod当中,给pod所使用,这样就只要修改配置资源就可以了Secret 解决了密码、token、秘钥等敏感数据的配置问题,而不

2022-08-07 17:22:53 478

原创 每天一个狗命小技巧:当你记住这10条Linux命令后,你就再也不会坐穿某个地方咯(狗头)

作为一个程序猿,每一次的操作都心惊胆战,现实中,删库容易,跑路难,从业者充满了泪水。这些动作里面,并不总是存在主观的恶意,而是这些命令太危险了。线上操作时,一定要保持清醒的头脑,切记马虎大意。你说你误操作的,谁信呢?切记:!!严禁酒后登录线上服务器操作严禁吵架后情绪激动登录线上服务器操作严禁长时间加班后操作线上环境禁止在线上试验不熟悉的命令重要系统先做备份​​​​​​​线上值万金,执行需谨慎。小心驶得万年船,在危险的线上环境,做事追求的不是快,而是稳。.........

2022-08-04 11:44:51 577

原创 curl命令的那些事

curl 支持你做很多事情。你可以把 curl 想象成一个精简的命令行网页浏览器。它支持几乎你能想到的所有协议,可以交互访问几乎所有在线内容。唯一和浏览器不同的是,curl 不会渲染接收到的相应信息。...

2022-08-04 11:01:57 1357

原创 Kubernetes:(十二)k8s的控制器们

StatefulSet创建的pod是有身份的!域名 nginx-statefulset-0.nginx主机名 nginx-statefulset-0存储 (PVC)

2022-08-04 11:00:46 945

原创 何为Nginx惊群效应?以修勾为例{目瞪狗呆}

多进程处理请求。master进程先创建好需要的listen的socket后,然后在fork出多个worker进程,这样每个worker进程都可以去accept。当一个client连接到来时,所有sccept进程都会受到通知,但只有一个进程可以accept成功,其他的则会accept失败。这里会有一个惊群的问题,后面说。.........

2022-08-03 22:59:58 537

原创 Kubernetes:(十一)KubeSphere的介绍和安装(华丽的篇章)

PVC的全称是Persistent Volume claim,是持久化存储的请求。

2022-08-03 18:59:49 5520 2

原创 Kubernetes:(十)K8s的亲和、反亲和、污点、容忍

Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。......

2022-08-03 18:59:24 1771 2

原创 Kubernetes:(九)coredns(浪不动了)

与BIND的配置文件的语法相比,CoreDNS的Corefile(称为)非常简单。基本的基于CoreDNS的DNS服务器的Corefile通常只有几行,而且相对而言,易于阅读。CoreDNS使用插件来提供DNS功能。因此,有一个用于缓存的插件和一个用于转发的插件,一个用于配置从文件读取区域数据的主DNS服务器的插件,以及一个插件用于配置辅助DNS服务器。不仅可以直接配置每个插件(请参阅上一段落),而且,如果不需要插件,则无需配置它,也不会执行其代码。这使CoreDNS更快,更安全。......

2022-08-03 18:58:51 2028

原创 Kubernetes:(八)调度约束和故障排查

Kubernetes通过watch的机制进行每个组件的协作,每个组件之间的设计实现了解耦。默认调度策略Default-scheduler预选、优选+打分。(需要经过调度器(不会进行预选和预选的打分))基于标签形式的调度。.........

2022-08-02 17:00:47 195

原创 令牌桶算法和漏桶算法之间的那些事

在网络中,漏桶算法可以控制端口的流量输出速率,平滑网络上的突发流量,实现流量整形,从而为网络提供一个稳定的流量。令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。漏桶算法思路很简单,请求先进入到漏桶里,漏桶以固定的速度出水,也就是处理请求,当水加的过快,则会直接溢出,也就是拒绝请求,在“令牌桶算法”中,只要令牌桶中存在令牌,那么就允许突发地传输数据直到达到用户配置的门限,因此它适合于具有突发特性的流量。...

2022-08-02 16:15:01 486

原创 Kubernetes:(七)k8s优化大法(江湖失传已久的武林秘籍)

目前的解决方案是使用etcdoperator来搭建etcd集群,operator是CoreOS推出的旨在简化复杂有状态应用管理的框架,它是一个感知应用状态的控制器,通过扩展KubernetesAPI来自动创建、管理和配置应用实例。设置--max-requests-inflight和--max-mutating-requests-inflight,默认是200和400。设置--image-pull-progress-deadline=30,配置镜像拉取超时。............

2022-08-02 15:15:43 4767 2

原创 Kubernetes:(六)Pod重启策略和状态解释

修改静态Pod的Manifest后未自动重建,kubelet使用inotify机制检测/etc/kubernetes/manifests目录(可通过kubelet的-pod-manifest-path选项指定)中静态Pod的变化,并在文件发生变化后重新创建相应的Pod。重启策略适用于pod对象中的所有容器,首次需要重启的容器,将在其需要时立即进行重启,随后再次需要重启的操作将由kubelet延迟一段时间后进行,且反复的重启操作的延迟时长为。不能调度,没有合适的节点。...

2022-08-01 23:02:27 1308

原创 NoSQL之redis缓存雪崩、穿透、击穿概念解决办法

简单地来说,就是在缓存失效的时候(判断拿出来的值为空),不是立即去loaddb,而是先使用缓存工具的某些带成功操作返回值的操作(比如Redis的SETNX或者Memcache的ADD)去set一个mutexkey,当操作返回成功时,再进行loaddb的操作并回设缓存;缓存击穿,就是说某个key非常热点,访问非常频繁,处于集中式高并发访问的情况,当这个key在失效的瞬间,大量的请求就击穿了缓存,直接请求数据库,就像是在一道屏障上凿开了一个洞。可以返回一些默认的值,或者友情提示,或者空白的值。......

2022-08-01 21:08:30 777

原创 Kubernetes:(五)Pod进阶(资源限制、健康检查)

livenessProbe(存活探针)∶判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器readinessProbe(就绪探针)∶判断容器是否能够进入ready状态,探针失败则进入noready状态,并从service的endpoints中剔除此容器startupProbe∶判断容器内的应用是否启动成功,在success状态前,其它探针都处于无效状态。......

2022-08-01 21:07:57 1588

原创 SLB负载均衡的概念

目录一:SLB的概念1.1什么是负载均衡?1.2负载均衡SLB发展过程1.3负载均衡的主要作用 二:阿里云负载均衡SLB2.1阿里云负载均衡SLB的优点2.2负载均衡SLB应用场景2.3阿里云负载均衡SLB组成2.4SLB的产品优势2.5负载均衡中的概念/术语三:SLB原理3.1转发方式的工作原理3.2会话保持及权重设置的工作原理3.3如何把负载均衡和云产品结合? 3.4SLB中的概念3.4.1监听3.4.2监听转发3.4.3会话保持3.4.4SLB的后端服务器3.4.5健康检查3.4.6访问控制 3.5S

2022-07-31 22:27:06 1610 1

原创 Kubernetes:(四)常用命令

YAML,即YAMLAin’taMarkupLanguage(YAML不是一种标记语言)的递归缩写。YAML其实意思是YetAnotherMarkupLanguage(仍是一种标记语言)。它主要强度这种语言是以数据为中心,而不是以标记为中心,而像XML语言就使用了大量的标记。YAML可读性高,易于理解,用来表达数据序列化的格式。它的语法和其他高级语言类似,还可以简单表达数组、散列表,标量等数据形态。.yml,例如application.yml●port。...

2022-07-29 17:06:57 6601

原创 非关系型数据库MongoDB:(一)概念、优点、搭建、基础命令

由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。。MongoDB服务端可运行在Linux、Windows或macosx平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。............

2022-07-27 19:30:09 1948

原创 Kubernetes:(三)K8s架构及部署

创建一个Master节点kubeadminit将Node节点加入到当前集群中$kubeadmjoinkubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。自我修复一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器弹性伸缩可以根据需要,自动对集群中正在运行的容器数量进行调整服务发现服务可以通过自动发现的形式找到它所依赖的服务负载均衡httpshttpshttpshttps。..............................

2022-07-26 19:43:31 3729 1

原创 Kubernetes:(二)了解k8s组件

访问的方式是通过kube-proxy匹配iptables功能进行转发的(四层)k8s官方默认提供了四层的代理/负载均衡方式,而我们可以借助于官方后续支持的ingres-nginx提供七层转发/负载均衡。

2022-07-26 14:50:04 638

原创 nacos注册中心

微服务架构就是把一个单体项目拆分为多个微小的服务,每个微服务可以在自己的进程中运行并与HTTP资源API进行通信。围绕业务功能进行构建,独立技术选型,独立开发,独立部署,独立运维,并且多个服务相互协调,相互配合,最终完成用户的价值单体架构所有的模块全都耦合在一块,代码量大,维护困难,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。微服务架构只是一个样式,一种风格;可以将一个项目,拆分成多个模块去开发;每一个模块都是单独运行在自己的容器中的;https。......

2022-07-25 21:36:22 3944

原创 Kubernetes:(一)基本概念

Kubernetes(通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写)是一个以容器为中心的基础架构,可以实现在物理集群或虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。满足了应用程序在生产环境中的一些通用需求应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等。Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。作用Docker自我修复。..........

2022-07-23 14:14:35 1526

原创 给我五分钟,给你一片“云”

云是一种比喻的说法,是指基于云计算和云服务的应用,这是网络发展的趋势。具体来讲就是你把电脑里所有的资料都放在网络上,什么都不用带,到任何一个地方任何一个角落,只要能上网,通过什么识别,你的资料或者你想要的资料都能找出来查询、修改、保存。就和钱存到银行以后,到那个城市的ATM机上都能取出来一样。早期的云只是一个数据存储中心,逐渐地还能提供计算、服务、甚至应用功能。云概念是基于“云计算”技术,实现各种终端设备之间的互联互通。用户享受的所有资源、所有应用程序全部都由一个存储和运算能力超强的云端后台来提供公有云。.

2022-07-22 16:05:13 1068

原创 Docker:(十一)harbor私有仓库

Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的DockerRegistry服务虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的DockerRegistry管理项目,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务。harbor核心组件https。......

2022-07-21 20:03:00 1497

原创 Docker:(十)consul注册中心、注册机

Consul是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由HashiCorp公司用Go语言开发,基于MozillaPublicLicense2.0的协议进行开源。Consul是分布式的、高可用的、可横向扩展的用于实现分布式系统的服务发现与配置。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Raft算法,用来保证服务的高可用。consul是google开源的一个使用go语言开发的服务管理软件。Consul的特性支持健康检查、允许存储键值对。...

2022-07-20 17:35:53 1088

原创 Docker:(九)compose容器编排工具

compose前身是Fig,是一个用于定义及允许多个Docker容器的工具,主要是通过一个YAML文件进行服务配置使用DockerCompose不再需要使用Shell脚本来启动容器DockerCompose非常适合组合使用多个容器进行开发的场景YAML(语言)的设计目标,就是方便人类读写,它实质上是一种通用的数据串行化格式大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格缩进的空格数目不重要,只要相同层级的元素左侧对齐即可#表示注释。...............

2022-07-19 20:23:38 3728

原创 Docker:(八)私有仓库部署、cgroup资源限制

CPU—>VCPU–>以进程的方式体现在workstation环境(docker环境中)—》docker表现形式是容器,–>Vcpu以进程的方式控制容器–》容器中的应用需要的是服务进程支持–》宿主机内核中cpu可以被cgroup管理(通过分配资源手段)–》linux内核中的cgroup可以直接控制VCPU的资源分配,而VCPU在workstation中是以进程的方式管理docker容器的,所以,也可以认为Cgroups在直接/间接管理docker容器中的应用。......

2022-07-19 10:18:40 574

空空如也

空空如也

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

TA关注的人

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