使用Docker部署私有IPFS存储网络
环境介绍
节点名称
IP地址
系统版本
Node01
192.168.99.21
Centos7
Node02
192.168.99.22
Centos7
Node03
192.168.99.23
Centos7
开始安装
注意:以下操作三个节点都需要执行
安装docker和docker-compose
1$ curl https://www.putianhui.cn/package/script/install_docker.sh | bash
创建ipfs数据目录和docker-compose文件
12345678910111213141516171819202122$ mkdir -p /data/ipfs/{data,staging}$ cd /data/ipfs$ cat >docker-compose.yaml <<EOFversion: '3'services: ipfs: image: ipfs/kubo:v0.20.0 container_name: ipfs res ...
Nginx反向代理ChatGPT的api接口,实现国内直接访问到OpenAi的接口
下面介绍在国内网络中不科学上网的情况下来调用OpenAI的api接口,从而使用chatgpt开发应用或者使用chagpt的镜像站比如 这个项目
注意事项:
1、你需要有一个自己的chatgpt账号
2、登录openai的网站,创建一个openai的apiKey,创建apikey地址在这里
3、你需要有一台可以正常访问Chatgpt的海外vps服务器,推荐使用微软云的服务器,官网在这里
安装Nginx
12345# Centos系统安装$ yum install -y nginx# ubuntu系统安装$ apt-get install -y nginx
Nginx创建一个反向代理chagpt接口的vhost
123456789101112131415$ vim /etc/nginx/conf.d/chat.confserver { # 这里端口也可以非80或443 listen 80; # 这里写你的域名 server_name chatapi.xxx.com; location / { # 反向代理到o ...
Helm安装各种服务-持续更新(nfs-client-provisioner、ingress-nginx、Jumpserver、Harbor、Jenkins、Gitlab、PrometheusAlert、Kube-Promethues)
文档中所有helm服务的部署都Kubernetes-1.24.6集群中进行的,低版本或者高版本部分api可能不支持,请自行研究。
Helm的常用命令查看helm的版本信息
1$ helm version
repo仓库相关
1234$ helm repo list$ helm repo add jumpserver https://jumpserver.github.io/helm-charts$ helm repo update$ helm repo remove jumpserver
search搜索相关
1$ helm search repo gitlab
show查看相关
1234567891011# 显示chart的全部信息$ helm show all# 显示chart的定义信息$ helm show chart gitlab/gitlab# 显示chart的readme信息$ helm show readme# 显示chart的values信息$ helm show values gitlab/gitlab
install安装相关
12345678# 【常用】 ...
容器镜像构建工具和方案介绍
简介本节一起看一下都有哪些可用于构建容器镜像的工具和方案。可能你会疑问,构建镜像不就是使用docker build就可以吗,即使将来docker真的退出历史舞台,不还有containerd吗,前面第5节的时候也介绍了在containerd下可以使用nerdctl+buildkit构建容器镜像。 如果你只是在单机本地构建镜像的话,使用docker build或nerdctl+containerd+buildkit确实没有问题,但实际中由于不同场景和技术背景下的限制,如docker build依赖于docker daemon,这些限制使得在一些特殊的场景下本机构建镜像的方式不再可用。
下图是一个一个CI/CD流水线中的分布式构建架构,结合了容器技术,将Jenkins用于构建的Slave节点放到容器中,并基于K8S来动态调度管理这些Jenkins Slave容器。这样一来Jenkins就具备了基于容器的分布式构建能力, 一个应用从源码经过各个阶段到最终的镜像是采用分布式构建实现的,各个阶段也都是在容器中进行的。
上面基于容器的分布式构建,首先要面对的问题就是要在jenkins ...
Logcli-loki命令行工具使用详解
Logcli-loki命令行工具安装前往Loki版本发布页面 下载对应版本的Logcli命令行工具到本地。
1234567cd /tmp && wget https://github.com/grafana/loki/releases/download/v2.7.2/logcli-linux-amd64.zipunzip logcli-linux-amd64.zipmv logcli-linux-amd64 /usr/binrm -f ./logcli-linux-amd64.zip
配置loki客户端连接loki服务器的地址到环境变量
123456# 如果loki 为非本机地址, 请将localhost 替换为对应ip地址$ export LOKI_ADDR=http://localhost:3100# 如果你的loki有账号密码的认证,使用下面将账号密码导入到环境变量中$ export LOKI_USERNAME=<username>$ export LOKI_PASSWORD=<password>
注意:如果在代理服务器后面运行 Lo ...
什么是运维-对运维的一个理解
这不年底了吗最近在写年终工作总结汇报,领导让总结下对运维的理解然后给上面不懂技术的大领导看,然后就整理了下面这篇文章。
什么是运维?运维是指在大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与健康运行。
它集合了软硬件、网络、系统、数据库、开发、安全、监控、应用架构、存储、大数据、公私有云于一身的技术,通过系统状态监控、事件预警、业务调度、排障升级等手段,使服务处于长期稳定可用的状态。
运维岗位的分类
运维开发:运维平台的设计,开发和实施部署,如:资产管理系统、监控系统、自动发布平台、权限管理系统等等。
应用运维:主要负责线上服务的发布变更、服务健康状况监控、服务的容灾高可用、数据安全备份和做故障排查等工作。
系统运维:系统运维主要和系统及底层网络等打交道,如:硬件、IDC机房、网络拓扑、CDN加速和基础服务的建设等;对所有服务器的资产进行管理,服务器的调研选型、交付上架和后期维护等。
数据库运维:需要对库、表、索引和SQL等制定规范,对数据库进行变更、监控、备份、高可用设计等工作。
安全运维:进行常规的安全扫描、渗透测试、进行安全工具和系统研发以及安全事件应急处理。
桌 ...
Loki+Grafana+PrometheusAlert单进程部署实行日志收集到飞书的日志告警
环境介绍及组件版本
我这里是做实验,所有组件全部署在一台机器上(包括日志收集端),生产部署根据需求将各组件分别部署(promtail日志收集端是需要每个需要日志收集的服务器都部署的)。
组件信息
服务名称
版本
备注
Promtail
v2.7.0
服务端收集日志agent输出到loki存储,类似filebeat
Loki
v2.7.0
存储日志和查询日志
Grafana
v9.2.7
用于查询日志及配置日志告警规则,将告警发送至webhook
PrometheusAlert
v4.8.2
告警通知中心用于暴露webhook,将Grafana推送的告警信息模板格式化后发送至飞书
Loki介绍特点
围绕日志标签构建索引,而不是像es一样进行全文索引
多租户:通过tenant ID实现多租户,如果关闭多租户, 则默认唯一租户为fake
部署模式
单进程模式:所有的组件运行在一个进程中,适用于测试环境或者较小的生产环境
微服务可扩展模式:各组件单独运行,可水平伸缩扩展
组件
Distributor
负责处理客户端的日志写入,负责接收日志数据,然后将其拆分成 ...
Mysql添加操作审计日志功能的实现
背景鉴于目前MySQL审计需求不断深入扩张,以提高数据资产的安全,使得数据库愈来愈规范化管理,数据库实现审计功能成为必要安全环节。
众所周知,MySQL社区版是不带审计插件的(Audit Plugin),那么该如何实现审计功能呢?我们自然会想到使用binlog日志做审计,因为binlog日志本就记录着数据库上的所有改变。但是无奈,binlog日志并不会记录用户的登录信息,所以无法做到真正意义上的审计。
环境信息本文将介绍如下两种方式,实现使用审计功能。
Mysql版本:MySQL - 5.7.25(社区版)
工具
获取源包名
MariaDB审计插件
mariadb-10.2.43-linux-systemd-x86_64
McAfee审计插件
audit-plugin-mysql-5.7-1.1.11-985-linux-x86_64.zip
MariaDB审计插件MariaDB开发的MariaDB审计插件,虽然具有一些仅适用于MariaDB的独特功能,但它也可以与MySQL一起使用。MariaDB审计插件所生成的审计日志记录内容包括:用户名和主机、执行了哪些查询、 ...
Docker安装Headscale内网穿透服务
安装服务端创建headscale配置目录
12$ mkdir -p /etc/headscale/{data,certs}$ cd /etc/headscale
生成headscale配置文件
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576$ cat >config.yaml<<EOF---# 这个地址是告诉客户端需要访问的地址, 即使你需要在跑在# 负载均衡器之后这个地址也必须写成负载均衡器的访问地址server_url: http://35.241.79.221:8080# Headscale 实际监听ip和端口listen_addr: 0.0.0.0:8080# 监控数据地址metrics_listen_addr: 127.0.0.1:9090# grpc 监听地址grpc_listen_addr: 0. ...
ClickHouse双分片双副本集群安装/部署
环境介绍Clickhouse高可用集群采用ReplicatedMergeTree + Distributed方案,2分片2副本,共4个节点。
注意:本文档不展示zookeeper集群的安装过程,请自行查找zk集群安装文档。生产环境建议Zookeeper独立服务器部署,Clickhouse集群对Zookeeper依赖较高。
名称
版本
操作系统
Centos7.9
ClickHouse版本(RPM)
21.9.7.2
Zookeeper集群
3.4.5
Node01
192.168.99.28
Node02
192.168.99.29
Node03
192.168.99.30
Node04
192.168.99.21
操作系统准备工作
准备工作四台主机都需要操作。
我这里准备clickhouse单独数据盘挂载,如果数据不单独存储可以省略此步。
12345678910pvcreate /dev/sdbvgcreate data /dev/sdblvcreate --name data_01 -l 100%FREE datamkfs.ext4 ...