自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hadoop大数据平台

一、hadoop简介Hadoop起源于Google的三大论文:GFS:Google的分布式文件系统Google File SystemMapReduce:Google的MapReduce开源分布式并行计算框架BigTable:一个大型的分布式数据库演变关系:GFS—->HDFSGoogle MapReduce—->Hadoop MapReduceBigTable—->HBaseHadoop名字不是一个缩写,是Hadoop之父Doug Cutting儿子毛绒玩具象命

2021-04-06 01:42:23 1349

原创 moosefs分布式文件系统

环境搭建[root@server1 ~]# curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo这里注意需要把gpg检测关掉[root@server1 ~]# yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli -y[root@server1 ~]# systemctl start moosefs-mast

2021-04-06 01:42:09 476

原创 运维面试前准备

描述一下DNS的解析过程:假设在浏览器中输入www.baidu.com ,操作系统回先检查自己本地的hosts中是否有网址映射关系,如果有就进行本地域名解析。,如果hosts文件中不会存在映射关系,则查找本地的DNS解释器缓存,是否有这个网址的映射关系,如果有进直接进行域名解析。如果hosts与本地的DNS解释器缓存都没有映射关系,首先会找到TCP/IP参数中设置的首选DNS服务器,服务器接收到查询后,如果查询的域名,包含在本地配置的区域资源中,则返回解析结果给客户机,完成域名解析,如果要查询的域名

2021-04-05 15:27:13 5234 13

原创 运维校招面经汇总(来源牛客网)

shopee SRE作者:Stackingrule链接:https://www.nowcoder.com/discuss/626107?source_id=discuss_experience_nctrack&channel=-1来源:牛客网2021-03-28 一面,大约40min1.自我介绍2.介绍一下项目,用到了哪些技术?3.介绍实习4.对sre的看法5.操作系统进程与线程6.网络四次挥手为什么等待2MSLtcp与udp的区别和使用场景7.数据库事务的特性,详细

2021-04-05 00:58:20 5703 2

原创 jenkins持续集成

[root@server2 ~]# rpm -ivh jdk-8u171-linux-x64.rpm[root@server2 ~]# rpm -ivh jenkins-2.283-1.1.noarch.rpm[root@server2 ~]# cd /var/lib/jenkins/[root@server2 jenkins]# systemctl start jenkins[root@server2 jenkins]# vim hudson.model.UpdateCenter.xml[roo

2021-03-18 17:39:17 189

原创 k8s资源监控

Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量数据,并不保存历史数据。Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。必须部署 metrics-s

2021-03-16 10:33:24 528

原创 Django入门(二) 理解Django生命流程周期

接上篇:Django入门-项目创建与初识子应用项目的数据库模型这里我们先使用sqlite类型的数据库,后面在进行改变创建数据库模型名词:ORM(Object Ralational Mapping,对象关系映射)用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法。一对多关系:外键写在多的一端book:hero = 1:n本示例完成“图书-英雄”信息的维

2021-03-14 02:47:38 287

原创 kibana数据可视化

kibana简介Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。将地理数据融入任何地图精选的时序性 UI,对您Elasticsearch 中的数据执行高级时间序列分析。利用 Graph 功能分析数据间的关系Kibana 开发工具为开发人员提供了多种强大方法来帮助其与Elastic Stack 进行交互。kibana安装与配置kibana下载https://elasticsearch.cn/download/kibana配置:[root@server

2021-03-11 16:42:18 372

原创 logstash数据采集

logstash简介• Logstash是一个开源的服务器端数据处理管道。• logstash拥有200多个插件,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(大多都是 Elasticsearch。)• Logstash管道有两个必需的元素,输入和输出,以及一个可选元素过滤器。输入:采集各种样式、大小和来源的数据• Logstash 支持各种输入选择 ,同时从众多常用来源捕捉事件。• 能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数

2021-03-10 12:03:08 358

原创 ELK日志分析平台(elasticsearch)

elasticsearch简介Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:一个分布式的实时文档存储,每个字段 可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据基础模块cluster:管理集群状态,维护集群层面的配置信息。alloction:封装了分片分配相关的功能

2021-03-09 16:56:58 302

