自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简简单单

软通:一面:nginx的了解,mysql主从复制;k8s的高可用;写过什么shell脚本;dockfile的常用参数;ip route 详解中软:一面:gitlab项目;su;fdisk -l;mount;rm -rf "find /etc -name file "; sed ‘s/????##/g’ file文本替换;python的数据类型;可变与不可变;打开文件;深拷贝浅拷贝;is 和== 区别;对持续集成的理解二面:简单的工作经历了解;薪资期望;住址;对加班的看法;对我提出的建议:自信点,多

2021-04-09 17:53:18 227

原创 hadoop之hdfs

get hadoop-3.2.1.tar.gz jdk-8u181-linux-x64.tar.gzuseradd -u 1001 hadoopmv * /home/hadoop/su - hadooptar zxf hadoop-3.2.1.tar.gztar zxf jdk-8u181-linux-x64.tar.gzln -s jdk1.8.0_181/ javaln -s hadoop-3.2.1 hadoopcd hadoop/etc/hadoop/vim hadoop-env

2021-03-24 13:01:53 285

原创 mfs分布式存储

官网部署参考server1curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repovim MooseFS.repo #修改下gpgcheck=0yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-clisystemctl start moosefs-master所有节点的mfsmaster解析做一下vim /

2021-03-21 15:45:23 454

原创 mfs高可用

mfs的高可用有热备和冷备,官方的是冷备,备用机安装这个moosefs-metalogger;而这里要做的是热备,结合pacemaker做成服务级别的热备实验环境:rhel7.6 selinux and iptables disabledserver1 5 moosefs-master iscsi客户端server3 4 moosefs-chunkserverserver2 targetcli服务端真机 fence-virtd因为前面已经搭建好server1:moosefs-master,ser

2021-03-21 15:30:56 220

原创 jenkins持续集成与交付

cat /etc/hosts #所有主机地址解析编好server4 harbor仓库 #参考容器 镜像 仓库scp -r /etc/docker/certs.d/ server3:/etc/docker/

2021-03-20 17:54:26 147

原创 jenkins持续集成

jenkins简介Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中jenk

2021-03-19 21:35:44 679

原创 html标签

# 标题标签<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><h1>标题</h1><h2>标题</h2><h3>标题</h3><h4>标题</h4&gt

2021-03-17 22:37:16 62

原创 django入门

官网参考E:\djangoProject>python manage.py runserver 192.168.1.104:8000

2021-03-17 22:28:25 141

原创 git及gitlab代码仓库

git工具使用git参考

2021-03-17 13:29:03 210

原创 elk的xpack安全验证

一.xpack安全验证的开启server1 2 3作为es集群集群模式需要先创建证书# cd /usr/share/elasticsearch/# bin/elasticsearch-certutil ca# bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12# cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch# cd /etc/elastics

2021-03-16 17:19:13 477 2

原创 kibana数据可视化

Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等软件下载kibana配置server5rpm -ivh kibana-7.6.1-x86_64.rpmcd /etc/kibana/vim kibana.ymlserver.port: 5601 #服务端口7 server.host: "172.25.2.5" #服务监听地址28 elasticsearch.hosts: ["http://172.25.2.1:9200"] #es主机群37 kibana

2021-03-11 20:57:05 167

原创 redis+mysql

一.Redis 作 mysql 的缓存服务器客户端通过访问apache服务,首次获取从mysql数据库中,之后就从redis中获取php 的 redis 扩展提取码:1ykgserver11. 安装 lnmp 环境之web服务器,mysql拓展yum install httpd php php-mysql.x86_64 -y2. 安装 php 的 redis 扩展yum install php-fpm-5.4.16-46.el7.x86_64.rpm php-pecl-igbinary-1.

2021-03-11 15:44:54 338

原创 elasticsearch搜索分析引擎

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

2021-03-10 23:13:37 199

原创 logstash数据采集

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

2021-03-10 13:31:53 272

原创 k8s高可用集群

