自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python11——面向对象

目录一、面向对象概述1.类2.对象一、面向对象概述面向对象是按人们认识客观世界的系统思维方式,把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。1.类具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。简而

2021-10-05 01:05:49 216

原创 六、shell中的运算

这里写自定义目录标题一、运算符号二、运算指令练习一、运算符号+ 加法- 减法* 乘法/ 除法% 除法后的余数** 乘方++ 自加一-- 自减一< 小于

2021-09-20 11:46:44 147

原创 五、shell中的执行流控制

目录一、for语句for语句的基本格式一、for语句作⽤为循环执⾏动作for语句结构for 定义变量do 使⽤变量,执⾏动作done 结束标志for语句的基本格式[root@ansible test]# cat test.sh #!/bin/bashfor WESTOS in $(seq 1 2 10)do echo $WESTOSdone[root@ansible test]# sh test.sh 13579[root@ansible test]# for

2021-09-18 18:40:49 452

原创 四层、七层负载均衡知识总结

四层负载和七层负载四层:所谓四层负载均衡,主要通过报文中的目标地址和端口,再加上负载均衡设置的服务器选择的方式,决定选择的内部服务器。以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN请求时,即通过上述方式选择一个最佳的服务器,并对报文中的目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报

2021-09-15 12:21:57 1313

原创 LNMP架构4——mysql主从复制

目录一、主从复制概述二、主从复制配置1.主服务器配置2.从服务器配置3.测试4.gtid主从复制5.双机热备三、半同步主从复制一、主从复制概述什么是主从复制MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。主从复制是MySQL最重要的功能之一。对于多级复制,数据库服务器即可充当主

2021-09-14 13:34:45 161

原创 python10——异常处理(异常处理机制、raise)

