运维和开发
文章平均质量分 67
做过运维和开发
当说你开发做的还不错时,你说其实我是做运维的
当说你运维做的还不错时,你说其实我是做开发的
不管是做运维还是开发
终究是要做架构
加油^_^
小卡车7号
加油吧。如梦幻泡影,如电亦如露啊。
展开
-
pulsar简介
plusar是和kafak同类型的消息处理平台,这两年开始走入大众视野。详细的说明就不赘述了,我们来快速使用体验下。原创 2022-08-13 22:34:04 · 831 阅读 · 0 评论 -
用go写一个docker(9)-初步构造容器
通过前面的准备我们可以开始写docker了。一口吃不出一个胖子,我们慢慢吃,到最后不会吃成胖子,但能把东西吃完也是极好的。所以我们先实现一个run版的docker,后续再慢慢加其他功能。本次的完整代码可参考:https://github.com/xianlubird/mydocker/tree/code-3.2为了便于理解,我精简了一下:https://github.com/warshipJian/jiandocker/tree/code-1主要看command.go文件:var runCo原创 2021-02-21 12:15:08 · 2538 阅读 · 0 评论 -
用go写一个docker(8)-介绍两个库cli和logrus
有了前面知识就可以开始写一个简单的docker了,但为了让这个docker好看一点,我们先了解一下会用到的两个库:cli 和 logrusgithub.com/urfave/cligithub.com/sirupsen/logrus关于go的版本这里再啰嗦一下,go在1.12之后就正式支持go module了,通过go module管理使用第三方包非常的方便。如无特殊说明,这里用的go版本都是1.15的,使用go module来管理维护第三方库(和go path说再见吧)。cli我们原创 2021-02-04 23:57:46 · 269 阅读 · 0 评论 -
用go写一个docker(7)-linux的AUFS文件系统
namespace和cgroup解决的是容器的资源隔离和限制问题。容器的另一个特点是镜像分层,我们可以在基础镜像上加自己定制的东西。今天我们就以AUFS为例,来看看docker的文件系统。什么是AUFSAUFS 的全称是 Advanced Multi-layered unification filesytem,它的主要功能是:把多个目录结合成一个目录,对外使用。以下面为例,我们先直观地体验一下。1.准备工作准备三个目录,分别命名为:base,mnt,top。在base目录下创建名为base.txt原创 2021-01-25 19:17:15 · 204 阅读 · 0 评论 -
用go写一个docker(6)-linux的cgroup
namespace可以帮我们把资源隔离,但不能对资源的使用做限制。比如我想限制某个进程用多少CPU,多少内存话,怎么办呢?答案就是用cgroup什么是cgroupcgroup是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。体验下cgroup我们直接体验下cgroup的内存和CPU限制。一.cgroup的内存限制示例代码mem.go:package mainimport ( "fmt"原创 2021-01-17 12:23:21 · 440 阅读 · 0 评论 -
用go写一个docker(5)-linux的namespace(下)
上篇我们用go语言体验了namespace,今天了解下namespace的实现。namespace的目的是资源隔离,即资源都在,但不能让你看到。比如进程a只属于namespace A,则不能让a看到namespace B的资源,除非把a拉到namespace B中。namespace隔离的资源有:系统的hostname网络资源(网卡信息,路由信息等)进程信息(有哪些进程,父进程子进程间的关系等)用户信息(有哪些用户,组,用户的权限是什么)文件系统信息(有什么可用的文件系统等)等等...那原创 2021-01-11 12:05:12 · 515 阅读 · 0 评论 -
非docker环境下的fastapi开机启动
有个方式是用Supervisor托管fastapi,配置Supervisor开机启动,从而达到fastapi开机启动的目的。但我只是想启动fastapi,能否不用Supervisor,当然是可以的。假设fastapi项目的路径是/opt/fastapi,则启动fastapi的命令可以是:/usr/local/bin/uvicorn --app-dir /opt/fastapi main:app那么把这条命令放到/etc/rc.local中就可以开机启动了。但这样又显得不是那么优雅,不如就用系统本原创 2020-10-19 15:30:19 · 1225 阅读 · 0 评论 -
PHP框架下配置文件读取k8s环境变量,实现node的custom-environment-variables效果
如果用过node的话,会发现它的环境配置管理在docker容器集群中使用起来比较方便。以koa为例,在config下定义好custom-environment-variables.json相关环境变量,比如:{ "mysql_host": "MYSQL_HOST", "mysql_user": "MYSQL_USER", "mysql_password": "MYSQL_PASSWORD", "mysql_db": "MYSQL_DB", "redis": "REDIS"}之后原创 2020-09-28 18:17:09 · 1107 阅读 · 0 评论 -
解决cURL error 60 Peer‘s Certificate issuer is not recognized.问题
有时更新了SSL证书后,在浏览器端正常访问,但在服务端,比如PHP不能正常请求该接口,报错如下:cURL error 60: Peer's Certificate issuer is not recognized.如果使用PHP的file_get_contents函数,报错如下:PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL原创 2020-09-27 17:24:17 · 27824 阅读 · 0 评论 -
gitlab的runner实践
公司的项目有个特点:项目多。这意味着每有一个新项目,就需要在gitlab,jenkins,k8s上新建对应的项目。虽然每次配置只花10分钟,但这种重复的劳动终究不是我们想要的。仔细一看,发现每次新建项目基本是改下名字,其他配置都没怎么改过,于是便有了改造思路:去掉中间商jenkins(jenkins是很优秀的,这里不用它是为了偷懒)利用gitlab的runner来做CI/CDCI/CD 流程去掉jenkins后,代码的打包发布工作就交给了gitlab的Runner。Runner是原创 2020-08-26 14:22:41 · 702 阅读 · 0 评论 -
ECS云盘在线扩容
今天分享一个运维小知识。有时候我们的服务器硬盘空间不足了,需要扩充空间。如果是单硬盘,又没有做LVM这些,能否不停机且将硬盘的容量扩大呢?当然是可以的,用云厂商的在线扩容实现。以阿里云的ECS为例,步骤如下:1. 找到服务器云盘,先创建一个快照(扩容失败时还原数据,虽然基本不会发生),快照创建完成后,选择云盘扩容。2. 勾选在线扩容,填好要扩容的容量。这里扩到200G3. 完成后可以看到硬盘变成了200G了,但进入服务器发现还是40G,此时要手动处理下。4. 先安装好用于扩容硬盘的工具Ce原创 2020-08-20 18:03:54 · 747 阅读 · 0 评论 -
laravel admin-03-验证码和防XSS攻击
一.验证码有个现成的库:https://github.com/Iamtong/laravel-admin-login-check-safe 直接拿来用吧。安装一下composer require iamtong/laravel-admin-login-check-safephp artisan vendor:publish --provider=Encore\LoginCheckSafe\LoginCheckSafeServiceProvider根据需求修改配置文件config/admin.p原创 2020-07-31 15:01:35 · 561 阅读 · 0 评论 -
laravel admin-02-数据导出
默认的csv导出有中文乱码的问题,需修改一下CsvExporter.php文件打开 vendor/encore/laravel-admin/src/Grid/Exporters/CsvExporter.php在public function export() 的$headers后面添加print(chr(0xEF).chr(0xBB).chr(0xBF));但还是不太方便,改为用laravel-excel吧一.安装对于laravel5.6及以上的,直接composer安装即可compose原创 2020-07-28 18:04:21 · 859 阅读 · 0 评论 -
laravel admin-01-按钮隐藏
laravel admin提供了模板化的管理后台,可以让后端在10分钟内就做出一个管理后台,非常的方便。优点:自带角色,权限管理,无需再做一套权限管理系统丰富的字段类型,无需另外去写相关的样式和交互基于laravel开发,可以说是没有学习成本了当然,不吹不黑,有一说一。作为一个已经迭代多年的框架,UI和交互方面显得不是那么的fasion,用它来处理一些定制化多的场景时,开发起来也比较繁琐。一.安装和入门认真学习的同学应该发现了,这些在小学二年级的时候学过了,所以安装和入门使用就不赘述了,原创 2020-07-27 21:20:06 · 433 阅读 · 0 评论 -
PHP调用java的webservice(SOAP)
现在都是用微服务了,早期有个概念和微服务差不多的东西,叫SOAP。最近有个项目就需要调用java那边的webservice获取订单状态,由于之前不了解走了些弯路,此次记录一下。soap client 使用PHP要开启soap调用步骤连接soap找出对外的function找出支持的参数types传参调用function,获取结果。连接soap$wsdl = 'http://...原创 2020-01-13 17:23:54 · 883 阅读 · 0 评论