server2清理之前的k8skubectl delete node server4kubeadm resetipvsadm --clear准备新的环境docker images | grep google | awk '{print $1":"$2}'docker images | grep google | awk '{print $1":"$2}'| awk '{system("docker save -o k8s.tar "$1"")}'docker rmi `docker ima

2021-03-09 23:54:09 256

原创 Helm之web UI

helm repo add bitnami https://charts.bitnami.com/bitnamihelm pull bitnami/kubeapps #拉取最新的5.2.2tar zxf kubeapps-5.2.2.tgz#镜像拉取位置,及镜像本地化vim /root/helm/kubeapps/values.yamlvim /root/helm/kubeapps/charts/postgresql/values.yaml#环境域名访问cd /root/he

2021-03-08 18:18:17 430

原创 自己编写Helm Chart

构建一个 Helm Charthelm create mycharttree mychart/cd mychart/vim Chart.yaml #编写mychart的应用描述信息,修改app版本,和包版本vim values.yaml #编写应用部署信息helm lint mychart/ #检查依赖和模板配置是否正确helm package mychart/ #打包helm install demo mychart-1.1.0.tgz #安装拉伸helm sho

2021-03-08 16:56:50 1389 1

原创 k8s包管理工具

1.Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。2.Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。3.对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。4.对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernete

2021-03-04 22:06:29 475 1

原创 pod自动扩缩

HPA示例参考可以根据 CPU 利用率自动扩缩 ReplicationController、 Deployment、ReplicaSet 或 StatefulSet 中的 Pod 数量

2021-03-04 17:17:59 173 1

原创 k8s资源监控

k8s官网api参考资源下载,国外服务器gitee同步github资源server2wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml #提前下好所需镜像并上传到本地仓库,在文件中注意修改镜像拉取位置server1docker search metrics-serverdocker pull bitnami/metrics-server:0.4.0

2021-03-04 16:22:50 476 1

原创 k8s资源限制

k8s容器资源限制(一)Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。(二)资源类型:1.CPU 的单位是核心数,内存的单位是字节。一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CPU和

2021-03-04 15:18:53 1042 1

原创 k8s访问控制

一.kubernetes API 访问控制更加详细(一)Authentication(认证)1.认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。2.Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号,它并不真的

2021-03-04 14:20:53 249 1

原创 kubernetes调度

一.kubernetes调度1.调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。2.kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一个调度组件并替换原有的 kube-scheduler。3.在做调度决定时需要考虑的因素包括:

2021-03-04 10:19:51 194

原创 k8s之有状态应用

一.StatefulSet(一)StatefulSet 是用来管理有状态应用的工作负载 API 对象。实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,称为“有状态应用”(二)StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供序号和唯一性保证。(三)StatefulSets 对于需要满足以下一个或多个需求的应用程序很有价值:1.稳定的、唯一的网络标识符。2.稳定的、持久的存储。3.有序的、优雅的部署和缩放。4.有序的、自动的滚动更新

2021-03-02 22:10:01 1555

原创 面向对象高级特性

一.类属性与实例属性类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本实例属性(对象属性),它不被所有类对象的实例对象所共有,在内存中的副本个数取决于对象个数二.类方法与静态方法"""相关的源码:from datetime import datetime"""class Student(object): def __init__(self, name, age): self.name = name self.age

2021-03-01 21:45:14 138 1

原创 栈与队列的封装

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

2021-03-01 16:49:14 183

原创 面向对象编程

一.面向过程编程(一)“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。分析出解决问题所需要的步 骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。(二)面向对象的方法也是含有面向过程的思想。面向过程最重要的是模块化的思想方 法。比如拿学生早上起来这件事说明面向过程,粗略的可以将过程拟为: (1)起床 (2)穿衣 (3)洗脸刷牙 (4)去学校 而这4步就是一步一步地完成,它的顺序很重要,你只需要一个一个地实现就行了。 而如果是用面向对象的方法的话,

2021-03-01 15:55:50 425

原创 k8s存储之Volumes卷类型

Volumes配置管理emptyDir卷[root@server2 volumes]# cat emptydir.yaml apiVersion: v1kind: Podmetadata: name: vol1spec: containers: - image: busyboxplus name: vm1 stdin: true tty: true volumeMounts: - mountPath: /cache name: ca

2021-02-26 22:13:44 1520

原创 k8s存储之Configmap&Secret

一.Configmap配置管理(一)Configmap用于保存配置数据,以键值对形式存储。configMap 资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。(二)典型的使用场景1.填充环境变量的值2.设置容器内的命令行参数3.填充卷的配置文件(三)创建ConfigMap的方式有4种1.使用字面值创建kubectl create configmap my-config --from-literal=key1=config1 --from

2021-02-26 16:00:02 269

原创 k8s网络优化

适用于公有云上的 Kubernetes 服务kubectl edit configmap -n kube-system kube-proxykubectl get pod -n kube-system |grep kube-proxy| awk '{system("kubectl delete pod "$1" -n kube-system")}'mkdir /root/metallbcd /root/metallbwget https://raw.githubusercontent.com/m

2021-02-26 11:23:56 973

原创 k8s网络通信

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

2021-02-26 10:30:29 637

原创 k8s之pod管理详解

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

2021-02-23 22:01:14 682

原创 k8s之pod管理

一.Pod管理Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Network和UTC namespacekubectl命令(一)创建Pod应用# 上一篇已经指定私有镜像仓库,保证私有仓库有此镜像kubectl run app --image=myapp:v1kubectl run demo --image=busyboxp

2021-02-23 14:17:41 564

原创 python模块与包

一.模块模块就是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块# 1. python模块实质上是一个python文件。# 2. 注意: 自定义的python文件的文件名一定不要和已有的模块冲突。# 3. 导入模块实质上是加载并执行模块的内容。# 4. 导入模块的几种方式:"""# 直接导入import helloprint(hello.digits)hello.login()

2021-02-20 17:43:13 119

原创 python异常处理

一.异常**Error(错误)**是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误,建议让程序终止**Exception(异常)**表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常常见的异常:AttributeError(属性错误) 、IOError(输入输出错误) 、ImportError (导入模块错误)、IndexError(索引错误)、SyntaxError(语法错误)、Ty

2021-02-20 16:15:10 92

原创 python高级特性

# 练习"""知识点需求: 1. 文件操作 2. 字符串的分割操作 3. 字典操作功能需求:词频统计 1. 读取song.txt文件 with open(filename) as f: content=f.read() 2. 分析文件中的每一个单词,统计每个单词出现的次数。{"hello":2, "python":1, "java":1} - 分析文件中的每一个单词 content = "hello python hello java"

2021-02-20 15:53:15 93

原创 文件操作

一.文件操作默认数据是加载到内存中,结果也是保存到内存中, 程序执行结束,所有的数据释放,因此需要保存到文件,存储到硬盘上(一)文件的打开# 1. 打开文件"""mode: r: 只能读文件 w: 只能写入(清空文件内容) a+: 读写(文件追加写入内容)"""f = open('doc/hello.txt',mode='a+') #.txt相对路径# 2. 文件读写操作f.write('java\n')# 3. 关闭文件f.close()(二)文件的读

2021-02-19 22:53:30 104

原创 python函数

一.函数概述函数:提高编写的效率以及代码的重用# 0.常用的内置函数: max,min,sum, divmod# 函数必须有输入和输出。# max_num = max(1, 2, 3)# print(max_num)# 1.如何创建函数?定义函数,函数内容并不会执行# 函数的输入专业叫参数, 函数的输出叫返回值。# 重点:# - 形参: 形式参数,不是真实的值(定义函数时的参数)# - 实参:实际参数, 是真实的值(调用函数时的参数)def get_max(n

2021-02-19 17:30:25 251

原创 内置数据结构---集合与字典

一.集合集合(set)是一个无序的不重复元素序列。1,2,3,4,1,2,3 = 1,2,3,4# 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

2021-02-18 15:19:11 220

原创 内置数据结构---列表与元组

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

2021-02-17 22:22:12 112 1

空空如也

空空如也

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

TA关注的人

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