- 博客(127)
- 资源 (1)
- 收藏
- 关注
原创 linux源码安装python3
python3源码安装前置环境解压提前解决依赖性源码编译三部曲验证安装前置环境先要准备好源码包,去官网下载自己想要的版本https://www.python.org/ftp/python/我下的是3.9.7的直接下到了要安装python的linux系统上的可以忽略这步如果是在本地下载包需要上传到云服务器上(我用的阿里云服务器,系统版本CentOS 8.2),可以选择用xshell远程连接,下载下图工具yum install -y lrzsz,然后拖拽上传到云服务器上。解压解压并进入目录
2022-01-14 11:21:57
872
2
原创 pycharm常用快捷键
常用快捷键复制粘贴撤销就不用我说了吧复制选中行并在该行下粘贴批量注释多行缩进多行删除缩进全局关键字搜索该页关键字搜索查看内置函数源码该函数被哪里引用按文件名搜索py文件按文件名搜索所有类型的文件复制粘贴撤销就不用我说了吧复制:【ctrl+c】粘贴:【ctrl+v】撤销:【ctrl+z】复制选中行并在该行下粘贴复制一行并粘贴:【ctrl+d】批量注释给一部分代码注释:【选中+ctrl+/】多行缩进多行缩进:【选中+tab】多行删除缩进多行删除缩进:【选中+shift+tab】全局关键
2022-01-13 17:15:34
752
原创 python实现快速排序、归并排序
时间复杂度平均为nlogn快速排序快速排序代码:归并排序归并排序代码:快速排序快速排序算法有两个核心点,分别为 “哨兵划分” 和 “递归” 。哨兵划分操作: 以数组某个元素(一般选取首元素)为 基准数 ,将所有小于基准数的元素移动至其左边,大于基准数的元素移动至其右边。递归: 对 左子数组 和 右子数组 递归执行 哨兵划分,直至子数组长度为 1 时终止递归,即可完成对整个数组的排序。在时间复杂度为 O(nlogn) 级的几种排序算法中,大多数情况下效率更高,所以快速排序的应用非常广泛。快速
2021-10-05 12:06:38
630
原创 python实现时间复杂度平均为N^2的冒泡、选择、插入排序
时间复杂度平均为N^2冒泡排序冒泡排序代码:选择排序选择排序代码:冒泡和选择排序算法的不同(两点)插入排序插入排序代码:冒泡和插入排序算法的不同冒泡排序冒泡排序是最基础的排序算法,由于其直观性,经常作为首个介绍的排序算法。其原理为:内循环: 使用相邻双指针j,j + 1从左至右遍历,依次比较相邻元素大小,若左元素大于右元素则将它们交换;遍历完成时,最大元素会被交换至数组最右边。外循环:不断重复「内循环」 ,每轮将当前最大元素交换至剩余未排序数组最右边,直至所有元素都被交换至正确位置时结束。冒
2021-10-03 00:41:41
389
原创 python怎么将列表/字符串倒序输出
列表列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。切片实现逆序取后三个列表的三个参数值:第一个参数值代表索引开始的位置,比如[2,4]是从位置2开始索引第二个参数值代表索引结束的位置+1,比如[2,4]是从位置2开始索引,到位置3结束第三个参数代表步长,默认为1,即隔多少步取一个想逆序取后三个可以这样实现列表名[列表最后一个下标:倒数第四个下标:步长-1]list>> [1, 2, 3, 4, 5]list[
2021-09-22 10:22:35
2566
1
原创 shell之expect应答语句(用shell脚本实现获取批量主机存活信息)
expect应答语句我们写脚本的目的就是为了自动执行,但是有些命令需要输入参数才可以执行,比如ssh远程连接时,会要求输入密码,输入成功才可以执行后面的操作,有时还需要先输入yes认证完再输入密码,那这种情况怎么办呢?就需要用到expect应答脚本。我们需要expect根据问题问什么来进行回答。就是提前告诉expect可能会遇到什么问题,遇到哪个问题应该怎么回答。注意expect需要下载才可使用!实例要求检测 192.168.187.131-192.168.187.140主机是否开启,如果正常请
2021-09-20 13:27:53
2300
原创 用shell脚本实现批量创建用户并修改密码
要求已有一个文件userlist,里面有三个用户名,执行脚本时建立这三个用户,并提示成功建立,还有密码文件passlist,里面有三个密码,分别对应上面的三个用户,分别改密码,并提示成功。代码#!/bin/bash#权限检查,只有root用户才可以创建用户[ "$USER" != "root" ] && { echo -e "\033[31mERROR: permission deny !!\033[0m" exit}#文件不能为空[ -z
2021-09-20 12:44:32
1364
原创 怎么用shell脚本实现一个1分10秒的倒计时
简单版简单版思路:1分10秒就是70秒,用循环来实现,但问题是分钟数变了的话要一直手动更改增加。脚本内容如下:#!/bin/bashfor j in {70..1}do if [ $j -gt 60 ] #当大于等于60时 then export x #定义用户级变量 ((x=$j-60)) #减去60秒就是10秒 echo -ne "\r after 1:$x is end " #分钟数是手动指定的 sleep 1 #休眠1s el
2021-09-20 12:05:20
957
原创 lnmp架构之php
PHP-FPM是一个实现了Fastcgi的程序,PHP-FPM的管理对象是php-cgi,被PHP官方收了后来PHP内核集成了PHP-FPM之后就方便多了,使用enalbe-fpm这个编译参数即可>fast-CGI是nginx和php之间的一个通信接口,该接口实际处理过程通过启动php-fpm进程来解析php脚本
2021-09-05 13:40:50
615
原创 lnmp架构之nginx
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python
2021-09-02 13:33:04
457
原创 源码编译三部曲(以nginx示例)
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。==计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成==。即源码要运行,必须先转成二进制的机器码。这是编译器的任务。
2021-09-02 10:36:10
2180
原创 CI/CD之jenkins结合ansible部署apache
jenkins结合ansible部署apache演示环境部署步骤安装ansible创建新git项目ansible主控端配置jenkins测试配置用户设置jenkins部署部署测试在测试环境测试在生产环境部署建议演示环境server1 192.168.122.11 gitlab端 4G内存server2 192.168.122.12 jenkins-master端和ansible-master端 1G内存server3 192.168.122.13 ansible(测试主机)
2021-08-30 22:14:48
570
1
原创 CI/CD之jenkins
jenkinsCI/CD简介jenkins简介jenkins安装安装jenkins插件安装中文插件安装流水线插件安装gitlab插件jenkins和gitlab联动jenkins轮询检查gitlab代码变更使用webhook实时检查gitlab代码变更推送dockerfile文件自动构建镜像CI/CD简介CI(Continuous integration持续集成):持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。比如写个dockerfile,能不能通过gitlab或者jenkins来
2021-08-30 16:11:49
659
原创 CI/CD之搭建私有git仓库gitlab
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
2021-08-29 22:29:47
583
原创 CI/CD之推送本地仓库到远程Git仓库、克隆远程Git仓库(使用Gitee)
这里写自定义目录标题到gitee官网(github会很慢,建议用gitee)注册一个账号https://gitee.com/
2021-08-29 08:29:02
504
原创 CI/CD之初识Git
Git(傻瓜式内容跟踪器)Git简介Git特点VCS (版本控制系统)介绍Git项目的三个阶段Git命令集语法Git的使用获取 Git 仓库通常有两种方式:将项目导入Git设置忽略文件版本升级删除文件+版本回退Git简介Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。Git 是一个快速、可扩展、分布式版本控制系统,具有异常丰富的命令集,提供高级操作和对内部的完全访问。Git易于学习, 占用空间小,性能快如闪电。它优于 Subversion、CVS、Perforce
2021-08-28 22:11:35
239
原创 Kubernetes(k8s)之k8s高可用负载均衡集群(haproxy+pacemaker实现负载均衡+高可用)
搭建k8s-master端集群,实现master端的高可用;通过haproxy实现k8s-master集群的负载均衡;再通过pacemaker实现haproxy的高可用。
2021-08-28 19:14:41
3554
1
原创 日志分析系统ELK之Kibana、es的替代metricbeat
Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。可以将地理数据融入任何地图;精选的时序性 UI,对Elasticsearch 中的数据执行高级时间序列分析;利用 Graph 功能分析数据间的关系;Kibana 开发工具为开发人员提供了多种强大方法来帮助其与 Elastic Stack 进行交互。
2021-08-26 15:01:06
2034
原创 日志分析系统ELK之Logstash
Logstash什么是ELKLogstashKibana什么是ELK一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的
2021-08-25 23:16:53
939
原创 日志分析系统ELK之Elasticsearch
ELK什么是ELKE、L、KElasticsearchLogstashKibanaElasticsearch部署集群节点的部署cerebro什么是ELK一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。一般大型系统是一个分布式部署
2021-08-25 19:07:06
447
原创 Ansible自动化运维之playbook详解(含yaml介绍)及ansible的加密控制
playbookplaybook简介YAML语言特点:语法简介:演示环境查看帮助playbook执行命令playbook中变量的命名和变量的级别playbook中变量设定和使用方式1.在playbook中直接定义变量2.在文件中定义变量3.设定主机变量和清单变量4.目录设定变量5.用命令覆盖变量Ansible的加密控制shell脚本的加密ansible中的加密playbook简介Playbooks 记录并执行 Ansible 的配置、部署和编排功能。它们可以描述希望远程系统执行的策略,或一般 IT 流程
2021-08-24 19:06:42
3029
原创 Ansible自动化运维之ansible命令运行方式及常用参数和常用模块
Ansible常用模块Ansible部署Inventory简介演示环境Ansible部署简单介绍、安装、简单部署可点击查看之前文章。Inventory简介演示环境三台虚拟机:rhel7.6的OSserver1(controller) 192.168.122.11 ansible管理端server2(node1) 192.168.122.12 远程主机server3(node1) 192.168.122.13 远程主机...
2021-08-23 18:13:11
8806
原创 Ansible自动化运维之配置清单Inventory
Ansible配置清单InventoryAnsible部署Inventory简介Ansible命令使用场景Ansible命令常用参数演示环境以普通用户身份使用AnsibleAnsible部署简单介绍、安装、简单部署可点击查看之前文章。Inventory简介Inventory是Ansible管理主机信息的配置文件,相当于系统HOSTS文件的功能,默认存放在/etc/ansible/hosts。可以使用 -i 选项指定inventory文件定义主机和组。Ansible命令使用场景1、非固化需求2、
2021-08-21 15:08:07
2505
2
原创 OpenStack之部署块存储服务cinder
OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷。此服务也会激活管理卷的快照和卷类型的功能。
2021-08-20 16:02:50
5520
原创 OpenStack私有网络的部署
OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
2021-08-20 11:02:09
962
原创 OpenStack可视化平台的搭建
Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。
2021-08-19 12:43:50
852
原创 用OpenStack搭建简单的云平台并启动云主机
OpenStack是一个云操作系统,它控制整个数据中心的计算、存储和网络资源的大型池,所有这些都通过具有通用身份验证机制的api进行管理和配置。
2021-08-19 12:00:20
5614
1
原创 Ansible自动化运维之Ansible入门及简单部署
AnsibleAnsible简介Ansible特点概念解释Ansible使用过程中的角色Ansible通信机制Ansible应用场景Ansible工作机制Ansible简介常见的部署管理工具有Chef、Puppet、Ansible、SaltStack、Fabric。Ansible发布于2012年,其作者兼创始人是Michael DeHaan。红帽2015收购了Ansible母公司。官方文档:https://docs.ansible.com/Ansible 是一个极其简单的 IT 自动化引擎,
2021-08-10 16:09:24
536
原创 Kubernetes(k8s)之在集群环境部署Prometheus(普罗米修斯监控)和集群的ui管理工具Grafana
PrometheusPrometheus演示环境部署Prometheus和Grafana测试PrometheusPrometheus是一个开源系统监控和警报工具包。现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docke。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与
2021-08-08 14:46:26
2355
原创 Kubernetes(k8s)之Helm的web UI界面管理应用kubeapps
[root@server2 helm]# cd kubeapps/[root@server2 kubeapps]# lsChart.lock charts Chart.yaml crds README.md templates values.schema.json values.yaml[root@server2 kubeapps]# vim values.yaml [root@server2 postgresql]# cd ..[root@server2 cha...
2021-08-08 11:03:35
1655
1
原创 Kubernetes(k8s)之HPA
Horizontal Pod Autoscaler 可以根据 CPU 利用率自动扩缩 ReplicationController、 Deployment、ReplicaSet 或 StatefulSet 中的Pod 数量 (也可以基于其他应用程序提供的度量指标,目前这一功能处于 beta 版本即测试版本)。
2021-08-08 09:54:10
1360
原创 Kubernetes(k8s)之k8s的应用的包管理工具Helm
Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。
2021-08-07 17:27:37
536
原创 Kubernetes(k8s)之k8s的部署
k8s的部署前提准备部署k8sserver2、3、4均需做的准备工作仓库端上传镜像master端初始化在master端安装网络组件添加后端节点前提准备我使用了四台虚拟机server1 172.25.38.1 harbor仓库端server2 172.25.38.2 k8s的master端server3 172.25.38.3 k8s的node端server4 172.25.38.4 k8s的node端四台虚拟机均部署好了docker关于harbor仓库和docker的部署可
2021-08-07 15:35:08
248
原创 在linux系统上部署Prometheus(普罗米修斯监控)
PrometheusPrometheus准备环境部署Prometheus测试PrometheusPrometheus是一个开源系统监控和警报工具包。现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docke。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录的时间戳一起
2021-08-06 23:34:16
5445
1
原创 Kubernetes(k8s)之部署让k8s图形化的Dashboard
Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。kubectl describe secret kubernetes-dashboard-token-lkfgs -n kubernetes-dashboardapiVersion: rbac..
2021-08-05 17:25:13
398
1
原创 Kubernetes(k8s)之资源监控
资源监控Metrics-ServerMetrics-Server演示环境Metrics-Server部署Metrics-ServerMetrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量数据,并不保存历史数据。Metrics
2021-08-05 16:53:23
445
1
原创 Kubernetes(k8s)之容器资源限制
Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、CPU和各种设备都有对应的cgroup。
2021-08-05 16:23:33
691
原创 Kubernetes(k8s)集群安全机制之访问控制
客户端如果想要访问和变更集群的资源,首先要识别客户端身份(Authekind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata: name: myclusterrolerules:- apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list", "delete", "create", "update"]- api...
2021-08-05 12:10:09
731
1
原创 Kubernetes(k8s)之Service(服务)
Servicek8s中的ServiceService中涉及到的名词Service的实现演示环境IPVS以ClusterIP模式创建svc外部访问service的方式1、通过Node Port访问2、通过LoadBalance访问3、通过ExternalName访问kube-dnsHeadless Service(无头服务)k8s中的ServiceService可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡
2021-08-01 17:34:58
2840
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人