自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

噜噜噜的博客

运维小白

原创 编写自己的kubernetes operater

在k8s中有许多编排工具,目前比较热门的是包管理工具Helm,如果说docker是奠定的单实例的标准化交付,那么Helm则是集群化多实例、多资源的标准化交付,但是helm 只能实现简单的编排能力,一些特定场合的应用编排并不能依靠helm实现,比如当一个被依赖服务挂掉感知到之后,如何做一个特定的操作...

2020-05-15 21:24:47 113 0

原创 一键部署二进制kubernetes + HA 集群

部署方式:ansible-playbook (2.9.6) 部署集群类型:二进制kubernetes v17.3 + haproxy + keepalived + etcd+bootstrap自动签署 git 地址:https://github.com/yingjianjian/kuberne...

2020-04-07 23:52:11 100 0

原创 nginx重定向导致端口映射的端口无法正常访问

描述:在使用路由器进行端口映射的时候,如果使用和nginx 监听的端口一样是不存在问题的 但是如果使用了其他端口 就会出现无法访问的问题。 例如:访问http://111.0.120.180:389 会直接跳转到http://111.0.120.180:38080/sso/?return=htt...

2020-03-11 23:09:32 112 1

原创 python Django 实现自定义prometheus export

Prometheus 是一个 Metrics 监控系统,与 Kubernetes 同属 CNCF(Cloud Native Computing Foundation),它已经成为炙手可热的 Kubernetes 生态圈中的核心监控系统。 Prometheus 所有的Metrics 都是通过组件e...

2020-01-23 14:01:25 210 0

原创 CI/CD流程设计及实现

目前我司的CICD的架构基本如图: 其实该架构是一个很常见的架构,但是我在这里主要考虑了如何最大化利用该架构 实现CICD的便捷使用以及后续如何快速集成到运维平台。 思考的问题: 1.因考虑到CICD的可靠性、安全性,需要将pipeline脚本和业务代码分离。 2.如何快速的批量生...

2019-11-28 20:14:52 130 1

原创 新版禅道修改源码接入ldap

因新版开源版本不支持ldap,只支持到7.3版本 所以新版禅道需要本地导入插件,并且直接导入之后是无法使用的,因新版的验证方式和旧版不一样。 插件包下载地址: https://www.zentao.net/extension-buyExt-326-download.html 具体安装过程...

2019-11-23 11:08:20 293 0

原创 kibana sentinl webhook实现自定义报警

背景: 目前每个应用都有各自的负责人,现有的报警机制无法满足 根据应用不同发送给不同的人,kibana的默认报警无法灵活的去展示报警信息。经过一段时间的预研,还是决定选择webhook的形式 中转之后展示自定义的信息。 报警邮件效果如图: 点击详情跳转到上下文: 在有安装sen...

2019-11-12 17:57:02 410 2

原创 Ubuntu中使用freeradius配置RADIUS,并在RADIUS中配置LDAP 并实现AP认证

执行 sudo apt-get install freeradius freeradius-ldap freeradius-mysql进行安装freeradius 安装完成之后,他会自己启动,需要手动关闭,不然后面会报错,或者直接简单粗暴从任务管理器中kill相关进程也行 service fr...

2019-10-10 18:51:19 145 0

原创 kubernetes kube-proxy模式详解

kubernetes里kube-proxy支持三种模式,在v1.8之前我们使用的是iptables 以及 userspace两种模式,在kubernetes 1.8之后引入了ipvs模式,并且在v1.11中正式使用,其中iptables和ipvs都是内核态也就是基于netfilter,只有user...

2019-08-14 17:13:46 722 0

原创 kubernetes v1.14 (bootstrap 部署node)

本文采用TLS bootstrap证书:在安装 k8s worker node 时,基本上 worker 的初始状态仅仅是安装了 docker 和 kubelet,worker 需要一种机制跟 master 通信。但网络通信的基本假设是通信双方谁也不信任谁。所以,kubelet bootstrap...

