自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胡伟煌的博客

个人独立博客地址:www.huweihuang.com。容器云(Docker、Kubernetes等)相关生态技术研究。

  • 博客(106)
  • 收藏
  • 关注

原创 Golang系列(十)之GDB调试

1. GDB简介GDB是FSF(自由软件基金会)发布的一个强大的类UNIX系统下的程序调试工具。使用GDB可以做如下事情:启动程序,可以按照开发者的自定义要求运行程序。可让被调试的程序在开发者设定的调置的断点处停住。(断点可以是条件表达式)当程序被停住时,可以检查此时程序中所发生的事。动态的改变当前程序的执行环境。目前支持调试Go程序的GDB版本必须大于7.1。编译

2017-08-13 10:40:45 17736 1

原创 Golang系列(九)之模板语法

1. 基本语法go 统一使用了 {{ 和 }} 作为左右标签,没有其他的标签符号。使用 . 来访问当前位置的上下文使用 $ 来引用当前模板根级的上下文使用 $var 来访问创建的变量模板中支持的 go 语言符号{{"string"}} // 一般 string{{`raw string`}} //

2017-08-13 10:29:21 8273

原创 Keepliaved介绍

一、Keepalived是什么(what)(一)概述       Keepalived[保持在线] 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这

2017-08-12 11:50:18 3208

原创 Kubernetes核心原理(三)之Scheduler

1. Scheduler简介Scheduler负责Pod调度。在整个系统中起"承上启下"作用,承上:负责接收Controller Manager创建的新的Pod,为其选择一个合适的Node;启下:Node上的kubelet接管Pod的生命周期。Scheduler:1)通过调度算法为待调度Pod列表的每个Pod从Node列表中选择一个最适合的Node,并将信息写入etcd中

2017-08-09 21:34:21 4383

原创 Kubernetes基本概念(二)之k8s常用对象说明

1. Master集群的控制节点,负责整个集群的管理和控制,kubernetes的所有的命令基本都是发给Master,由它来负责具体的执行过程。1.1. Master的组件kube-apiserver:资源增删改查的入口kube-controller-manager:资源对象的大总管kube-scheduler:负责资源调度(Pod调度)etcd Server:kubern

2017-08-09 21:30:06 7672

原创 《图解HTTP》(二)之HTTP报文及状态码

3. HTTP报文3.1. HTTP报文用于HTTP协议交互的信息被称为HTTP报文,客户端的HTTP报文叫做请求报文,服务端的叫做响应报文。报文大致分为报文首部和报文主体,但并不一定要有报文主体。3.2. 报文结构字段说明请求行请求方法,请求URI和HTTP版本

2017-08-05 09:28:50 789

原创 Go网络编程之net/http包执行流程源码分析

