自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows分盘,c盘已经满了,但d盘还有内存。

1.右击此电脑,------管理--------磁盘管理需要将d盘-压缩卷(c盘-d盘-新卷),删掉中间的d盘(删除卷),(c盘-新卷)然后将c盘扩容(扩展卷)–(-c盘)(https://img-blog.csdnimg.cn/08000ce2f28f424380104153e2569f2e.jpg?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbmluaW1pbm8=,size_20,color_F

2022-03-21 21:09:11 2109 1

原创 lamp架构四、mysql主从复制

server-id =0 拒绝复制二进制名字主从复制:slave复制主二进制文件到slave上执行,做复制之前:主从的base需要相同IO 复制sql: 存lEnkCHUv.2-t 301 scp -r /usr/local/mysql/ server2:/usr/local/ 303 scp /etc/my.cnf server2:/etc/ 307 scp /etc/init.d/mysqld server2:/etc/init.d/[root@server1 dat

2021-04-06 23:19:36 336

原创 lamp架构三、nginx并发优化、平滑更新、sticky,nginx限流、配置管理、nginx重定向、nginx防盗链、交叉存储

dddd

2021-04-06 20:44:35 503 1

原创 lamp架构二、通过(memcache+openresty)构建nginx高速缓存

构建nginx高速缓存memcache tar zxf memcache-4.0.5.2.tgz [root@server1 ~]# cd memcache-4.0.5.2/[root@server1 memcache-4.0.5.2]# lscloudbuild.yaml config.m4 CREDITS Dockerfile LICENSE php7 testsconfig9.m4 config.w32 docker example.php

2021-04-06 19:40:06 222

原创 lamp架构一、源码安装nginx、mysql、php及建立连接

1.源码安装nginxyum install gcc pcre-devel openssl-develtar zxf nginx-1.18.0.tar.gzcd nginx-1.18.0/[root@server1 nginx-1.18.0]# lsauto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src[root@server1 nginx-1.18.0]# vim auto/cc

2021-04-03 17:47:34 373

原创 k8s---Helm(安装、Helm部署nfs、ingress到k8s中,部署kubeapps:Helm的web UI 界面管理)

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

2021-03-28 11:21:05 531 1

原创 k8s-------HPA(Horizontal Pod Autoscaler 演练):根据 CPU 利用率自动扩缩Deployment中的 Pod 数量

接上篇博客: 已经在集群中部署好了metrics-serverHorizontal Pod Autoscaler 演练官网Horizontal Pod Autoscaler 可以根据 CPU 利用率自动扩缩 ReplicationController、 Deployment、ReplicaSet 或 StatefulSet 中的 Pod 数量 (也可以基于其他应用程序提供的度量指标,目前这一功能处于 beta 版本)。需要一个运行中的 Kubernetes 集群以及 kubectl,版本为

2021-03-26 21:40:23 946

原创 kubernetes资源监控(Metrics-server、Dashboard图形化监控)

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

2021-03-25 22:55:12 592

原创 k8s容器资源限制(内存限制、cpu限制、namesapce设置资源限制、资源配额)

k8s容器资源限制内存限制示例:CPU限制示例:为namespace设置资源限制:为namespace设置资源配额:Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资源类型:CPU 的单位是核心数,内存的单位是字节。一个容器申请0.5个CPU,就相当于申请1个CPU

2021-03-25 20:36:55 2339

原创 kubernetes访问控制(认证、授权、准入控制..+ 拉取私有仓库镜像策略)

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

2021-03-25 20:02:26 472

原创 k8s调度(nodeName、nodeSelect、节点、pod的亲和和反亲和、Taints)

k8s调度nodeNamenodeSelector亲和与反亲和节点亲和pod 亲和性和反亲和性Taints(污点)调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一个调度组件并替换

2021-03-25 19:07:35 2067

原创 基于Djano的sysinfo项目搭建----CPU信息监控并使用Echart绘制cpu饼状图和折线图

Echarts绘制CPU折线图Echarts绘制CPU扇形图Django使用echarts进行可视化展示Celery定时任务和异步任务Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统。大白话理解处理异步任务和定时任务的工具。工作原理如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lTgWbq37-1616080244795)(项目搭建.assets/image-20210313165237504.png)]Windows..

