自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (1)
  • 收藏
  • 关注

原创 chatgpt实际是怎样工作的?

文章翻译自:ChatGPT 是 OpenAI 的最新语言模型,比其前身 GPT-3 有了重大改进。与许多大型语言模型类似,ChatGPT 能够为不同目的生成多种样式的文本,但具有更高的精确度、细节和连贯性。它代表了 OpenAI 大型语言模型系列的下一代产品,其设计非常注重交互式对话。创建者结合使用监督学习和强化学习来微调 ChatGPT,但正是强化学习组件使 ChatGPT 独一无二。

2023-04-02 17:05:16 21472 4

原创 kubernets 快速生成yaml清单

快速生成k8s yaml清单

2022-08-24 10:27:23 432

原创 jenkins(pipeline)+k8s 实现CICD(提供源码和测试用例)

jenkins CICD实战项目

2022-08-06 23:28:03 1692

原创 metrics server request failed - “403 Forbidden“

prometheus部署

2022-07-30 15:07:52 1581 3

原创 k8s.gcr.io/kube-state-metrics/kube-state-metrics 拉取镜像失败问题解决

prometheus

2022-07-30 13:02:20 1881

原创 open /prometheus/queries.active: permission denied(已解决)

监控,Prometheus

2022-07-30 12:56:49 3775

原创 Error: Connection activation failed: No suitable device found for this connection.

Error: Connection activation failed: No suitable device found for this connection.

2022-07-11 21:17:40 729

原创 golang goroutine传参引发的问题

最近在学习golang,记一次goroutine传参引发的计算结果和预期不一致问题。例子是一个多goroutine并行计算一个数的值,一个task的chan,和一个result的chan用来存储分配的每个任务,和每个任务的计算结果,最后将所有的任务结果相加先看有问题的代码:package mainimport ( "fmt" "sync")//利用chan将计算任务拆分成多个task,并发计算type task struct { begin int end int re

2022-05-15 23:20:54 935

原创 golang项目:goreman源码分析

最近在学习golang,众所周知,golang中的goroutine和channel 作为golang中的扛鼎之作,换句话说,不会灵活运用goroutine和channel,那么就不能算是真正了解了这门语言。而goreman作为一款轻量级的多进程管理工具,代码量只有不到1000行,然而使用了许多巧妙地设计,和大量使用goroutine和channel,以及使用了golang的rpc,net,flag,context等工作中出镜率极高的包,是学习golang的佳作,那么,现在就让我们一起来看看吧!gore

2022-05-15 13:01:26 532

原创 go语言书籍推荐

《go语言高级编程》 《go语言核心变成》PDF链接:https://pan.baidu.com/s/1-2_skl5IoNAqsyHCyc5KYg?pwd=sy6p提取码:sy6p不谢

2022-05-06 15:00:47 352

原创 《go语言高级编程》 《go语言核心变成》PDF

《go语言高级编程》 《go语言核心变成》PDF链接:https://pan.baidu.com/s/1-2_skl5IoNAqsyHCyc5KYg?pwd=sy6p提取码:sy6p不谢

2022-03-18 15:28:09 2361 1

原创 nginx 反向代理多域名多端口