原创 k8s的网络优化(metallb)

一、metallb部署参考网址:官方网站为什么使用metallb?Kubernetes不提供网络负载均衡器的实现(LoadBalancer类型的服务)用于裸机集群。Kubernetes附带的Network LB的实现都是调用各种IaaS平台(GCP,AWS,Azure等)的粘合代码。如果您未在受支持的IaaS平台(GCP,AWS,Azure等)上运行,则LoadBalancers在创建时将无限期保持“待处理”状态。裸机集群运营商只剩下两个较小的工具,即“ NodePort”和“ externalIP

2021-03-08 15:12:25 1490 1

原创 Django入门-项目创建与初识子应用

一、预备知识HTTP协议的认识HTTP协议就是客户端和服务端之间数据传输的格式规范,格式简称为“超文本传输协议”。基于TCP/IP(1)HTTP是一个属于应用层的面向对象的协议(2)HTTP协议工作于客户端-服务端架构上。基于请求-相应模式(1)浏览器为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求(2)WEB服务根据接收到的请求后,向客户端发送响应信息。为什么说HTTP协议是无状态协议?HTTP是一种不保存状态,即无状态(stateless)协议。HT

2021-03-07 12:52:34 236

原创 Python面向对象的高级特性

一、类方法与静态方法类方法是类对象所拥有的方法,需要用修饰器一般以@classmethod来标识其为类方法,1). 对于类方法,第一个参数必须是类对象,作为第一个参数(cls是形参, 可以修改为其它变量名,但最好用’cls’了)2). 能够通过实例对象和类对象去访问。"""相关的源码:from datetime import datetime"""class Student(object): def __init__(self, name, age): self.

2021-03-06 22:35:42 185

原创 python栈与队列的封装

项目案例一:栈的封装栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。向一个栈内插入元素称为是进栈,push;从一个栈删除元素称为是出栈,pop。特点 :后进先出(LIFO)。代码:class Stack(object): """栈的封装[1,2,3,4]""" def __init__(self): self.stack = [] def push(se

2021-03-06 17:17:46 221

原创 python面向对象编程(封装与继承)

一、类和对象# 类(Class)class Cat: # 属性:一般是名词,eg:name,age,gender.... name = 'name' kind = 'kind' # 方法:一般情况是动词,eg:create,delete,eating,run... def eat(self): print('cat like eating fish...')#对象(Object):对类得实例化(具体化)jiongjiong = Cat()p

2021-03-04 12:00:45 293

原创 k8s网络通信

一、通信模式一 、k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannel,calico等。CNI插件存放位置:# cat /etc/cni/net.d/10-flannel.conflist插件使用的解决方案如下:虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信。多路复用:MacVLAN,多个容器共用一个物理网卡进行通信。硬件交换:SR-LOV,一个物理网卡可以虚拟出多个接口,这个性能最好。二、容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现

2021-03-01 14:34:42 757

原创 bind-utils.x86_64(dig) 安装失败解决办法

安装bind-utils.x86_64,出现报错,yum install bind-utils.x86_64 -y如果出现以上报错,说明系统安装自带的bind类rpm包冲突。解决办法是首先remove掉已经安装的包[root@server2 ~]# rpm -qa|grep bind[root@server2 ~]# yum remove bind-libs-lite-9.11.4-26.P2.el7_9.3.x86_64 bind-license-9.11.4-26.P2.el7_9

2021-03-01 02:55:11 2258

原创 k8s之service服务(微服务)

一、service介绍Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)service的类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个NodeIP:nodePort都将路由到ClusterIP。Lo

2021-02-28 17:34:21 1306

原创 k8s之pod管理(控制器)

参考网站:kuberbetes官网1 Pod 的分类自主式 Pod:Pod 退出后不会被创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目2 控制器类型Replication Controller和ReplicaSetDeploymentDaemonSetStatefulSetJobCronJobHPA全称Horizontal Pod Autoscaler3 Replication Controller和ReplicaSetReplicaSe

2021-02-25 00:53:44 424