2021-03-19 17:24:21 664

原创 基于Djano的sysinfo项目搭建----user信息监控

目录user信息最终代码展示user信息注册器from django import templatefrom datetime import datetimeregister = template.Library()@register.filter(name='timefmt')def timefmt(value): """将时间戳转换成datetime类型的时间""" return datetime.fromtimestamp(value)完善template

2021-03-18 23:09:19 170

原创 基于Django框架的sysinfo项目搭建---系统信息监控(主机名,内核版本等)

目录主机信息监控项目搭建基础框架构建首页系统信息展示完善主机信息监控项目搭建详情见前篇博客创建子应用host并且设置本地化数据库表的创建和超级用户的创建git管理项目(requirements.txt, README.md, .gitignore)在gitee中建sysinfo仓库,同步本地信息注意: -f 意思覆盖之前的代码,当共同协作时,慎用git remote add origin https://gitee.com/ninimino/sysinfo.git git

2021-03-18 22:44:37 244

原创 django完成一个可重用注册登录系统

数据库模型文件#login/models.pyfrom django.db import models# Create your models here.# appname_siteuserclass SiteUser(models.Model): """用户的数据库模型,注册/登录需要""" gender_choice = ( (0, "未知"), (1, "男"), (2, "女"), ) name = models.Char

2021-03-17 19:52:30 602

原创 简单图书-人物系统(了解Django项目数据库模型、启用后台Admin站点管理、Django前台管理(结合html文件)及Django请求的生命周期)

models 是对数据库操作的ORM加入子应用生成迁移脚本python manage.py makemigrationson_delete 级联删除

2021-03-13 18:50:52 371

原创 Django环境的搭建(创建Django项目、管理Django后台自带应用、图书管理首页)

搭建项目环境1.创建Django项目点击create选择this window2.创建appDjango 自带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录。在一个项目中可以创建一到多个应用,每个应用进行一种业务处理创建应用的命令:应用的目录结构如下图 :(2) 编写第一个视图函数我们来写第一个视图。打开文件 bookApp/views.py 并放入以下Python代码:python3 manage.py startapp bookApp

2021-03-12 16:56:06 138

原创 Kubernetes(k8s)存储三、Volumes配置管理(.emptyDir、hostPath,pv、sc+nfs动态分配pv、StatefulSet+mysql)

Volumes配置管理Kubernetes 支持下列类型的卷:1.emptyDir卷2.hostPath 卷hostPath 示例NFS 示例3.PersistentVolume(持久卷,简称PV)NFS持久化存储实战NFS PV 示例:Pod挂载PV:4.StorageClass(动态)NFS Client ProvisionerNFS动态分配PV示例:如何迁移到指定namespace容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启

2021-03-08 09:27:52 879

原创 Kubernetes(k8s)存储二、Secret配置管理(编写secret对象,将secret挂载到Volume中、设置为环境变量,存储docker registry的认证信息.)

Secret配置管理简介1.编写一个 secret 对象2.将Secret挂载到Volume中3.向指定路径映射 secret 密钥4.将Secret设置为环境变量5.kubernetes.io/dockerconfigjson用于存储docker registry的认证信息.简介Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key。敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活。Pod 可以用两种方式使用 secret:作为

2021-03-07 16:58:03 784

原创 Kubernetes(k8s)存储一、Configmap配置管理(Configmap的创建、使用)

calico简介:flannel实现的是网络通信,calico的特性是在pod之间的隔离。通过BGP路由,但大规模端点的拓扑计算和收敛往往需要一定的时间和计算资源。纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。Calico 仅依赖三层路由可达。Calico 较少的依赖性使它能适配所有 VM、Container、白盒或者混合环境场景。...

