自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [GOLANG]使用GIN实现请求转发+编辑response

一、背景1、客户两个部门,A部门在平台上训练模型,发布预测服务;B部门为新成立业务部门,需要去调用A的预测服务。B部门对发出的请求、返回都有明确的接口规范。A的预测服务,不同模型请求、返回参数不同,没有确定的格式,不会根据B要求做修改。二、方案考虑在用户请求入口加一个proxy服务,功能:①作为B的访问入口②解析B发出的请求,筛选平台需要的字段③将B的请求代理到后方预测服务上④接收预测服务response,加上B需要字段三、实现使用ReverseProxy做代理,用ModifyRespon

2021-04-22 15:42:47 4455

原创 k8s使用csi后pvc一直pending

背景产品使用csi进行存储管理,初次搭建只部署了csi、pv、pvc,并成功运行。后面集群复用,新增了其他组件。运行一段时间,由于一个bug需要修改pvc名字,但是按之前的yaml创建pvc后状态一直是pending资源声明这里省略csi配置,虽然研究了半天,但是问题并不在csi上apiVersion: v1kind: PersistentVolumemetadata: name: my-pvspec: accessModes: - ReadWriteMany capaci

2021-03-22 11:56:55 4615

原创 docker、kubelet日志不输出到/var/log/message,又能用journalctl查询

背景客户机器/var目录很小,任何业务运行相关的都要挪走。现在发现/var/log/message一直被docker、kubelet循环写,需要修改输出位置,同时不影响journalctl查询。配置文件需要root权限。cd /etc/rsyslog.dvim docker.conf ##加入以下内容,不同服务只需要修改$programname即可if $programname == 'docker' then /data/log/docker/docker.logif $progra

2021-01-28 15:51:13 2298 1

原创 registry如何查看镜像tag,如何删除镜像

首先查看要删除镜像的Digest curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" -I -X GET http://registry_host:5000/v2/<images_name>/manifests/<tag>返回的信息HTTP/1.1 200 OKContent-Length: 3459Content-Type: application/vnd.doc

2020-12-28 17:47:08 1525 3

原创 K8S etcd目录迁移ssd

1、停master服务:kubelet、docker、etcd2、将三台master上/var/lib/etcd下内容迁移到 ssd目录上3、修改/etc/etcd.env中data_dir,或者不修改,挂载的时候用ssd,容器内还是/var/lib/etcd4、修改/usr/local/bin/etcd中宿主主机挂载目录5、重启etcd,memberlist检查状态export ETCDCTL_API=3etcdctl --endpoints=[ip:2379] --cacert="/etc

2020-12-15 14:47:07 586

原创 Prometheus如何解决监控项不存在问题