目录一、Error和Exception二、异常处理机制一、Error和ExceptionError(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误,建议让程序终止。Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。二、异常处理机制Python 的异常机制主要依赖 try 、except 、else、finally 和 raise 五个关键字。

2021-09-13 21:43:56 1035

原创 python9——高级特性(闭包、装饰器、内置高阶函数)

目录一、闭包二、装饰器一、闭包闭包就是指有权访问另一个函数作用域中的变量的函数。创建闭包最常见方式,就是在一个函数内部创建另一个函数。特性:函数里面嵌套函数外部函数的返回值时内部函数的引用内部函数可以使用外部函数的变量def timeit(name): def wrapper(): print('wapper'+ name) print('timeit') return wrapper()timeit(name='jia')二、装饰器装饰

2021-09-11 15:48:24 227

原创 python8——高级特性(生成式、生成器、迭代器)

目录一、生成式二、生成器三、生成器、迭代器与可迭代对象区别一、生成式许多大神基本一行代码就能解决复杂的算法问题,让人叹为观止,其实这就是生成式。列表生成式就是一个用来生成列表的特定语法形式的表达式。是Python提供的一种生成列表的简洁形式, 可快速生成一个新的list。列表生成式举例:随机生成100个随机数,并将数据导入列表当中第二种方式就是用我们的列表生成式直接写出的,简便很多import stringimport randomcodes = []for i in range

2021-09-10 23:29:31 90

原创 LNMP架构3——php

目录安装php添加memcache功能模块构建nginx高速缓存goaccess 日志可视化tomcat结合memcache安装[root@server1 /mnt]# yum install -y bzip2[root@server1 /mnt]# tar jxf php-7.4.12.tar.bz2[root@server1 /mnt]# yum install -y systemd-devel libxml2-devel sqlite-devel curl-devel libpng-devel

2021-09-08 22:28:35 921 2

原创 LNMP架构2——nginx(下)

cookie算法访问服务器在多台后台服务器的环境下,为了确保一个客户只和一台服务器通信,势必使用长连接。常见的有使用nginx自带的ip_hash来做,但如果前端是CDN,或者说一个局域网的客户同时访问服务器,导致出现服务器分配不均衡,以及不能保证每次访问都粘滞在同一台服务器。如果基于cookie可以在保持长连接的同时还保证了服务器的压力均衡,ngx_http_sticky_module可以实现此功能。客户端client请求访问服务 -> DNS服务器将域名解析到cdn -> cdn(ng

2021-09-08 21:05:22 166 1

原创 LNMP架构1——nginx(上)

目录nginx简介部署nginx优化nginx配置管理nginx添加后端服务器测试负载均衡平滑升级nginx简介传送门概念:Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx 作为 web 服务器:Nginx 可

2021-09-08 13:23:30 133

原创 python7——文件操作(file、os模块、json模块)

目录一、文件操作1.文件的打开2.file对象的属性3.file对象常用方法4.文件关闭5.with语句工作原理二、os模块1.系统信息2.文件路径3.文件处理4.文件批处理三、json模块1.python和JSON数据格式转换规则2.序列化及反序列化常用参数3.自定义复杂数据类型编解码例子:将信息存储到excel文件中一、文件操作思考: 日常中的数据存储在纸上, 而计算机的数据存储在哪里呢?—硬盘上一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电

2021-09-08 12:11:14 1615

原创 python6——函数(参数、匿名函数、递归函数)

目录一、函数概述二、函数的创建和调用三、变量作用域1.局部变量2.全局变量四、函数参数传递1.形参及实参2.参数检查五、四种参数类型1.必选参数2.默认参数3.可变参数4.关键字参数六、匿名函数七、递归函数练习一、函数概述如果在开发程序时,需要某块代码多次,为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。我们已经接触过多个函数,比如 input() 、print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。编

2021-09-08 00:14:35 355 1

原创 python5——内置数据结构总结

目录一、可变与不可变数据类型二、有序序列和无序序列一、可变与不可变数据类型可变数据类型可以增删改list set dict可变数据类型,允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。不可变数据类型:不可以增删改tuple strpython中

2021-09-07 19:19:12 129

原创 python4——字典(dict)和集合(set)

目录一、集合1.集合定义2.创建集合3.去重4.集合增删5.关系运算6.排序7.frozenset8.练习9.特性二、字典一、集合1.集合定义集合(set)是一个无序的不重复元素序列。2.创建集合使用大括号 { } 或者 set() 函数创建集合;创建一个空集合必须用 set() 而不是 { }{ } 是用来创建一个空字典。s = {1,2,3,4}print(s,type(s))3.去重s = {1,2,3,4,3,2,1}print(s,)4.集合增删s =

2021-09-07 19:03:14 323 1

原创 python3——列表(list)和元组(tuple)

目录一、列表定义及操作二、列表内置方法添加修改查看删除一、列表定义及操作数组: 存储同一种数据类型的集和。scores=[12,95.5]列表(打了激素的数组): 可以存储任意数据类型的集和。list = [] #创建一个空列表#list = ["fentiao", 4, 'gender'] #创建一个包含元素的列表,元素可以是任意类型,list = [['172','25'],['25','254'],['254','100']] #包括数值类型,列表,字符串等均可, 也可以嵌套列表。创建

2021-09-04 23:24:05 371 1

原创 pycharm快捷键

键位功能ctrl+d复制一行alt+insert新建目录ctrl+alt+l格式化代码符合PEP8编码风格

2021-09-03 18:25:35 65

原创 python2——基本数据类型字符串(str)

目录一.字符串定义二.转义符号三.字符串的基本特性1.连接操作符与重复操作符2.字符串索引与切片一.字符串定义字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。二.转义符号三.字符串的基本特性1.连接操作符与重复操作符s = 'westos'print('hello' + str(1))print('#'*30 + 'hello' + '#'*30)2.字符串索引

2021-09-03 18:23:19 468

原创 python1——基础语法、三大流程控制语句

目录一、python解释器的安装与配置二、pycharm的安装与配置三、python基本语法1、变量2、基本数字类型3、基本运算符4、输入与输出5、常用内置函数一、python解释器的安装与配置python官网传送门windows下需要安装python解释器;我使用的是linux不需要安装,本身自带二、pycharm的安装与配置PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性。pycharm官网传送门[root]@[foundation51][~/Downloads]~

2021-09-03 10:07:24 136

原创 ELK日志分析平台3——kibana数据可视化

[root@server4 /mnt] cd /etc/kibana/[root@server4 /etc/kibana] lsapm.js kibana.yml[root@server4 /etc/kibana] vim kibana.yml[root@server4 /etc/kibana] systemctl start kibana.service[root@server4 /etc/kibana] netstat -antlp | grep :5601tcp 0 .

2021-08-29 13:10:03 313

原创 ELK日志分析平台2——logstash数据采集

logstash安装[root@server4 /mnt] rpm -ivh jdk-8u171-linux-x64.rpm[root@server4 /mnt] rpm -ivh logstash-7.6.1.rpm标准输入到标准输出[root@server4 ~] /usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'标准输入到文件[root@server4 /usr/share/

2021-08-29 12:30:01 99

原创 ELK日志分析平台1——elasticsearch

传送门[root@server1 /mnt] lselasticsearch-7.6.1-x86_64.rpm kibana-7.6.1-x86_64.rpm logstash-7.6.1.zip[root@server1 /mnt] rpm -ivh elasticsearch-7.6.1-x86_64.rpm

2021-08-29 12:23:07 208

原创 Ansible运维自动化3

目录一.循环二.条件三.触发器一.循环1.简单循环loop: #赋值列表value1value2…{{item}} #迭代变量名称实例[jia@ansible ansible]$ cat test.yaml ---- name: create user vars_files: ./user.yaml hosts: westos tasks: - name: user westos1 user: name: "{{item}}"

2021-08-29 12:22:23 82

原创 Ansible运维自动化2

Playbook的功能playbook 是由一个或多个play组成的列表Playboot 文件使用YAML来写的YAML简介是一种表达资料序列的格式,类似XMLYet Another Markup Language2001年首次发表www.yaml.org特点可读性好和脚本语言交互性号易于实现适用程序执行流梳理方式可扩展性强语法简介在文件中用[—]开始在文件中用[…]结尾次行一般书写文件内容缩进严格大小写敏感key/value可以多行书写也可一行书写,一行书写用

2021-08-25 00:50:37 118

原创 Ansible运维自动化1

一、Ansible简述Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansible基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。功能Ansible主要功能是帮助运维实现IT工作的自动化、降低人为操作失误、提高业务自动化率、

2021-08-21 17:31:45 134

原创 CI/CD 2——管理agent、用户、结合ansible

#############################################添加管理agent端#############################################添加用户以及管理用户权限

2021-08-13 22:33:58 153

原创 CI/CD 1——jenkins结合gitlab

############################################yum install jdk-8u171-linux-x64.rpm -yyum install -y daemonize-1.7.7-1.el7.x86_64.rpm jenkins-2.306-1.1.noarch.rpmsystemctl start jenkins使用初始密码登录[root@server2 /var/lib/jenkins] cat /var/lib/jenkins/secret

2021-08-13 21:43:35 157

原创 集中式与分布式——git、gitlab、gitee

老样子,实验目录yum install -y git初始化版本库.git目录是git跟踪管理版本库的,没事别瞎溜达[root@server1 ~/demo] git initInitialized empty Git repository in /root/demo/.git/[root@server1 ~/demo] ls .git/branches config description HEAD hooks info objects refs[root@server1

2021-08-13 21:43:01 1027

原创 Linux中GoogleChrome谷歌浏览器安装好了打不开怎么办?

系统:Linux(rhel8.2)官网:传送门问题:我在谷歌官网上下载了谷歌浏览器,下载好之后去打开他它,却一直是正在打开却打不开的界面,左上角一直转圈,转一会就没了解决方法:安装好之后修改配置文件cd /opt/google/chrome/ #进入到具体目录vim google-chrome #准备修改配置\\\--user-data-dir --no-sandbox #添加///在如图所示位置,添加我们需要的代码添加好之后,wq退出保存,再次打开谷歌浏览器(我更改了搜索引擎,所

2021-08-10 10:28:46 6448 6

原创 kubernetes16——集群高可用

目录一、实验环境二、部署haproxy+pcs三、部署docker四、部署k8s五、测试高可用一、实验环境server1 172.25.25.1 harbor仓库servera 172.25.25.11 haproxy+pcsserverb 172.25.25.12 haproxy+pcsserverc 172.25.25.13 k8s masterserverd 172.25.25.14 k8s masterservere 172.25.25.1

2021-08-08 17:42:57 183

原创 Kubernetes15——Prometheus普罗米修斯UI集群管理

上传镜像到仓库docker load -i prometheus-operator-v0.35.0.tardocker images | grep bitnami | awk '{system("docker push "$1":"$2"")}'添加repo源、网上拉文件helm repo add aliyun https://apphub.aliyuncs.comhelm repo listhelm search repo prometheus-operatorhelm pull ali

2021-08-08 17:42:25 354

原创 Kubernetes14——kubeapps的UI界面管理工具

上传镜像docker load -i kubeapps-2.3.3.tar拉取文件[root@server2 helm]# helm pull bitnami/kubeapps --version=7.2.0[root@server2 helm]# tar zxf kubeapps-7.2.0.tgz [root@server2 helm]# cd kubeapps/更改配置文件vim values.yamlcd charts/cd postgresql/vim values.yam

2021-08-08 17:41:40 277

原创 安装部署Prometheus(普罗米修斯)

目录Prometheus功能Prometheus架构安装go 语言环境服务器上安装prometheusPrometheus功能在业务层用作埋点系统Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。在应用层用作应用监控系统一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。在系统层用作系统监控除了常用软件, p

2021-08-06 19:06:14 304 1

原创 Kubernetes13——HPA(pod水平伸缩)、Helm(部署、chart应用)

目录一、HPA二、HPA实时调度pod(CPU)三、Helm四、Helm安装部署五、chart仓库及应用发布一、HPAHPA,全称 Horizontal Pod Autoscaler, 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment 和 ReplicaSet 中的 Pod 数量。 除了 CPU 利用率,也可以基于其他应用程序提供的自定义度量指标来执行自动扩缩。 Pod 自动扩缩不适用于无法扩缩的对象,比如 DaemonSet。Pod 水平自动扩缩特

2021-08-06 00:54:42 558

原创 Kubernetes12——资源监控(metrics-server)、k8s图形化(Dashboard)

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

2021-08-05 22:32:49 257

原创 kubernetes11——资源限制(limitrange、resourceQuota)

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

2021-08-05 17:52:02 567

原创 kubernetes10——访问控制(serviceaccount、useraccount、RBAC)

目录一、访问控制二、ServiceAccount三、UserAccount四、RBAC基于角色访问控制授权五、服务账户的自动化一、访问控制流程:认证、授权和准入控制Authentication(认证)认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。Authorization(授权)必须经过认证阶段,才到授权请求,根据所有授权策略匹配请求资源属性

2021-08-05 14:24:27 804

原创 Kubernetes9——调度管理(nodename、nodeselector、taints)

目录一、调度二、nodeName三、nodeSelector四、亲和与反亲和五、Taints(污点)1、NoSchedule+标签选择2、容忍六、cordon、drain、delete1、cordon隔离2、drain驱逐3、delete删除4、添加新的节点一、调度调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。kube-scheduler 是 Kuberne

2021-08-03 00:34:54 348

原创 Kubernetes8——Volumes配置管理(nfs、pv、pvc、statefulset)

目录一、Volume二、emptyDir卷三、hostPath 卷四、NFS共享文件五、PersistentVolume持久卷(PV)1、静态PV一、VolumeVolume是对各种存储资源的抽象、虚拟化。为管理、控制、使用存储资源提供统一接口。Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储。因为在kubernetes中可部署运行最小单位是pod ,所以kubernetes的volume为pod提供存储。当然在部署pod时可以不为其提供volume,po

2021-08-02 22:10:20 767

原创 Kubernetes7——Secret配置管理

目录一、secret介绍二、Service Account三、Opaque Secret四、secret应用五、docker registry一、secret介绍k8s secrets用于存储和管理一些敏感数据,比如密码,token,密钥等敏感信息。它把 Pod 想要访问的加密数据存放到 Etcd 中。然后用户就可以通过在 Pod 的容器里挂载 Volume 的方式或者环境变量的方式访问到这些 Secret 里保存的信息了。敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安

2021-08-01 15:19:17 288

空空如也

空空如也

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

TA关注的人

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