2021-03-07 15:59:37 992

原创 Kubernetes(k8s)集群部署八、 LoadBlancer+ MetalLB

https://metallb.universe.tf/installation/MetalLB挂接到您的Kubernetes集群中,并提供了网络负载平衡器实现。简而言之,它允许您在未在云提供商上运行的集群中创建类型为“ LoadBalancer”的Kubernetes服务,因此不能简单地使用付费产品来提供负载均衡器。它具有两个可以共同提供此服务的功能:地址分配和外部通知。地址分配在启用了云的Kubernetes集群中,您需要一个负载均衡器,并且您的云平台会为您分配一个IP地址。在裸机集群中,Met

2021-03-06 22:20:48 823 2

原创 Kubernetes(k8s)集群部署七、k8s网络通信+service扩展ingress(TLS,认证,地址重写)calico网络插件(允许指定pod访问服务,禁止其他namespace访问服务)

k8s网络通信k8s网络通信1.容器间通信2.pod之间的通信2.1同一节点的pod2.2不同节点的pod之间的通信flannel网络原理flannel支持多种后端:3.pod和service通信4.pod和外网通信5.Service与集群外部客户端的通信ingress创建ingress服务:Ingress TLS 配置Ingress 认证配置(认证之前做好加密)Ingress地址重写calico网络插件:能够解决策略k8s网络通信k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有fl

2021-03-03 20:20:53 1052

原创 Kubernetes(k8s)集群部署六、service(ClusterIP、NodePort、ExternalName、开启kube-proxy的ipvs模式)

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

2021-03-03 11:22:38 1473

原创 Kubernetes(k8s)集群部署五、控制器(rs,rc,Deployment,DaemonSet、StatefulSet、Job、CronJob、HPA)

控制器一、 Pod 的分类:二、控制器类型:1 Replication Controller(rc)和ReplicaSet(rs)1.1ReplicaSet控制器示例:2.Deployment2.1Deployment控制器示例3.DaemonSet3.1DaemonSet控制器示例4.StatefulSet5.job控制器5.1job控制器示例6.CronJob控制器6.1 CronJob控制器示例7. HPA一、 Pod 的分类:自主式 Pod:Pod 退出后不会被创建(没有控制器)控制器管理的

2021-03-02 19:42:16 545

原创 Kubernetes(k8s)四、Pod生命周期(初始化容器的应用,探针liveness、readliness应用,)

Pod生命周期学习目标:初始化容器的应用及两个探针的应用探针 是由 kubelet 对容器执行的定期诊断:Kubelet 可以选择是否执行在容器上运行的三种探针执行和做出反应:liveness实例readiness实例初始化容器+ svc学习目标:初始化容器的应用及两个探针的应用Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。Init 容器与普通的容器非常像,除了如下两点:它们总是运行到完成。Init 容器不支持 Readine

2021-03-02 17:57:10 703

原创 Kubernetes(k8s)三、编写资源清单(创建pod、控制器、掌握书写要点)

编写资源清单格式如下:示例一:创建简单的pod示例二:创建控制器在资源清单里面能够重复使用,在改变副本数,及镜像版本的更新,直接在文件里面改变参数即可将命令直接输出成yaml格式,复制粘贴示例三。资源limit(上限消耗),request(最少)示例四、假设有两个节点,将pod指定节点示例五:hostNetwork 继承主机网络示例六:两个容器,资源共享 (注意不要有网络冲突)标签:删除标签节点标签选择器调用api格式如下:apiVersion: group/version  //指明api资源属于

2021-03-01 23:26:15 211

原创 Kubernetes二、pod管理(创建,删除,查看pod,deployment、创建service(ClusterIP、NodePort)、更新pod镜像,回滚)