背景:业务中要监控某个指标,但是服务挂掉后telegraf写不到prometheus中,导致以前的监控项fail。解决方法:在promSQL中加上 or on() vector(0)比如(max_over_time({name=~'log*}[1h]) or on() vector(0))< 1在log*不存在时,返回0,满足小于1的条件,触发告警...

2020-12-02 15:35:05 973

原创 python、golang aes加密(cbc+pkcs#7)

为什么用cbc+pkcs7:(pkcs5是pkcs7固定8位)python:S5542-Cipher Block Chaining (CBC) with PKCS#5 padding (or PKCS#7) is susceptible to padding oracle attacks.偏移量:直接用keypython代码:#!/usr/local/bin/python3from Crypto.Cipher import AESimport osimport base64class A

2020-11-11 10:13:36 1454 2

原创 K8S证书修复

curl -k https://ip:8137/images/json --cacert /etc/docker/pki/ca.pem --cert /etc/docker/pki/cert.pem --key /etc/docker/pki/key.pem每个节点curl这个接口,通的说明证书没问题,不通的说明有问题。修复办法:备份有问题节点证书目录/etc/docker/pki,把没问题的节点的证书覆盖到有问题的节点,然后有问题的节点systemctl daemon-reload &&amp

2020-11-05 16:20:15 179

原创 集群ntp配置

mastervim /etc/ntp.conf修改现有的为#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburstserver 127.127.1.0 # local clockfudge 127.127.1.0 stratum 8systemctl enabl

2020-10-10 18:42:17 395

原创 Prometheus自定义exporter

服务以GPU监控为例,参考prometheus官方文档,这里用到了gonvml库,确保运行环境能找到libnvidia-ml.so.1库,如果没有,其实也可以nvidia-smi,手动解析获取监控指标,不过这样比较麻烦。Gauge和GaugeVec区别:Gauge单个监控指标,GaugeVec多个监控指标集合,需要定义[]labels,使用WithLabelValues(labels…)去选择指标,用于多CPU、GPU等场景package mainimport ( "flag" "fmt"

2020-06-09 19:07:53 4411 1

原创 离线安装flask+flask_restful

服务器无法访问外网,没有pip源,需要离线安装flask+flask_restful。1、flask下载地址:https://pypi.org/search/?q=flask因为是离线安装,我选择的是Flask-1.1.2.tar.gz。上传到服务器,解压 tar xzvf Flask-1.1.2.tar.gz,进入文件夹,vi setpu.py 查看依赖 install_requires=[ "Werkzeug>=0.15", "Jinja2&gt

2020-05-26 10:39:25 725

原创 Flask字典list用法

最近用flask做一个简单的restful服务,服务返回的json格式如下{ "a": 1, "b": 2, "c": { "list": [ { "d": 3, "e": 4 }, { "d": 5, "e": 6 } ],

2020-05-25 21:47:06 1185

原创 Python qrcode终端输出二维码

在客户现场,有时候因为安全规定,服务器上的授权码license等文件无法下载,只能手打+check,带来的问题就是效率低、准确度不高。目前遇上的场景,大都是一些小文件,考虑在终端输出二维码来解决。Qrencode,命令行工具,依赖libpng、 zlib,安装起来比较麻烦,先tag一下。python qrcode库,需要pip install,不过使用pyinstaller可以打包,简单写了...

2020-05-06 16:38:00 3151 2

原创 LVM卷搭建记录

磁盘信息:nvme1n1、nvme2n1、nvme3n1,大小均为4T操作步骤:1、fdisk -l #查看硬盘信息2、pvs #查看物理卷3、pvcreate /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1 #创建物理卷4、pvdisplay #输出详细pv信息5、vgcreate data-vg /dev/nvme1n1 /dev/nvme2n1 /...

2020-04-30 17:14:40 329

原创 flannel绑定外网网卡问题

基于一次客户环境crash,现象pull镜像一直CrashLoopBackOff客户使用了双网卡配置,推测是使用了外网网卡,导致无法访问registry。ps -efwww|grep flannel,这里没截图全,后面–iface=0f1查看flannel配置:kubectl -n kube-system get ds kube-flannel-ds -o yaml…contain...

2020-04-30 17:12:46 714

原创 记录一次k8s pod CrashLoopBackOff 问题

在测试环境验证某一服务时,修改了镜像,按以往操作启动pod时,发现启动失败:一直启动失败,kubectl logs 查询不到有用信息。遂kubectl describe pod 查看具体日志:是在pull完inference-model-fetcher-alpine:latest后,启动容器时报错。继续往上看,发现Init Containers时,有以下错误:为了方便搜索,特意把错误...

2020-03-17 22:40:25 763

原创 Linux GlusterFS搭建与扩容

一、GlusterFS类型项目上常用的有Replicate复制卷、Distributed-Replicate分布式复制卷,前者同一文件不同节点存储相同副本,后者GFS会将文件hash到某一组节点。Replicate搭建时最好3节点起,2节点可能会有脑裂产生。二、GlusterFS安装1、配置本地yum源参考2、安装GlusterFSyum install glusterfsyum i...

2020-02-14 16:56:43 1629

原创 Linux本地yum源配置

一、前言服务器不能访问外网时,一般需要搭建本地yum源,本文主要介绍如何借助nginx实现本地yum源配置。二、本地配置1、准备所需要的rpm包,可以用U盘或移动硬盘存储上传到主机或者挂载,这里我上传到/opt/repos/rpms2、配置本地repo先备份旧repo文件mv /etc/yum.repos.d/*repo /etc/yum.repos.d/bak/vi /et...

2020-02-14 16:42:38 519

空空如也

空空如也

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

TA关注的人

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