- 博客(36)
- 资源 (11)
- 收藏
- 关注
原创 Kubeadm安装k8s
过程简介:1. master,nodes: 安装kubelet、kubeadm,docker-ce,systemctl disable firewalld ,systemctl disable iptables2. Master: kubeadm init3. nodes: kubeadm join (节点加入集群)https://github.com/kubernete...
2019-02-13 18:11:29
4599
原创 Openshift origin web cosole开发
1) 编译环境: 安装系统 Centos7.4 x86_642) 安装依赖:#yum install docker golang在/etc/profile最后一行添加如下内容: export GOPATH=/usr/local/gocode# source /etc/profile# system start docker3) 下载镜像:# docker...
2018-08-08 17:34:38
942
原创 Jimmy的文档: openshift origin ConfigMaps
Openshift Origin ConfigMaps ConfigMaps 是openshift提供的一种管理配置参数的工具,在容器运行过程中,需要配置很多变量和参数,这些变量和参数可能随时都有变化,因此这些变量不适合保存在容器中,若保存...
2018-06-07 20:41:30
896
原创 JImmy的文档: Openshift template
1) 什么是template Openshift在创建应用过程中需要创建多个资源,例如创建最简单的deployment-example应用,需要创建的Imagestream、Deployemtconfig、Service三个资源,template提供了一种保存多个资源配置的模板,用户可以直接根据模板创建多个资源,完成应用的部署。2) 模板怎么创建 下面提供一个最简单的Deploym...
2018-06-07 17:41:19
863
原创 JImmy的文档: 搭建集群版openshift origin-3.9
系统安装: 系统配置,理论上一般配置都可以,推荐 内存 4G以上 CPU 4个以上 硬盘 100G以上。 系统镜像: CentOS-7-x86_64-DVD-1804.iso 安装分组为: 带GUI的服务器需要准备五台服务器,分别安...
2018-05-28 15:31:59
2813
1
原创 蓝绿部署、滚动部署、灰度发布、金丝雀发布
微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布 在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文的目的就是将目前常用的布署方案做一个总结。一、蓝绿布署Blue/Green Deployment(蓝绿部署)...
2018-05-24 20:48:16
674
转载 干货|采用Istio实现灰度发布(金丝雀发布)
灰度发布(又名金丝雀发布)介绍当应用上线以后,运维面临的一大挑战是如何能够在不影响已上线业务的情况下进行升级。做过产品的同学都清楚,不管在发布前做过多么完备的自动化和人工测试,在发布后都会出现或多或少的故障。根据墨菲定律,可能会出错的版本发布一定会出错。“ANYTHING THAN CAN GO WRONG WILL GO WRONG” –MURPHY’S LAW因此我们不能寄希望于在线下测试时发...
2018-05-24 20:25:09
1674
原创 s2i 制作httpd镜像(最简单的例子)-hjimmy
1.下载s2i工具https://github.com/openshift/source-to-image/releases/ 下载对应版本的介质后,解压缩后得到二进制文件: s2i sti 将s2i和sti拷贝到目录:/usr/bin/下2. 下载社区centos镜像#docker pull docker.io/centos:latest 3. 制作s2...
2018-04-25 20:25:10
1505
原创 Docker image 制作
制作docker 镜像的方法有很多个,下面介绍利用配置yum源来制作docker 镜像的方法,以centos 7为例1) 配置yum源:将下载的CentOS-7-x86_64-DVD-1611.iso,挂载在/mnt,制作yum源。# mount -o loop CentOS-7-x86_64-DVD-1611.iso /mnt# cat /etc/yum.repos.d/centos...
2018-04-16 19:38:22
1304
原创 Docker 镜像制作-从iso到image
Howto create a Docker Image for RHELby Pradipta Kumar Banerjee · October 4, 2015RHEL docker images are not available from Docker Hub. It’s available from Redhat docker registry and the catalog ca...
2018-03-29 09:50:34
4034
转载 Swarm介绍
Swarm介绍Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in Go, docker_py, docker等)均可以直接与Swarm通信
2018-01-09 19:49:52
4891
原创 依然的文档: Centos 6上go语言开发环境搭建
Go语言介绍:Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz
2017-02-07 16:11:35
532
转载 epoll 介绍(个人看过的epoll最简单直白的介绍)
先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器
2016-07-22 15:13:28
612
原创 openstack安装(el7 + RDO Quickstart)和简单虚拟机创建
使用RDO 安装openstack 比较简单,根据官方教程就可以,我把官方教程简单梳理一下:1. 安装:1) 安装centos 7 或者 rhel 7 (需要配置centos yum 源)这个不用多说了2) 更新系统,安装RDO 源#yum update -y#yum install -y https://rdoproject.org/repos/rdo-
2015-06-26 17:39:50
2505
1
原创 hjimmy 的文档: inode 介绍(来自维基百科)
命名[编辑]Unix先驱丹尼斯·里奇说[2],inode这个命名的来源可能是文件系统的存储组织为一个扁平数组,分层目录资讯使用一个数作为文件系统这个扁平数组的索引值(index)。细节[编辑]文件系统创建(格式化)时,就把存储区域分为两大连续的存储区域。一个用来保存文件系统对象的元信息数据,这是由inode组成的表,每个inode默认是256字节或者128字节。另一个用来保存“文件
2014-07-22 21:15:10
896
原创 Jimmy 的文档: sheepdog安装使用
前言sheepdog是一个专门为qemu设计的虚拟机分布式文件系统,采用完全对称的结构,没有元数据服务的中心节点,因此免除了单点故障的隐患.本文基于最新的0.7.0版本测试,介绍sheepdog的安装配置和使用.sheepdog的后端集群管理sheepdog的后端集群管理用于管理节点间的成员关系和消息通讯.目前可使用四种模式,分别是local driver(用于单机测试),corosy
2014-06-26 20:16:42
2958
原创 Jimmy 的文档 :sheepdog 原理
关于原理介绍都是抄的,和别人略有不同哦陪你该。Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备。其架构如下: 下面,我们将从架构、模块等几个方面来介绍下: 一、架构图如上图:采用无中心节点的全对称架构,无单点故障,存储容量和性能可线性扩展;新增节点通过简单配置可自动加入(IP:PORT),数据自动
2014-06-26 20:07:12
2154
原创 Jimmy的文档:Linux sed 学习
linux之sed用法sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 s
2014-01-13 16:56:14
619
原创 Vim/Cscope 入门指导
Cscope 入门教程网上写的太过繁琐,下面介绍一种简单的方式,测试过很多次,屡试不爽:1) 安装 cscope yum install cscope2) 定义快捷键 下载文件cscope_maps.vim,将其拷贝到 /root/.vimrc cp cscope_maps.vim /root/.vimrccscope_m
2013-11-01 14:37:13
834
原创 glusterfs社区提交代码
官方教程,搞的那么繁琐干嘛,这样就搞定了!git clone ssh://jian.hou@git.gluster.org/glusterfs.git glusterfsgit checkout -b mytest origin/release-3.4git config user.name jian.hougit config user.email hjimmy1987080
2013-06-05 13:47:22
913
原创 在内核linux-3.1-rc4中加入系统调用 (32位和64位)
最近为了在内核中加入指令,需要增加系统调用。我采用的方法是通过修改内核源码来增加系统调用。1 . 实验环境为 Centos-6.0 + 32位,使用的内核源码为 linux-3.1-rc4.tar.gz.需要增加的系统调用函数为: int mycall(int num) { printk("This is my syscall from
2013-03-27 11:40:23
2741
转载 Redis:安装、配置、操作和简单代码实例(C语言Client端)
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。 如何安装Redis? Redis的官方下载站是http://redis.io/download,可以去上面下载最新的安装程序下来,我写此文章时的的稳定版本是2.2.12。
2013-03-27 09:37:30
20036
4
原创 TELL_WAIT,TELL_PARENT,TELL_CHILD,WAIT_PARENT,WAIT_CHILD
信号应用-父子进程实现同步 本文主要参考《unix环境高级编程》 有五个例程的实现:TELL_WAIT,TELL_PARENT,TELL_CHILD,WAIT_PARENT,WAIT_CHILD。把整个代码就开说了:开头定义需要的全局变量,和信号处理函数 #include "apue.h"//变量sigflag是一个原子变量,设置状态的全局变量,static v
2012-12-21 10:27:25
1428
1
原创 Unix 高级编程 环境配置(Centos + X86_64)
UNIX环境高级编程最近在读 Richard Stevens 的大作《UNIX环境高级编程》,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:apue.h:没有那个文件或目录”。apue.h 是作者自定义的一个头文件,并不是Unix/Linux系统自带的,此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以
2012-12-20 16:43:16
1026
原创 Jimmy的文档:Glusterfs之rpc模块源码分析附录(rdma和tcp)
声明:本文转至IT168:因为GlusterFS实现了IB网络(RDMA协议,专用硬件网卡支持),当时就在想普通的网卡能不能实现,就找到一篇这样的文章介绍,基于TCP协议来实现。!附件 RDMA over TCP的协议栈工作过程浅析第一节 RDMA概述随着网络带宽和速度的发展和大数据量数据的迁移的需求,网络带宽增长速度远远高于处理网络流量时所必需的计算节点的能力和对内存带宽的需求,数据
2012-11-16 11:35:36
1340
原创 Jimmy的文档:Glusterfs的rpc模块实现(第四部分)
第三节、rpc通信过程分析前面两个小节分别对rpc服务端和客户端的建立流程做了详细的分析,也就是说rpc客户端和服务器端已经能够进行正常的通信了(rpc客户端已经通过connect链接上rpc服务器了),那么这一小节主要根据一个实际的例子来分析一个完整的rpc通信过程。下面以客户端创建逻辑卷(volume)为例来分析rpc的通信过程,就以下面这个客户端的命令开始:gluster vol
2012-11-16 11:33:02
1110
原创 Jimmy的文档:Glusterfs的rpc模块实现(第三部分)
第二节、rpc客户端实现原理及代码分析rpc客户端主要发起一个rpc请求,执行完rpc请求以后就退出rpc,下面分析客户端rpc请求建立的整个过程。Rpc客户端请求建立的第一步是执行cli_rpc_init函数,主要实现代码如下: 1 this = THIS;//取得本线程的xlator列表 2 3 cli_rpc_prog = &cli_pr
2012-11-16 11:31:03
1136
原创 Jimmy的文档:Glusterfs的rpc模块实现(第二部分)
二、Glusterfs的rpc模块实现第一节、rpc服务器端实现原理及代码分析1.rpc服务初始化(rpc/rpc-lib/src/rpcsvc.c)Rpc服务的初始化工作在函数rpcsvc_init中实现的,实现代码如下: rpcsvc_t * rpcsvc_init (glusterfs_ctx_t *ctx, dict_t *options) { rpcsv
2012-11-16 11:19:39
1606
原创 Jimmy的文档:Glusterfs之rpc模块源码分析之RPC概述(第一部分)
一、RPC概述第一节、RPC结构网络RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易
2012-11-16 11:15:21
925
原创 利用RPC快速实现分布式系统
一、概述在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系。因此这种结构在网络日益发展的今天已无法适应实际需求。总而言之,传统过程调用模式无法充分利用网络上其他主机的资源(如CPU、Memory等),也无法提高代码在实体间的共享程度,使得主机资源大量浪费。而本文要介绍的RPC编
2012-11-15 10:37:53
6361
1
原创 Linux rpc 编程最简单实例
通过rpcgen的man手册看到此工具的作用是把RPC源程序编译成C语言源程序,从而轻松实现远程过程调用。1.下面的例子程序的作用是客户端程序(fedora Linux下)取中心服务器也是Linux上)时间的,编程过程如下:先编写一个 “ RPC 语言 ” ( RPC Language ( Remote Procedure Call Language ) ) 的源文件 test.x ,文件
2012-11-15 10:10:13
11996
1
原创 Django 安装及简单实例
Django 安装及简单实例1. Django 安装 (1)首先下载Djangowget www.djangoproject.com/download/1.3/tarball/得到Django-1.3.tar.gz,将其解压后安装 tar xzvf Django-1.3.tar.gz cd Django-1.3 sudo pyth
2012-08-21 16:42:31
7110
原创 Django Web 应用的总体设计
Django Web 应用的总体设计 在钻研更多代码之前,让我们先花点时间考虑下 Django 数据驱动 Web 应用的总体设计。Django 的设计鼓励松耦合及对应用程序中不同部分的严格分割。 遵循这个理念的话,要想修改应用的某部分而不影响其它部分就比较容易了。 在视图函数中,我们已经讨论了通过模板系统把业务逻辑和表现逻辑分隔开的重要性。 在数据库层中,我们对数据访问逻辑也
2012-08-21 16:07:28
1152
原创 关于TPM 的Seal 和 Unseal
弄了好久,终于对Tpm的seal 和 Unseal有了一点感觉:一、 tpm_sealdata tpm_seal有输入和输出,输入的文件是要保护的信息,输出的文件包括TSS key 、ENC key 和加密后的数据,且输出在一个文件中,-p 是banding的PCR值。例如 : dd if=/dev/urandom of=/home/temp_plain_key
2012-06-27 18:03:54
5270
1
原创 Linux 逻辑卷管理 与 文件系统(LVM 与 FileSystem)的关系
一、 什么是LVM LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,为文件系统屏蔽下层磁盘分区布局,从而提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池
2012-06-27 14:24:50
11780
1
原创 虚拟机动态迁移drbd
众所周知,xen支持虚拟机的动态迁移,我们实现了一个关于虚拟机动态迁移的实例: 具体的操作如下: (1) 首先安装drbd的安装 DRBD(Distributed Replicated Block Device),分布式复制块设备,是一种通过TCP/IP网络实现块设备数据实时镜像的方案linux version: 2.6.9-5.ELdrbd version: d
2012-05-29 14:01:53
1506
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人