2019-05-02 17:11:30 543 0

原创 阿里云slb 7层代理ingress获取真实客户端ip的方法

起因:ingress 设置ip白名单之后,发现白名单里的ip 403拒绝,后续通过追踪ingress的日志发现 真实的ip 是slb的保留ip 也就是上层代理的ip。这样是无法获取到真实用户的ip的。 nginx里的解决方案: 使用X-Forwarded-For的方式获取客户端的真实IP地址。...

2019-04-02 17:58:42 1277 0

原创 kubernetes statefulset redis集群部署

redis 模式对比 master-slave模式: 主从模式单纯的讲就是多个实例,可以是一主多从也可以是多主多从,主从模式的作用就是备份数据,数据层面的容灾,这样当一个master节点数据丢失的时候(硬件损坏),可以依据slave的数据恢复, 1.另外一个作用就是做读写分离所有读操作都...

2019-03-30 20:48:42 529 0

原创 prometheus-operator 监控报错

报错alert: KubeControllerManagerDown message: KubeControllerManager has disappeared from Prometheus target discovery. 根据ServiceMonitor—> Ser...

2019-03-15 17:39:54 586 0

原创 kubernetes里prometheus-operator 监控jvm

在配置prometheus-operator 监控jvm之前,我们必须要了解prometheus-operator的4个crd不然后续会蒙蔽。 这四个CRD作用如下 Prometheus: 由 Operator 依据一个自定义资源kind: Prometheus类型中,所描述的内容而部署的 P...

2019-03-11 19:28:51 2639 1

原创 Prometheus-Operator 自定义配置

选择Prometheus-Operator: 因为是prometheus主动去拉取的,所以在k8s里pod因为调度的原因导致pod的ip会发生变化,人工不可能去维持,自动发现有基于DNS的,但是新增还是有点麻烦。 Prometheus-operator的本职就是一组用户自定义的CRD资源以及C...

2019-03-08 19:11:48 2005 0

原创 基于kubernetes的efk日志系统架构

EFK由ElasticSearch、Fluentd和Kiabana三个开源工具组成。其中Elasticsearch是一款分布式搜索引擎,能够用于日志的检索,Fluentd是一个实时开源的数据收集器,而Kibana 是一款能够为Elasticsearch 提供分析和可视化的 Web 平台。这三款开源...

2019-02-22 17:31:03 594 0

原创 mysql数据同步之后出现的问题

mysql数据同步之后出现的问题: 两个mysql数据同步之后发现两个库执行同一条sql语句执行效率差几十倍 通过explain 查看执行计划发现两个实例走了不同的执行计划 查看了下索引都是一样的,只是mysql在选择上选择了不同的索引 源库使用ACT_IDX_HI_IDENT_LN...

2019-01-22 11:12:17 285 1

原创 kubernetes rbac权限认证

RBAC 基于角色的访问控制,引入了4个资源对象,分别是Role,ClusterRole,RoleBinding,ClusterRoleBinding. 1.角色(ROLE): Role表示是一组规则权限,只能累加,Role可以定义在一个namespace中,只能用于授予对单个命名空间中的资源...

2018-12-23 20:41:25 251 0

原创 Kubernetes 1.12.0网络之Flannel网络部署

Flannel主要的作用就是将不同节点上的docker容器互相打通。 主要功能: 1.它能协助kubernetes,给每一个node上的docker容器分配互相不冲突的ip地址 2.它能在这些ip地址之间建立一个覆盖网络(overlay network),通过这个覆盖网络,将数据包原封不动的...

2018-10-06 00:46:40 1305 0

原创 kubernetes v1.12.0集群部署(二进制方式+基于CA签名双向数字证书认证方式)

kubernetes 最简单的方式是通过yum install kubernetes 直接安装,但是默认安装的是v5版本的kubernetes,所以不推荐使用,还有一种是在v1.4版本开始引入了的kubeadm工具一键部署,但是如果 没有访问gcr.io的网络环境的话部署过程会报错。所以我这边推荐...