pod管理k8s的最小调度单位是pod1.创建Pod应用(注意版本问题:命令可能不同)2.删除pod3.查看运行pod的详细信息4.控制器4.1当进行删除操作,控制器通过rs会自动重新创建pod4.2进行拉伸,当有多个节点时,会自动进行分配(只有server3,所以看不到效果)5.暴露service5.1默认类型创建service5.2使用NodePort类型暴露端口,让外部客户端访问Pod6.更新pod镜像7.回滚8.扩容,所容(基于控制器)k8s的最小调度单位是pod粗略理解: 一个pod是一个容器

2021-03-01 20:37:01 1225

原创 Kubernetes一、(k8s)的简单部署

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

2021-03-01 18:09:05 474 3

原创 Python 模块与包,内置、第三方、自定义模块,模块安装

模块与包1.模块1.1. python模块实质上是一个python文件。1.2. 注意: 自定义的python文件的文件名一定不要和已有的模块冲突。1.3. 导入模块实质上是加载并执行模块的内容。1.4. 导入模块的几种方式:1.5. 模块的其他信息2.包2.1. 包实质上是包含__init__.py文件的目录。2.2. 导入包实质是在做什么? 执行包里面的__init__.py的内容。2.3. 导入包的方式:方法1:方法2: 相对麻烦一些, 需要在包的``__init__.py``添加导入信息。3.模块的

2021-02-20 19:37:25 214

原创 Python异常处理(常见异常、异常处理机制、抛出异常,自定义异常)