server { listen 80; server_name *.abc.com; if ($http_host ~* "^(.*?)\.abc\.com$") { #正则表达式 set $domain $1; #设置变量 } location / { if ($domain ~* "shop") { proxy_pass http

2022-01-12 22:40:51 2646

转载 python3 时间转换

time函数time.time()获取当前时间戳 浮点型#获取当前时间戳 (浮点型)t = time.time()print(t)#1551770368.3962758time.strftime("%Y-%m-%d %H:%M:%S")按指定格式输出当前时间字符串# 按指定格式输出当前时间字符串t = time.strftime("%Y-%m-%d %H:%M:%S")print(type(t),t)#<class 'str'> 2019-06-10 15:12:.

2021-12-21 14:17:57 427

转载 python3标准时间的转换

1、方法一def utc_to_local(utc_time_str, utc_format=’%Y-%m-%dT%H:%M:%S.%fZ’):local_tz = pytz.timezone(‘Asia/Shanghai’)local_format = “%Y-%m-%d %H:%M:%S”utc_dt = datetime.strptime(utc_time_str, utc_format)local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezon

2021-12-21 11:45:59 1047

转载 ip有关运维命令

1、查看有多少个IP访问:awk ‘{print $1}’ log_file|sort|uniq|wc -l2、查看某一个页面被访问的次数:grep “/index.php” log_file | wc -l3、查看每一个IP访问了多少个页面:awk ‘{++S[$1]} END {for (a in S) print a,S[a]}’ log_file > log.txtsort -n -t ’ ’ -k 2 log.txt 配合sort进一步排序4、将每个IP访问的页面数进行从小到大

2021-12-15 15:40:47 206

原创 k8s nfs

主节点#暴露服务echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exportsmkdir -p /nfs/datasystemctl enable rpcbind --nowsystemctl enable nfs-server --nowexportfs -r从节点#在从节点上执行,查看主节点哪些位置可以挂在showmount -e 192.168.31.151#将本机的/nfs/data目录挂载到主节点的

2021-11-28 16:06:17 243

原创 将rpm包打成tar.gz(演示openjdk1.8)

首先,将所有需要的rpm及其依赖下载到目录中:sudo yum install --downloadonly --downloaddir=/home/mydir java-1.8.0-openjdksudo yum install --downloadonly --downloaddir=/home/mydir java-1.8.0-openjdk-headless.x86_64然后,为了提取rpm,不需要特权访问:$ rpm2cpio java-1.8.0-openjdk-1.8.0.232.

2021-11-23 20:27:40 1079

原创 tcpdump的使用

一个网路抓包命令,简介参考百度,此处不赘述,下面直接开始演示:#-i 抓取的网卡名,你的可能是eth0, #-s 是抓取的包的大小,默认抓取68个字节的数据,此处表示全部抓取# -w 将抓取结果写到a.cap文件tcpdump -i bond0 -s 0 -w a.cap此时我在另一台机器 :之后可以看见抓取目录下多了a.cap文件,#查看抓取内容tcpdump -r a.cap#16进制方式查看tcpdump -X -r a.cap#全部查看tcpdump -A -r

2021-10-17 18:56:45 275

转载 微服务和容器的关系

现在一提到微服务,有很多人会想到容器技术(这里说到的容器技术是指docker)。那么微服务和容器之间到底有什么关系呢,我来简要和大家探讨下。先抛出结论:微服务和容器其实没有半毛钱关系。微服务理念出现的比容器技术要早很多,其理念是在70年代提出的。而容器技术是2013年才提出的,它最初是由一个叫做dotcloud的项目发展而来,后来改名叫做docker。基于微服务的思想开发应用程序是完全可以不用容器技术的,例如现在很流行的spring cloud和dubbo都是可以不使用容器技术来做开发实现的。从2017年开

2021-10-17 14:48:14 3717

原创 gitlab pythonAPI操作

module:gitlab,git获取gitlab的操作对象 _gl = gitlab.Gitlab("http://gitlab.com", private_token="GIEYANLB_WY")通过projectid获取仓库的操作对象:proj = _gl.projects.get(gl_proj_id)#proj 的各种属性pro_kind = proj.namespace['kind']获取本地仓库对象repo = git.Repo(os.curdir)拿到仓库的commi

2021-10-15 16:27:54 417

原创 fork/exec gitcommand no such file or directory问题解决

gitlab服务在跑python钩子脚本的时候,一直报no such file or directorygitlab服务搭建在docker中找了一天 终于发现脚本的头文件在docker里不存在,使用which python3查看在docker中python的位置,修改头文件,问题解决。...

2021-09-19 17:43:31 1952

原创 git高级命令

git rev-list oldobject newobject 列出两个之间的所有提交信息git show object查看某次提交的详细信息git cat-file -pgit branch --contains object查看包含某个提交的分支

2021-09-19 17:24:23 90

原创 gitlab 主备数据同步(用户数据和项目数据)

部门顺应时代潮流,从svn终于迁移到了git,之前同事搭了一套gitlab环境,因业务加大,防止因gitlab挂掉而影响工作,所以要求我在搭一套gitlab环境,并做伪高可用,也就是在一个gitlab宕机之后,30分钟之内恢复正常,于是我做了这套主备数据同步的尝试,来,看正文:机器准备:172.16.44.44 master172.16.12.1 backup配置免密登录:#cd ~#ssh-keygen#ssh-copy-id -i .ssh/id_rsa.pub 172.16.12.1项

2021-09-10 17:38:40 1687

原创 gitlab服务部署13.10版本端口修改(附带502问题解决)

因为是公司无网络环境,只能安装公司yum源中提供版本,查看版本安装[root@localhost ~]# yum makecache[root@localhost ~]# yum -y install gitlab-ce配置并启动gitlab[root@localhost ~]# gitlab-ctl reconfigure因为公司机器80和8080端口被apache服务器占用,所以现在是无法访问的端口修改(重要部分)vim /etc/gitlab/gitlab.rbexternal_

2021-09-10 17:10:02 914

原创 运维面试题目总结

docker k8s1.docker单机多容器之间的网络连通:// 创建一个bridge类型的网络hadoop-brdocker network create -d bridge hadoop-br1// 启动一个网络为hadoop-br方式的容器hadoop1docker run -itd --network hadoop-br1 --name hadoop01 centos// 再创建一个容器docker run -itd --network hadoop-br1 --name had

2021-07-17 12:41:28 978 1

原创 二叉树算法题详解(python解法)

1.填充每个节点的下一个右侧节点指针这道题核心在于如何使得左子树的右孩子指向右子树的左孩子,因为这两个节点之间不是同一个父节点非递归解法,使用广度优先遍历,也就是层序遍历,在遍历每层的时候为next赋值#使用广度优先遍历,广度优先遍历的详解def connect(self, root: 'Node') -> 'Node': if not root: return root que = deque([root]) while

2021-06-30 15:13:16 354

原创 《Devops实践指南》学习总结(全干货)

Devops基于精益原则,约束理论,和丰田套路运动,并拓展了”基础设施即代码“的实践,被人们视作敏捷运动的延续基础设施即代码 包括 持续集成,持续交付,和持续部署技术价值流:把业务构想转化为向客户交付价值的,由技术驱动的服务所需要的流程前置时间:从工单创建到工作完成需要的时间处理时间:从开始处理到完成需要的时间Devops的基础原则,三步工作法第一步:流动原则实现开发到运维的工作快速的从左向右流动将工作可视化限制在制品数减少批量大小减少交接次数持续识别和改进约束点,环境搭建,代码部

2021-06-17 21:56:34 3085 3

原创 python脚本路径的处理总结

import osimport timefrom os.path import abspath, dirname, isfile, splitext, basenamefile_home = dirname(abspath(__file__)) #获取当前脚本所在路径if isfile("D:/devtest/aaa.txt"): #判断aaa是否是一个存在的文件 print(True)pathname, _ = splitext("aaa.txt") #分离文件名与扩展名bnam

2021-06-08 14:31:22 241 1

原创 Keepalived+Nginx(主备模式) 高可用集群搭建演示

为什么要使用keepalivedNginx作为反向代理服务器实现服务器分配资源负载均衡,但是如果有一天Nginx服务器宕机了,那用户的请求如何发送到服务器来呢?于是,keepalived作为检查服务器状态的软件来了!主备模式搭建整体架构图172.16.10.185 模拟web服务器1172.16.10.189 模拟web服务器2172.16.10.186 keepalived + nginx 负载均衡服务器1172.16.10.184 keepalived + nginx 负载均衡服务器2

2021-05-30 17:15:11 359 1

原创 python字典按插入顺序保持有序

有一种需求,写编译脚本时某个服务有编译顺序,我们需要对这些模块做特殊处理时,比如过滤时还需要让他保持有序,这时候使用单纯的字典就无法满足我们的需求了,然后python中内置的collections模块很好的解决了这个问题看一下例子:需要对一组数据进行过滤并保持插入顺序li = collections.OrderedDict()li['aaa'] = Falseli['ccc'] = Falseli['bbb'] = Falsef = 'aaa'if f in li.keys():

2021-05-13 10:37:20 1705

原创 k8s pod Evicted状态问题解决

kubectl get po -n kube-system -o wide #查看pod运行状态信息可以看到有两个状态为驱赶,一般是磁盘空间不足了,清理slave磁盘空间后,状态正常

2021-04-30 11:27:35 781

原创 docker k8s devops项目实战 (1)docker基本操作和网络

安装配置配置阿里云yum源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.reposed -i ‘s/$releasever/7/g’ /etc/yum.repos.d/CentOS-Base.repoyum clean allyum list配置docker镜像源:yum-config-manager --add-repo http://mirrors.aliyun.com/d

2021-04-29 16:30:15 428 3

原创 docker k8s devops项目实战 (2)k8s集群搭建

安装配置配置阿里云yum源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.reposed -i ‘s/$releasever/7/g’ /etc/yum.repos.d/CentOS-Base.repoyum clean allyum list配置docker镜像源:yum-config-manager --add-repo http://mirrors.aliyun.com/d

2021-04-27 18:14:14 403

原创 jenkins slave could not find any known supported java version 问题解决

在配置jenkins slave结点时,说找不到合适的java版本,是因为没在jenkins里面配置java的目录此处有个高级,里面会有javapath,JVM 参数等高级配置,在javapath里面将环境变量配上即可如果是jdk,只需要配置到jdk那一级目录,如果是jre,需要配置到jre/bin/java目录...

2021-04-25 11:23:49 312

原创 非repository执行git命令

在python脚本执行时,需要在任意目录下执行git命令,这就用到了非git仓库执行git命令:GIT_DIR=/home/cpauto/release/.git git rev-parse HEADgit rev-parse HEAD 获取当前版本的hash码git diff v1 v2 --name-status 获取两个版本之前修改的文件名和状态A 增加D 删除M 修改R100 移动...

2021-04-18 12:22:50 161

原创 python实现适配器设计模式

适配器模式(Adapter Pattern)将某个接口转换成客户端希望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配而不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)工作原理适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容从用户的角度看不到被适配者,是解耦的用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法用户收到反馈结果,感觉只是和目标接口交互python实现class Charge(object): #充电基类,默认

2021-04-03 15:23:17 188 1

原创 linux 批量替换修改配置

sed -i s/XXX/aaa/g `grep XXX -rl --include=“application.yml” /jettodevops/it4it/config`

2021-03-26 15:44:10 527

原创 redis集群连接不上redis服务

切换到redis配置文件所在目录下执行这两条命令sed -i ‘s/bind 127.0.0.1/#bind 127.0.0.1/g’ redis.confsed -i ‘s/protected-mode yes/protected-mode no/g’ redis.conf成功修改如果是集群先批量杀死redis进程ps -ef |grep redis | grep -v grep|awk ‘{print $2}’ |xargs kill -9脚本批量修改配置并批量启动#!/bin/bas

2021-03-24 16:09:36 774

原创 重启docker引擎,harbor退出问题解决

重启docker引擎,harbor退出问题解决在学习docker的harbor服务器搭建时,修改daemon.json配置文件后,需要重启docker,重启之后导致 harbor管理页面无法进入解决办法:进入到harbor配置文件目录停止harbordocker-compose down加载配置文件./prepare启动后台所有服务docker-compose up -d访问页面问题解决...

2021-03-08 12:03:46 1600 1

原创 配置aliyun的yum源,docker 国内镜像仓库

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.reposed -i ‘s/$releasever/7/g’ /etc/yum.repos.d/CentOS-Base.repo

2021-03-04 10:46:47 978 2

redis-3.0.0.gem.zip

redis集群搭建

2021-03-24

空空如也

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

TA关注的人

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