2018-10-02 17:17:33 1409 0

原创 grafanf集成zabbix

安装zabbix 插件 grafana-cli plugins install alexanderzobnin-zabbix-app systemctl restart grafana-server 添加Zabbix为数据源   选择左侧配置图标“Configuration”→“Da...

2018-09-24 19:15:51 422 0

原创 elasticsearch 与 grafana集成

效果图: 官方网址:https://grafana.com/ 官方文档:http://docs.grafana.org/ 安装 grafana     sudo yum install https://s3-us-west-2.amazonaws.com/grafana-relea...

2018-09-14 15:00:32 4648 10

原创 ELK日志系统- 可视化视图

在kibana的discover中可以根据自己选择的fileds筛选出自己想要看到的字段比如: 但是如何统计某条日志出现的次数或者说某种类型的日志出现的次数并且以可视化图表的形式展现出来 这个时候就可以用到kibana的visualize 但在创建visualize可视化之前一定要保证自...

2018-09-06 14:53:15 4498 0

原创 redmine的安装

redmine是基于ruby开发的一套项目管理软件,最近公司需要更换项目管理软件,之前一直使用禅道PMS,但是最近想尝试使用其他的管理项目的软件,看是否逼PMS好用,所以最近几天在研究了下redmine,发现redmine还是挺不错的,有免费版本和收费版本。当然收费版本集成了很多已经有的插件,一键...

2018-09-04 17:11:07 1731 0

原创 redmine与gitlab集成

上面我们讲了如何在redmine使用git。 但是如果只是使用git那么redmine的优势不大,每次更新代码都是需要手动执行。所以我这里讲下如何不手动执行的方法: 1.crontab定时任务定期更新,但这个没事实,pass掉 2.使用webhook插件。之前就是一直在使用jenkins,也...

2018-09-04 17:10:33 1394 0

原创 redmine与git集成

公司使用的是git与gitlab管理代码,所以使用redmine的原因之一也是因为可以和git搭配debug 废话不多说直接配置 点击管理-配置-版本库,在启用scm中单选git,如果你们公司用svn也可以选择上,   设置完成之后就可以去项目上创建版本库了   选择主版本库是为了在标...

2018-09-04 17:10:00 1187 0

原创 shell脚本——释放缓存

环境:先公司测试环境下面运行这很多tomcat,这样导致物理内存不够用。目前我这边只能通过手动清理: Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches 手动运行的话就3条命令 sync && echo 1 >...

2018-09-04 17:08:58 1582 0

原创 zookeeper的部署

一、zookeeper介绍 zookeeper是一个分布式的开源框架,它能很好的管理集群,而且提供协调分布式应用的基本服务。 它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group M...

2018-09-04 17:08:34 136 0

原创 ActiveMQ的安装与配置

一、JMS支持的消息传递模型 JMS支持两种消息传递模型:队列(Queue)和主题(Topic)。 1.1 点对点传递模型 点对点(point-to-point,简称PTP)Queue消息传递模型。 通过该消息传递模型,一个应用程序(即消息生产者)可以向另外一个应用程序(即消息消费者)发送...

2018-09-04 17:08:03 2711 0

原创 activemq集群搭建

首先ActiveMQ集群是依赖于ZooKeeper集群而存在的,zookeeper的安装见zookeeper的部署 一、ActiveMQ集群原理 ActiveMQ集群原理,使用ZooKeeper集群注册所有的ActiveMQ Broker。只有其中的一个Broker可以对外提供服务,被视为ma...

2018-09-04 17:07:34 467 0

原创 ELK之logstash

ELK之logstash 最近在工作中发现一些服务 不是经常使用,所以当出现内存溢出的时候无法实时感知到,所以我这边使用了logstash,之前有考虑过zabbix但是zabbix日志监控实施起来比较麻烦 并且日志查看起来非常麻烦,最后发现logstash有日志监控的功能并且可以将日志保存在El...