原创 k8s之pod管理

Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Network和UTC namespace。参考地址:pod命令行管理一、创建和删除pod应用实验环境:server1作为本地仓库,server2作为master,server3,server4作为node节点实验前要保证保证仓库正常运行[root@server1 harbo

2021-02-24 12:48:18 563

原创 python模块与包

一、模块模块就是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块

2021-02-23 23:25:24 133 1

原创 python异常处理

一、什么是异常1.Error和Exception的区别Error(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误,建议让程序终止。Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。2.常见的异常AttributeError 、IOError 、ImportError 、IndexError、SyntaxError、TypeError、

2021-02-23 22:47:24 161

原创 python高级特性

一、生成式详解1.列表生成式列表生成式就是一个用来生成列表的特定语法形式的表达式。是Python提供的一种生成列表的简洁形式, 可快速生成一个新的list。普通的语法格式:[exp for iter_var in iterable]带过滤功能语法格式: [exp for iter_var in iterable if_exp]循环嵌套语法格式: [exp for iter_var_A in iterable_A for iter_var_B in iterable_B]# 需求:生成100个验.

2021-02-23 20:42:03 128 1

原创 python持久化存储文件操作

一、 文件操作介绍日常中的数据存储在纸上, 而计算机的数据存储在哪里呢? —硬盘上1. 文件的作用一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电脑之后,“哭都没地方哭了”。 默认数据是加载到内存中,结果也是保存到内存中, 程序执行结束,所有的数据释放。2.文件的打开读写关闭文件的打开模式要读取二进制文件,比如图片、视频等等,用’rb’, ‘wb’, 'ab’等模式打开文件即可# 1.打开文件"""mode: r:只能读文件

2021-02-22 09:18:47 331 1

原创 python 函数

一、函数概述从实现函数的角度来看,其至少需要想清楚以下 3 点:函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数。函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据应该被定义成返回值。函数的内部实现过程。我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。编程语言中的函数,都可以用下图概括:从理论上说,不用函数,也能够编程,我们在前面已经写了程序,就

2021-02-20 23:39:53 376

原创 python的字典与集合

一、集合集合(set)是一个无序的不重复元素序列。1,2,3,4,1,2,3 = 1,2,3,41.集合的创建# 1. 集合的创建s = {1, 2, 3, 1, 2, 3} # {1, 2, 3}print(s, type(s))# 注意点1: 集合的元素必须时不可变数据类型。# s = {1, 2, 3, [1, 2, 3]}# print(s, type(s))# 注意点2:空集合不能使用{}, 而要使用set()# s = {}# print(s, type(s))s =

2021-02-20 16:38:06 243 1

原创 python的列表和元组

一、序列成员有序排列的,且可以通过下标偏移量访问到它的一个或者几个成员,这类类型统称为序列。序列数据类型包括:字符串,列表,和元组类型。特点: 都支持下面的特性索引与切片操作符成员关系操作符(in , not in)连接操作符(+) & 重复操作符(*)二、列表1.列表的创建数组: 存储同一种数据类型的集和。scores=[12,95.5]列表(打了激素的数组): 可以存储任意数据类型的集和。就是使用中括号[]包含的创建一个空列表li = []print(type(

2021-02-19 20:22:37 366

原创 python内置数据结构字符串

一、字符串的创建和赋值字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符下面演示两种常用的转义。二、字符串的基本特性1.连接操作符与重复操作符## 1.连接操作符和重复操作符name = "world"print ('hello ' + name)print ("*"*30 + '学生管理系统' + "

2021-02-06 23:35:56 220

原创 Kubernetes集群部署

一、Kubernetes简介在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。Kubernetes的好处:隐藏资源管理和错误处理,用户仅需要关注应用的开发。服务高可用、高可靠。可将

2021-02-06 21:47:50 474 1

原创 python三大流程控制

认识三大流程控制一、顺序流程控制就是根据公式等,从头开始执行,二、分支流程控制分支语句 if - else语句1.分支流程语句age = int(input ("请输入年龄:"))if age >= 18: print ("成年")else: print ("未成年")测试:2.分支流程控制之三元运算符可以将上面的四行程序简化成一行。age = int(input("请输入年龄:"))print("成年" if age>= 18 else "未成年

2021-02-03 19:38:53 341 1

原创 python基础语法

一、认识变量变量是内存中的一块区域。对象赋值实际上是对象的引用。a=10变量的命名: 变量名由字母,数字,下划线组成, 不能以数字开头. (a,b, c)hello = 100, hello_world = 100, count2 =100, 1count=10(错误)Python中,变量定义时不需要指定类型的,当用变量的时候,必须要给这个变量赋值;常用变量类型符号含义%s字符串%e对数字进行科学计数法表示%f浮点型(%.2f表示显示小数点后两位

2021-02-03 11:39:46 1781 3

原创 Docker 三剑客

链接: docker-machine 提取码: 6itu[root@server1 ~]# mv docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/docker-machine[root@server1 ~]# chmod +x /usr/local/bin/docker-machine[root@server1 ~]# ssh-keygen[root@server1 ~]# ssh-copy-id server2:[root@server1

2021-02-01 00:37:54 396

原创 Docker安全

一、理解Docker安全Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:Linux内核的命名空间机制提供的容器隔离安全Linux控制组机制对容器资源的控制能力安全。Linux内核的能力机制所带来的操作权限安全Docker程序(特别是服务端)本身的抗攻击性。其他安全增强机制对容器安全性的影响。命名空间隔离的安全当docker run启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也最直接的隔

2021-01-29 23:52:53 247

原创 Docker数据卷

一、Docker数据卷管理为什么要用数据卷docker分层文件系统性能差生命周期与容器相同docker数据卷mount到主机中,绕开分层文件系统和主机磁盘性能相同,容器删除后依然保留仅限本地磁盘,不能随容器迁移docker提供了两种卷:bind mountdocker managed volume[root@server2 ~]# docker run -it --rm -v /data1:/data1 -v /data2:/data2:ro -v /etc/yum.repos.d/

2021-01-29 15:13:35 123

原创 Docker网络

实验环境:[root@server1 harbor]# docker-compose stop ## 把仓库停掉一、Docker原生网络docker的镜像是令人称道的地方,但网络功能还是相对薄弱的部分。docker安装后会自动创建3种网络:bridge、host、none这里我们使用server2做实验。可以使用以下命令查看:[root@server2 ~]# docker network ls1.桥接网络[root@server2 ~]# y

2021-01-28 08:14:24 413 2

原创 Docker仓库搭建

一、docker仓库1.简介Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。2.registry工作原理4.搭建私有仓库[root@server1 nginx]# docker pull registry[root@server1 nginx]# docker images registry[root@server1 ngin

2021-01-26 21:57:19 1432

原创 Docker容器(配置+镜像建立及优化+镜像加速器制作)

一、docker简介Docker是管理容器的引擎。Docker为应用打包、部署平台,而非单纯的虚拟化技术1.VM vs Container2.传统虚拟机和容器的技术对比3.容器是如何工作的二、容器配置链接:官方站点阿里云开源镜像站1.搭建docker仓库[root@server1 ~]# cd /etc/yum.repos.d/[root@server1 yum.repos.d]# vim docker.repo[docker]name=docker-cebaseurl=h

2021-01-25 11:59:15 691

原创 salt-api配置

一、简介SaltStack 官方提供有REST API格式的 salt-api 项目,将使Salt与第三方系统集成变得尤为简单。官方提供了三种api模块:rest_cherrypyrest_tornadorest_wsgi官方链接下载api[root@server1 ~]# yum -y install salt-api.noarch二、salt-api配置1.生成证书[root@server1 ~]# cd /etc/pki/tls/private/[root@server1 p

2021-01-23 11:04:30 242 2

原创 saltstack 自动化运维管理

一、简介saltstack是一个配置管理系统,能够维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工作效率、规范业务配置与操作的利器。Salt的核心功能使命令发送到远程系统是并行的而不是串行的使用安全加密的协议使用最小最快的网络载荷提供简单的编程接口Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。SaltStack 采用 C/S模式,

2021-01-22 14:36:18 325

原创 zabbix的安装与部署(proxy、睿象云)

一、简介zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX

2021-01-19 20:57:24 3639

空空如也

空空如也

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

TA关注的人

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