1. http包建立web服务器package mainimport (    "fmt"    "log"    "net/http"    "strings")func sayhelloName(w http.ResponseWriter, r *http.Request) {

2017-07-30 15:11:03 4168

原创 beego web框架(一)beego介绍与使用

1. beego的使用1.1. beego的安装go get github.com/astaxie/beego1.2. beego的升级1、直接升级go get -u github.com/astaxie/beego

2017-07-30 12:14:28 17855

原创 Docker源码分析(四)之Docker Server

一、Docker Server创建流程Docker Server是Daemon Server的重要组成部分,功能:接收Docker Client发送的请求,并按照相应的路由规则实现请求的路由分发,最终将请求处理的结果返回给Docker Client。Docker Daemon启动,在mainDaemon()运行的最后创建并运行serverapi的Job,让Docker Daemon提供API...

2017-07-28 22:37:00 4686

原创 Docker源码分析(三)之Docker Daemon

一、Docker Daemon架构示意图Docker Daemon是Docker架构中运行在后台的守护进程,大致可以分为Docker Server、Engine和Job三部分。Docker Daemon可以认为是通过Docker Server模块接受Docker Client的请求,并在Engine中处理请求,然后根据请求类型,创建出指定的Job并运行。运行过程的作用有以下几种可能...

2017-07-28 22:12:03 1818

原创 Docker源码分析(二)之Docker Client

一、创建Docker Client    Docker是一个client/server的架构,通过二进制文件docker创建Docker客户端将请求类型与参数发送给Docker Server,Docker Server具体执行命令调用。Docker Client运行流程图如下:说明:本文分析的代码为Docker 1.2.0版本。(一)Docker命令flag参数解析Docker ...

2017-07-28 21:49:40 4508

原创 Dockerfile使用说明

一、Dockerfile的说明dockerfile指令忽略大小写,建议大写,#作为注释,每行只支持一条指令,指令可以带多个参数。dockerfile指令分为构建指令和设置指令。构建指令:用于构建image,其指定的操作不会在运行image的容器中执行。设置指令:用于设置image的属性,其指定的操作会在运行image的容器中执行。二、Dock

2017-07-28 21:40:39 1283

原创 Kubernetes核心原理(二)之Controller Manager

1. Controller Manager简介Controller Manager作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保

2017-07-21 23:33:27 26801 2

原创 《图解HTTP》(一)之HTTP基础

1. web及网络基础1.1. 通过HTTP访问web[C/S]1.2. TCP/IP四层模型1.2.1. 数据包的封装1.3. TCP/IP协议族1.3.1. 负责传输的IP协议使用ARP协议凭借MAC地址通信1.3.2. 确保可靠的TCP协议1.3.3. 负责域名解析的D

2017-07-13 23:07:10 2694 1

原创 《图解TCP/IP》(一)之TCP/IP基础

一、基础知识(一)协议计算机与网络设备要相互通信,必须基于相同的方法。比如,如何探测到通信目标,使用哪种语言通信,如何结束通信等规则要事先确定。不同硬件,操作系统之间的通信都需要一种规则,我们将这种事先约定好的规则称之为协议。(二)地址地址:在某一范围内确认的唯一标识符,即数据包传到某一个范围,需要有一个明确唯一的目标地址。类型

2017-07-13 22:39:24 6385

原创 Golang系列(三)之并发编程

(一)并发基础1.概念并发意味着程序在运行时有多个执行上下文,对应多个调用栈。并发与并行的区别:并发的主流实现模型:实现模型说明特点多进程操作系统层面的并发模式处理简单,互不影响,但开销大多线程系统层面的并发模式有效,开销较大,高并发时影响效率基于回调的非阻塞/异步IO多用于高并发服务器开发中编程复杂,开销小协程用户态线程,不需要操作系统抢占调度,寄存于线程中编程简单,结构简单,开销极小,但需要语...

2017-07-09 11:42:18 2882 3

原创 Etcd访问控制

1. ETCD资源类型There are three types of resources in etcdpermission resources: users and roles in the user storekey-value resources: key-value pairs in the key-value storesettings resources: s

2017-07-05 21:34:12 11132 1

原创 etcdctl的使用[v2版本]

说明:本文介绍etcdctl v2版本的使用,etcdctl v3版本的使用请参考:https://blog.csdn.net/huwh_/article/details/80225902一、etcdctl介绍etcdctl是一个命令行的客户端,它提供了一个简洁的命令,可理解为命令工具集,可以方便我们在对服务进行测试或者手动修改数据库内容。etcdctl与其他xxxctl的命令原理及操作类似(例如...

2017-07-05 21:32:37 4898

原创 Etcd介绍

一、Etcd是什么(what)(一)概述etcd is a distributed, consistent key-value store for shared configuration and service discovery, with a focus on being:Secure: automatic TLS with optional client c

2017-07-05 21:25:11 3111

原创 kubernetes集群问题排查

本文个人博客地址为:http://www.huweihuang.com/article/kubernetes/kubernetes-troubleshooting/本文个人博客地址为:https://huweihuang.net/article/kubernetes/kubernetes-troubleshooting/1. 查看系统Event事件kubectl describe pod <...

2017-05-07 10:48:36 25888

原创 Docker源码分析(一)之整体架构图

一、Docker的总架构图 docker是一个C/S模式的架构,后端是一个松耦合架构,模块各司其职。用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求;Engine执行Docker内部的一系列工作,每一项工作

2017-05-07 10:40:15 16482

原创 Kubernetes总架构图

本文个人博客地址为:http://www.huweihuang.com/article/kubernetes/kubernetes-architecture/本文个人博客地址为:https://huweihuang.net/article/kubernetes/kubernetes-architecture/1. Kubernetes的总架构图2. Kubernetes各个组件介绍2.1. kub...

2017-05-07 10:30:10 56782 1

原创 Docker常用命令原理图

docker常用命令原理图概览:(一)image layer(镜像层)镜像可以看成是由多个镜像层叠加起来的一个文件系统,镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。根据上图,镜像层的主要组成部分包括镜像层id,镜像层指针【指向父层】,元数据【layer metadata】包含了docker构建和运行的信息还有父层的层次信息。只读层和读写

2017-05-07 10:19:20 8864

原创 Golang系列(七)之常用包

一、常用包常用包说明常用函数fmt实现格式化的输入输出操作,其中的fmt.Printf()和fmt.Println()是开发者使用最为频繁的函数。 io实现了一系列非平台相关的IO相关接口和实现,比如提供了对os中系统相关的IO功能的封装。我们在进行流式读写(比如读写文件)时,通常会

2016-12-17 18:15:10 7048

原创 Golang系列(二)之面向对象编程

面向对象编程:       把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)[方法的重写,子类不同于父类的特性]/泛化(generalization)[共性,子类都拥有父类的特性],通过多态(polymorph

2016-12-17 18:11:30 5545 1

原创 RPM介绍

一、RPM是什么(what)(一)概念RPM 全名是“RedHat Package Manager ”。RPM 是以一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制。(二)特点安装的软件先编译通过, 打包成为 RPM 机制的包装档案[安装环境已定制化]。记录并检查软件安装的依赖包,满足则安装,不满足不安装(也可在线

2016-10-17 15:55:38 5693

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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