- 博客(52)
- 收藏
- 关注
原创 K8S云管平台开发实践 - 报警功能01
本篇主要阐述实现方案 关键词:open-falcon、javaxmail、apache-james要实现完整的报警功能,我们需要5步: 1. 创建规则 2. 收集数据 3. 将规则数据和收集到的数据进行比较 4. 产生报警数据 5. 推送报警数据而在运管平台中,我们整合了小米开源监控系统open-falcon,对应上面分析的步骤,我们给出的方案是: 1. k8s云管平台提供报
2017-12-20 15:44:30
1155
原创 K8S云管平台开发实践 - Dockerfile
历经大半年,自研的k8s云管理平台终于算是完成了一阶段的开发目标。最近打算整理一下开发中遇到的各种问题和坑。温故而知新,也许能有新的收获。 想到哪写哪,也因为最近测试阶段,主要工作放在将传统应用转化为Docker容器应用,所以第一篇我打算写下Dockerfile。 如何使用Dockerfile将传统应用快速改造为容器镜像1. Dockerfile文件内容(注意,文件名就是Dockerfile
2017-12-19 11:24:43
1853
原创 VMWare桥接模式无法浏览外网解决方法
前段时间在虚拟机centos上折腾docker、k8s和openfalcon,当时运行良好,后来去写paas平台代码了,虚拟机搁置了一段时间,结果最近回头使用发现在虚拟机里面访问不了网页了。但在外面却可以正常连通虚拟机。 于是网上查了很多资料,踩了无数坑后,终于解决了问题,在此记录一下。1.首先确定是不是网络连接的问题:在虚拟机中打开终端 ping 114.114.114.114 1.1
2017-08-31 19:29:51
4072
原创 kubernetes和Swarm,你站哪一队?
前言前几天阿里云的同事来我司介绍云计算相关产品,提到了关于容器编排技术的选择。由于阿里是Docker中国目前唯一代理,所以态度明确的表达大B企业应该使用dockerEE+Swarm。这也引起了我们新一轮的调研和考量(我们前期使用的是k8s)。背景当前主流的容器集群管理技术,包括了 Docker 官方的 Docker Swarm、Twitter 背书的 Mesos 和 Google 背书的 Kuber
2017-08-18 13:23:02
1237
原创 open-falcon实现对k8s集群的监控
1. 前言当我们的k8s要面临落地时,监控和日志肯定时不可缺少的。它主要为了帮助系统运维人员事前及时预警发现故障,事后通过翔实的数据追查定位问题。2.可选方案:2.1 Heapster(数据采集自cAdvisor)+Influxdb(存储)+Grafana(展示) 这套方案缺点是没有报警功能2.2 Prometheus+Grafana 参考:http://blog.csdn.net/zqg525
2017-08-16 17:00:26
2863
原创 基于k8s部署的应用(服务)如何访问
当我们使用k8s部署了一套应用时(比如一个blog系统),要怎么访问它便成了我们最直接的问题,这里的访问应该同时包括了对外(tomcat)和对内(mysql)服务。要弄清楚这个问题,首先我们需要了解kubernetes网络模型设计的基础原则: 每个pod都拥有一个独立的ip地址,而且假定所有的pod都在一个直接连通的、扁平的网络空间中。回到题目的问题,我们这里分两步分讨论:1. 集群内部访问1
2017-08-11 10:42:35
14749
1
原创 java实现kubernates API的访问调用
1. 前言kubernetes及各开源社区为开发人员提供了各种语言版的Client Library,让我们可以通过编程的方式可以实现调用Kubernetes API,从而完成pod、service、RC等资源的图形化创建和管理。本篇主要介绍使用java语言的实现2. 使用场景开发基于kubernetes的管理平台3. 基于的框架用java语言开发的有两种,一个是基于Jersey的,一个是基于Fabr
2017-08-02 16:05:49
12616
10
原创 用python 分析微信好友信息并生成词云
在知乎上偶然看到有人推荐itchart这个微信接口,抱着好奇的想法尝试了以下,果然非常好玩。 官方链接:http://itchat.readthedocs.io/zh/latest/#itchat目录结构 get_info.py这个类用来爬取好友信息并保存到指定文件import itchatimport osimport timebasepath = os.path.dirname(os.p
2017-07-25 17:49:36
1636
转载 OpenShift3实现PaaS平台的搭建
OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数的Web架构,将成为基于Docker的私有PaaS平台领域的参照。OpenShift是一个私有的PaaS(Platform-as-a-Service)解决方案,主要用来在容器中搭建、部署以及运行应用程序。它是基于Apache 2.0许可的开源软件, 并且发行了两个版本,
2017-07-17 09:41:19
12039
2
转载 kubernetes有状态服务的存储
在K8S运行的服务,从简单到复杂可以分成三类:无状态服务、普通有状态服务和有状态集群服务。下面分别来看K8S是如何运行这三类服务的。 无状态服务,K8S使用RC(或更新的Replica Set)来保证一个服务的实例数量,如果说某个Pod实例由于某种原因Crash了,RC会立刻用这个Pod的模版新启一个Pod来替代它,由于是无状态的服务,新启的Pod与原来健康状态下的Pod一模一样。在Pod被重建后
2017-07-14 10:49:35
2178
原创 flask 应用的架构和部署(flask+gunicorn+nginx)
flask的部署本文主要介绍flask+gunicorn+nginx的配合部署过程,它只是入门的部署过程,当你的web应用有并发要求时,还应加上缓存和队列调度等等,这部分可以参考https://zhuanlan.zhihu.com/p/25038203前言: 1.为什么要使用gunicorn? 目前我们使用flask内建的wsgi server,这个server由于是单进程单线程模型的,所
2017-07-07 11:10:10
1206
原创 kubernetes 概念&部署
一些概念Kubernetes是Google开源的容器集群管理系统。它构建Ddocker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,本质上可看作是基于容器技术的mini- PaaS平台。kubernates源码: 推荐阅读:http://www.open-open.com/news/view/acfe1f 它是restful风格设计的api
2017-07-05 15:38:11
595
原创 如何运用docker配合python开发
由于开发一个python程序时需要依赖大量的三方库包,且python2和3本身就有互不兼容的地方,我们往往需要一个隔离的环境,来避免版本影响造成的bug。 传统的做法大多数人可能会选择virtualenv来隔离,但是它有很多明显的缺点: - 无法提供完全的隔离 - 如果不想在正式环境中使用,它就会造成差异 而随着容器技术的日渐成熟和普及,Docker无疑成为解决这个问题的最优解 本文
2017-07-05 14:01:40
14179
1
原创 flask Blueprint用法
蓝图 Blueprint 蓝图是flax的子集,它可以有独立的templates、static等。而模块独立可以使整个工程变得清晰易读,也避免文件之间循环引用的问题
2017-07-01 09:02:05
1444
原创 flask-SQLAlchemy的使用(CRUD、触发器、迁移)
数据库的使用是任何程序开发不可缺少的一环,而在phython中,SQLAlchemy是最著名的ORM框架,而在flask中,则是flask-SQLAlchemy 以下介绍flask-SQLAlchemy配合sqlite数据库如何使用
2017-06-30 15:44:36
3659
原创 flask-bootstrap使用 - 结合flask-nav和bootstrapcdn
在使用flask进行web开发时,前端界面也是非常重要的一环,使用flask-bootstrap可以轻松获取漂亮的样式 本文介绍flask-bootstrap在实际使用中的两个小技巧1. flask-nav2. bootstrapcdn
2017-06-29 17:02:22
3024
原创 flask jinja2 - 入门&高级玩法(继承、宏)
最近入坑flask,jinja2作为其默认支持的模板语言,绝对值得一学。本文适合还未接触想快速尝试一下(不想看官文)的同学。
2017-06-29 15:38:47
6667
4
原创 SqlServer2008数据库日志文件清理
最近还原数据库时发现文件竟然达到十多个G(数据文件才几十M)。网上查了一圈发现是日志的问题,清理方法很多,整理如下--1.截断事务日志并设置为simple模式USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET R
2016-06-23 11:56:36
1617
转载 Spring MVC 使用
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)
2014-12-23 11:41:05
759
2
原创 jquery smartWizard插件的使用
jquery的smartWizard插件常用在一些向导式的,按步骤的功能中,是的用户按照我们设定的步骤进行操作,这样一方面有较好的用户体验,可以将庞大的表格数据分解成多个步骤,是的每个步骤的数据量减少;另一方面流程比较清晰,先做那个下一步做什么都是可控可设定的。下面说一下如何使用,首先html中引入jquery的smartWizard插件对应的jquery.smartWizard-2.0.
2014-10-16 16:21:21
5316
原创 微信公众平台企业号开发—开启回调模式
2014年9月17日,微信发布了期待已久的企业号。网上关于企业号的教程几乎还是0,所以这里分享一下的我的开发经验。对比于订阅号和服务号的开发,企业号的开发显得更加复杂一点。这大概也是腾讯考虑到企业信息安全性要求比较高的缘故,在消息的收发和一些验证上都增加了加密解密的操作。这就需要开发者认真去阅读官方说明(其实通过官方说明你可以解决几乎所有问题),接下来我开启回调模式的步骤:1、申请企业号:
2014-09-26 11:15:33
6525
12
原创 java获取本机mac地址
/*获取本机mac地址*/String mac = ""; String line = ""; String os = System.getProperty("os.name"); if (os != null && os.startsWith("Windows"))
2014-08-27 16:20:06
772
转载 Js Jquery 关于endWith() 和startWith() 的使用
javascript中字符串处理并没有 StartWith 和 EndWith 这俩个方法,这里说的是手动构建这俩个方法.JQuery 也是没有这俩个方法的,而是利用其丰富的选择器来达到此效果.首选javascript下着俩个函数的构建如下: String.prototype.endWith=function(s){ if(s==null||s==""||this.len
2014-08-08 09:43:41
23983
原创 resin服务器内存溢出(OutOfMemoryError)解决方法
导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;代码中存在死循环或循环产生过多重复的对象实体;使用的第三方软件中的BUG;启动参数内存值设定的过小;此错误常见的错误提示:tomcat:java.lang.OutOfMemoryError: Per
2014-08-04 12:02:15
4146
原创 关于前端框架BootStrap和JQueryUI(以及对应的优秀模板)
最近两个月由于需要升级公司产品的界面,所以不得不去学习了下原本并不熟悉的前端框架。这里也是推荐两款BootStrap和JQueryUI。bootstrap使用起始很简单,首先,需要得到所需要的Jar包,可以去中文官网http://getbootstrap.com/2.3.2/获取。在我看来,要掌握bootstrap的用法有很多途径,可以去看帮助文档,或者看学习视频,这些能帮助你更系统全面的
2014-07-29 15:54:49
6215
原创 sqlserver2008导出数据到2005的解决方法
之前因为项目开发使用sqlserver2008,而客户是2005,所以存在数据库迁移问题,由于高版本不能直接导到低版本,所以网上搜了下解决方法,如下:1.在右键点击SQLServer2008中源数据库->任务->生成脚本->此时会出现SQLServer脚本向导,点击选择要生成脚本的数据库2.在选项中确定源数据库生成脚本的选项,可根据选项决定是否要生成某些内容(如触发器、索引等),注意在"为
2014-03-21 10:56:30
2817
原创 面试总结
今天下午面试了一家网游公司,公司真的很不错,也是我想进的,可惜我实力不够吧,很遗憾没能过二面,不过面试本来就是不断发现自己不足并且不断完善自己的过程,每次面试都是不可多得的学习和积累经验的过程。以下记录一下今天答得不好的问题。1、数据库索引和主键的关系: 1.主键一定是唯一性索引,唯一性索引并不一定就是主键(唯一索引表示该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索
2014-02-18 19:28:45
586
原创 tomcat7域名绑定问题
1. 下载安装版本的Tomcat(免安装版的要自己配置一些环境变量); 2. http服务默认端口是80端口(注意是否被占用); 可修改conf/server.xml改端口"8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 3. 将自己的应用程序放在非weba
2014-02-11 16:10:32
1954
转载 dataguard安装
1.1 Dataguard实施前准备 Oracle安装分包括2块,安装DB 软件和升级。 如果是10g的话,可以先将DB升级到10.2.0.5。 升级的原因是为了避免某些bug。先安装软件,升级,升级完在用DBCA 创建实例。 这样比安装DB 和创建实例之后升级要简单点。 (1)redo 文件默认是50M,改成100M (2)每个redo group里改成2个
2014-01-27 11:48:53
814
转载 dataguard基础
不少未实际接触过dg的初学者可能会下意识以为dg是一个备份恢复的工具。我要说的是,这种形容不完全错,dg拥有备份的功能,某些情况下它甚至可以与primary数据库完全一模一样,但是它存在的目的并不仅仅是为了恢复数据,应该说它的存在是为了确保企业数据的高可用性,数据保护以及灾难恢复(注意这个字眼,灾难恢复)。dg提供全面的服务包括:创建,维护,管理以及监控standby数据库,确保数据安全,管理员可
2014-01-27 11:03:32
751
原创 web工程取得文件绝对路径的问题
web下的路径问题一直很头疼,而要获取web工程下文件的绝对路径对于io操作又是必要的。今天又碰到这个问题,记录一下:String realPath = this.getServletContext().getRealPath(path);这里的path参数是文件相对于web工程的路径,默认应该是webroot下的而不是整个工程或者src下的,这点是关键!
2014-01-26 14:02:31
614
原创 wordpress下安装插件和主题需要ftp账号密码的解决方案
刚装好了wordpress想要下点主题插件,却发现需要ftp账号密码,于是不得不有下载安装了ftp(这里我用的pureftpd)。当再次下载时,却还是发现根本下载安装不了。找了好久的google和度娘,试了好多方法,终于还是找到了解决方法,现在记录一下留作后用。首先修改Wordpress 的权限,需要有写的权限:chmod -R 755/home/wwwroot/defau
2014-01-24 17:15:26
6712
原创 centos下基于lnmp环境的wordpress的安装
最近由于主管让我自己去用wordpress建个网站,本以为应该是很简单的,从熟悉centos到lnmp环境的搭建到wordpress的安装配置,却也花费了我整整两天。因为我以前使用过ubuntu,所以对unix的shell操作还是没什么问题,但lnmp环境的配置还是让我费了好多脑筋。其中最常见的问题便是权限问题,因为unix系统毕竟没有windows熟悉,还好有google及度娘的帮助,当中遇
2014-01-24 14:02:20
2147
转载 怎样在centos上手动安装配置lnmp环境
如果你想要使用wordpress来建站,那么配置ijiqi环境当然是首先的,这里是介绍配置方法。一、安装所需的库文件和编译环境 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zli
2014-01-24 10:18:33
1124
原创 在oracle中设置字段唯一性
以下提供三种方案:1、第一种也是最简单的,就是酱该字段设置为主键primary key2、在该字段上添加一个唯一性的索引:Create unique index index_name on table(col) 3、在创建表中加入constraint表名unique(字段)
2014-01-17 16:59:10
4726
原创 关于oracle调用存储过程返回结果集
这两天因为公司要求,去学习了下以前一直模模糊糊的存储过程,记录下关于返回结果集的问题。要返回结果集,首先你必须有个游标,它是记录你的查询集的。而定义一个游标有好多方法:1,你可以在包中定义。然后将游标变量作为存储过程参数的类型。CREATE OR REPLACE PACKAGE pkg_testAS TYPE myrctype IS REF CURSOR;
2014-01-17 10:38:31
2639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人