2018-09-04 17:06:46 92 0

原创 mongodb备份与恢复

mongodb 有两组命令可以进行备份恢复的操作分别是: 备份:mongodump   恢复:mongorestore 备份:mongoexport 恢复:   mongoimport Mongodump可以backup整个数据库,而mongoexport要对每个collection进...

2018-09-04 17:06:04 38 0

原创 gitlab备份与恢复

因为公司代码仓库是用gitlab,最近一直在想数据丢失了如何处理,硬盘坏了如何处理,今天好好研究了下,发现gitlab备份还是挺简单的。 首先设定备份目录我设置的本地目录是/usr/backup vim /etc/gitlab/gitlab.rb gitlab_rails[‘backup_p...

2018-09-03 09:51:18 3963 0

原创 Django+redis+websocket+ansible实现自动化发布

Django+redis+websocket+ansible实现自动化发布 之前已经发布过一个版本就是通过ajax的异步调用实现自动化发布 并将结果返回到web,但是这样有个缺点就是无法查看实时的过程,部署过程进行到什么地步了,并且报错的步骤是那一部分。所以我优化了下代码,使部署过程可视化的实时...

2018-09-03 09:50:28 1288 0

原创 Django+ansible+ajax实现自动化部署

目前公司部署环境都是手动进行部署或者写个shell脚本进行部署,但是感觉这样还是比较麻烦的,所以最近我考虑了下将部署集成到运维平台进行自动化 实现效果: 这个是我第一次想到的版本 当我点击部署的时候后端执行异步部署,部署完成之后返回结果当部署失败的时候有利于我们排错,后续更新如何实时返回结...

2018-09-03 09:49:54 2804 0

原创 python django 密码验证-通过自定义数据表

在django里面登录的动作其实不难就是数据的对比,但是难的是登录验证,主要是为了解决没有登录之前页面是无法查看的 Django 登录页面使用mysql为存储帐号密码的数据库,所以开始的话先要配置mysql,我这里使用python的mysqlclinet去实现集成 安装完成只需在setting...

2018-09-03 09:48:55 1585 0

原创 python-Django使用自带的登录验证

在django里面登录的动作其实不难就是数据的对比,但是难的是登录验证,主要是为了解决没有登录之前页面是无法查看的并自动跳转到login页面 django自带的验证的话非常简单使用authenticate方法实现数据库对比,对比的数据库是django后台自带的数据库,并且密码本身就是加密过的 ...

2018-09-03 09:48:01 1685 0

原创 docker-swarm集群搭建

最近一直在忙公司应用docker化部署,所以很久没发博文了。今天刚好有空,就来介绍下swarm集群,在部署swarm集群之前我一直在考虑用那种集群方式,k8s还是swarm,最后选择了swarm,原因是公司分配的服务器性能有限,无法支持k8s容器,而且相对于k8s swarm比较好学。 这里在了...

2018-09-03 09:47:31 157 0

原创 zabbix监控jmx

背景:目前公司用的主要语言就是java,然后在运维过程中会遇到频繁的内存溢出的情况,之前使用过elk日志分析系统可以实时的判断出内存溢出的情况,但是无法查看内存的使用情况,只能通过dump文件查看内存溢出的时候dump下来的文件去分析。这样也无法准确的判断出问题。zabbix可以监控java,并且...

2018-09-03 09:46:54 2754 3

原创 Django自定义权限控制

最近一直在做自动化发布,通过开发或者测试发起工单到我这边收到工单并一键发布,最终终于完成了这个功能,虽然功能完成了但是目前还不能使用,因为遇到了个问题就是权限问题。如果我把一键发布页面公开的话岂不是任何人都可以发布么。之后想了想弄了一套权限控制,大致的功能就是我可以允许开发到工单页面发起工单,但我...

2018-09-03 09:46:10 2724 0

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