异常处理1.什么是异常1.1常见异常2.异常处理机制3.触发异常4.用户自定义异常1.什么是异常Error(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误,建议让程序终止。Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。1.1常见异常AttributeError?IOErrorImportErrorIndexE

2021-02-20 18:48:34 263

原创 Python高级特性(生成式详解,生成器与yield详解,.闭包,装饰器,内置高阶函数map,reduce,filter,sorted)

高级特性1.生成式详解1.1列表生成式需求: 找出1-100之间可以被3整除的数。1.2集合生成式:用来快速生成集合;1.3字典生成式:用来快速生成字典2生成器与yield关键字什么叫生成器?什么时候需要使用生成器生成器的特点是什么?2.1如何创建生成器?第一种方法:将生成式改写成生成器第2种方法:yield关键字如果函数里面有yield关键字,函数的返回值就是一个生成器3.闭包4.装饰器4.1. 装饰器: 用来装饰函数的工具。4.2. 功能: 在不改变源代码的情况下, 添加额外功能(eg: 计算运行时间,

2021-02-20 18:28:02 173

原创 Python文件管理(文件的基本管理,os模块,json模块详解,转换为excel文件,安装模块,词频统计)

Python文件操作1.文件操作介绍1.1打开文件1.2. 文件读写操作1.3文件的关闭with语句:****with语句2 os模块详解2.1. 获取操作系统类型2.2. 获取主机信息2.3.获取系统的环境变量2.4. 目录名和文件名拼接3 json模块详解3.1. 将python对象编码成json字符串3.2. 将json字符串解码成python对象4.存储为excel文件如何安装pandas?如何安装对excel操作的模块?1.文件操作介绍1.1打开文件在python,使用open函数,可以打开

2021-02-20 17:39:14 185

原创 Python函数的创建与调用及变量作用域,函数参数传递,匿名函数lambda,递归函数的学习

函数1.函数函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数。函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据应该被定义成返回值。函数的内部实现过程。2.函数的创建和调用3.变量作用域4.函数参数传递5.匿名函数6.递归函数...

2021-02-20 16:34:24 192

原创 Python内置数据集合与字典

集合和字典1.集合:一山不容二虎1.1集合的创建:1.2. 集合的特性:不支持+,*, index, slice(因为集合无序不重复的)支持in和not intest1:随机生成n个1-1000之间的数,并排序1.3. 集合的常用操作1.3.1 增加add: 添加单个元素update: 添加多个元素1.3.2. 删除remove: 如果元素存在,删除,否则报错discard: 如果元素存在,删除,否则do nothingpop: 随机删除元素,集合为空则报错1.3.3. 查看2.frozenset 不可

2021-02-18 21:30:45 124

原创 Python内置数据结构列表与元组(基本操作和特性)

列表与元组1.序列2.列表2.1列表的创建与删除2.2列表的特性2.3列表的常用方法3.元组4.命名元组5 is 和6.深拷贝与浅拷贝1.序列成员有序排列的,且可以通过下标偏移量访问到它的一个或者几个成员,这类类型统称为序列。序列数据类型包括:字符串,列表,和元组类型。特点: 都支持下面的特性索引与切片操作符成员关系操作符(in , not in)连接操作符(+) & 重复操作符(*)2.列表数组: 存储同一种数据类型的集和。scores=[12,95.5]列表(打了激素的数组)

2021-02-18 20:38:20 190

原创 Python 内置数据结构字符串(创建及特性,内建方法,string模块)

字符串1.字符串的创建和赋值2.字符串的基本特性3.字符串的内建方法4.拓展:string模块5.小学生计算能力测试系统1.字符串的创建和赋值字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。第一种方式:str1 = ‘our company is westos’第二种方式:str2 = “our company is westos”字符串是不可变的,只能通过赋一个空字符串或

2021-02-18 17:44:08 363 2

原创 Docker Swarm(创建swarm集群,节点的升级降级,滚动更新,Portainer)

创建 Swarm 集群初始化集群:docker swarm init执行上图提示,在其他docker节点上执行命令,节点作为一个worker会添加进swamdocker swarm join --token SWMTKN-1-4owwqn5j0u0k1bqxgozn3p1glcvmo7yl33w700xswc2293eiw0-dn40jytlvqqpw5zo5udbdgbzg 172.25.10.1:2377查看swam 集群节点(server1 作为leader,)docker n

2021-02-04 12:49:17 2523

原创 Python三大流程控制语句:顺序,分支,循环(while,for)

三大流程控制语句1.认识三大流程控制2.墨守循规的顺序流程控制3.有路任性的分支流程控制3.1分支流程语句3.2分支语句之三元运算符:简化代码3.3多分支语句4.吃了炫迈的循环流程控制4.1while循环while死循环4.2for循环range() 内建函数跳出循环语句break 语句和continue 语句循环语句练习九九乘法表防黑客暴力破解的用户登录系统拓展:Turtle1.认识三大流程控制顺序分支循环2.墨守循规的顺序流程控制参考上篇博客中的温度转换器3.有路任性的分支

2021-02-03 12:41:55 644 1

原创 python输入输出拓展: 制作简单的exe程序(温度转换器)

编写一个程序,将温度从华氏温度转换为摄氏温度。转换公式: celsius * 1.8 = fahrenheit - 32。输入华氏温度: 30输出: 30.0华氏度转为摄氏度为-1.1。fahrenheit = float(input("输入华氏温度:"))celsius = (fahrenheit - 32)/1.8print("%.1f华氏度转为摄氏度为%.1f" %(fahrenheit,celsius))...

2021-02-03 11:10:52 343 3

原创 Python 基础语法(认识变量,运算符,数据的输入与输出,常用内置函数的操作)

python基础语法1.认识变量2.认识运算符3.数据的输入与输出输入输出实例一:学生平均成绩统计实例二:温度转换器拓展: 制作exe程序: 见下篇博客4.常用内置函数操作1.认识变量变量是内存中的一块区域。对象赋值实际上是对象的引用。a=10变量的命名: 变量名由字母,数字,下划线组成, 不能以数字开头. (a,b, c)hello = 100, hello_world = 100, count2 =100, 1count=10(x)Python中,变量定义时不需要指定类型的,当用变量的时

2021-02-03 00:32:10 296

空空如也

空空如也

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

TA关注的人

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