自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿仆的专栏

爱生活,积累点滴,热衷开源,利用技术解决实际的问题

  • 博客(54)
  • 资源 (4)
  • 收藏
  • 关注

原创 [kubernetes]spec yaml定义command/args

对于DockerFile中的CMD [“”] 以及ENTRYPOINT[“xxx”, “xxxx”]以及kubernetes中的command Args的描述一直很困惑,特别是针对外网下载的image,进行调试验证的时候。需要弄清楚DockerFile与Kubernetes yaml中定义的关系。其实kubernetes社区已经给出了明确的说明This table summarizes the...

2019-01-15 20:13:39 12313

转载 [golang] cannot take the address of xxx()

package mainimport "time"func main() { _ = &time.Now()}编译的时候提示:cannot take the address of time.Now()给出的解释The probably unsatisfying answer is “you can’t do it because the spec says so.”...

2018-12-18 21:03:40 4114

翻译 Kubernetes autoscaler

Kubernetes作为容器编排工具,应用部署在集群中,应用的负载本身是会随着时间动态发生变化的,为了更好的平衡资源使用率以及性能,kubernetes引入了autoscaler。可以根据应用负载的情况动态的扩缩容资源。Kubernetes的autoscaler分成两个层次:pod级别的扩容,包含横向扩容(HPA)以及纵向扩容(VPA),扩容容器可用的资源使用量。集群级别的扩容,通过CA(...

2018-09-19 19:00:12 4547

原创 节点unknown状态,对使用ceph rbd作为后端存储的statefulset应用处理方法

当kubernetes集群节点变成unknown状态,statefulset创建的pod并不会被主动重新在其他的节点上进行创建,需要人为的将该node通过kubectl delete node进行删除,这样才会在其他的节点上进行创建。社区upstream的smarterclayton给出了为什么要这样设计 This is by design. When a node goes “dow...

2018-08-16 22:50:07 1198

原创 kubernetes node notReady触发pod重调度策略

kubernetes node notReady触发pod重调度策略当kubernetes中node的状态异常的时候,会导致无状态的pod重新调度到其他的节点中,关于什么时候会触发重新调度,很多人都很关心,kubernetes原生提供了参数配置触发重新调度的时间,首先分析触发该流程的具体流程: 1. kubelet周期性的更新自身状态到apiserver,周期为–node-status-u...

2018-07-19 19:59:21 7695

原创 Application on kubernetes实践

Application on kubernetes实践本系列是GCE推出的文章,解决随着大量的应用迁移到kubernetes中,如何能够紧随kubernetes的发展,更好的在kubernetes上运行应用的建议。翻译文章并没有直接翻译,而是概要的解释每种建议,详细的内容通过文后链接找到。建立更小的镜像Docker公司创新的提出了容器镜像的概念,通过定义Dockerfile以及执行do...

2018-06-24 23:01:22 1085

原创 Kubelet的grabage collection

介绍Kublet中会定期的执行垃圾回收流程,清理节点上不使用的images和containers.下面讲会对如何配置垃圾回收策略以及代码实现层面上分析该业务流程.Image 回收策略中存在两个阈值,HighThresholdPercent和LowThresholdPercent,当磁盘使用率超过HighThresholdPercent将会触发回收流程,回收流程将会删除最老没有被使用...

2018-03-28 14:45:45 3737

原创 kubelet与runtime的整合

Kubernetes 1.10版本Kubelet调用docker创建容器的调用链如图所示 解析该流程能够深入的了解kubernetes是怎么与docker进行交互的.CRI首先介绍CRI, CRI全称为container runtime interface接口,是kubernetes在1.5版本之后引入的概念,为了使得kubernetes更好的扩展以及整合容器运行时(docker...

2018-03-27 15:39:55 3073

原创 golang中的cross compiling

交叉编译就是编译出在其它操作系统下运行的程序,比如在Linux下编译后在Windows系统中运行,或者说在32位下编译在64位下运行。 golang 1.5之后很容易的实现交叉编译,通过设置$GOOS, $GOARCH两个环境变量就能够编译出来其他平台运行所需要的bin文件.通过下面的例子来说明package mainimport "fmt"import "runtime"fu...

2018-03-27 13:24:23 882

原创 mount namespace和shared subtrees

mount namespace是一个强大并且复杂的机制,用来为每个用户和每个容器创建文件系统树.它是一个很复杂的特性.在我们关于namespaces的一系列文章中,我们将会解开它的复杂性,我们将会深入的研究shared subtrees特性,这个特性以自动,受控的方式允许mount/unmount事件在mount namespaces之间传播事件.介绍mount namespace在2...

2018-03-21 18:50:07 2546

原创 golang-Timers and Tickers

Go内置的timer和ticker实现 1. 在未来某个时刻执行某段代码 2. 指定间隔周期性的执行某个任务example/test1.gopackage mainimport ( "fmt" "time")func durationExec() { timer := time.NewTicker(time.Second * 2) <...

2018-03-11 01:21:36 357

原创 Kubernetes集群升级

云环境下新增节点,安装高版本的kubelet,kube-proxy,加入到现有集群中,等节点ready了再执行操作,通过kubectl 当前集群的节点设置成不可调度,drain命令隔离掉需要升级的节点,让pod在新节点上重建,需要考虑的问题如下: 有状态应用(Pod使用了本地存储)Daemonset Pod NodeSelector到特定节点的PodPod设置了强制Node亲和性的P...

2018-03-09 13:52:32 660

原创 大规模下kubernetes集群的scheduler性能

测试流程搭建测试环境,可以使用社区推荐的kubemark确定当前kubernetes社区确定的scheduler调度性能,每秒能处理多少个pod的调度实际测试当前环境的scheduler性能,是否与社区确定的scheduler性能有差异,如果存在差异过大,那么确定是scheduler本身以外导致的性能差异采用优化方案,通过比对优化前后的性能指标确定是否达到优化效果以及得到影响sched...

2018-03-09 10:05:41 2096

原创 linux network namespace

linux network namespace

2018-02-03 21:43:48 975

原创 kubernetes中跨namespace访问服务

问题的场景: kubernetes中的namespace=A中的Pod需要访问namespace=B中的Pod所提供service=service_B解决办法: 在namespace_A中创建一个service_c, service_c里面不指定selector, 采用type=ExternalName的方式,externalName定义成为指向namespace=B中的service_

2018-02-01 12:57:06 17361

原创 Kubernetes部署

kubernetes集群部署

2018-01-22 17:31:56 1299

原创 minikube初体验

Minikube下载以及安装 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ 启动一个kubernetes集群 minikube star

2018-01-18 17:26:58 9821 1

原创 Golang timer定时器

timer 计时器用于在指定的Duration类型时间后调用函数或计算表达式。如果只是想指定时间之后执行,使用time.Sleep()使用NewTimer(),可以返回的Timer类型在计时器到期之前,取消该计时器直到使用定义计数器timer := time.NewTimer(time.Second * 2)停止定时器timer.Stop()强制的修改timer中规定

2018-01-11 00:25:44 8541

原创 Kubernetes中的亲和性

现实中应用的运行对于kubernetes在亲和性上提出了一些要求,可以归类到以下几个方面: 1.Pod固定调度到某些节点之上 2.Pod不会调度到某些节点之上 3.Pod的多副本调度到相同的节点之上 4.Pod的多副本调度到不同的节点之上实践下面我们将通过例子的方式来说明在kubernetes需要去设置亲和性实现上面要求.Pod调动到某些节点上Pod的定义中通过no

2018-01-08 15:35:06 12435

原创 Kubernetes上的一些常见标签

beta.kubernetes.io/arch=amd64  Node的label,通过golang的runtime.GOOS来获取kubernetes.io/hostname Node的label,node的hostname,可以通过kubelet参数–hostname-override 来修改beta.kubernetes.io/instance-type Node的label,通

2018-01-04 23:58:07 3131

原创 Docker storage driver配置

docker storage driver配置

2018-01-03 18:54:06 5612

原创 扩展kubernetes实践

本文整理业界对于Kubernetes在扩展性方面做的一些实践,随着时间的积累,相信会有更多的人在扩展kubernetes作出实践的经验

2017-12-30 21:59:48 728

原创 magnum下kubernetes安全模型

magnum下kubernetes安全模型,基于magnum mitaka版本以及Kubernetes 1.5版本对magnum如何跟kubernetes进行配合,实现更安全的kubernetes集群.

2017-12-28 10:59:48 906

原创 Kubelet组件解析

kubernetes中Kubelet介绍

2017-12-25 13:29:49 18748

原创 Docker镜像技术

介绍Docker image以及制作镜像过程中一些注意事项

2017-12-23 21:08:28 695

翻译 Kubernetes 1.9版本带来更大的稳定性和存储功能

Kubernetes开发者社区在Kubernetes 1.9的发布中取得了一个成功的一年,增加了一些重要的新功能,这些功能将有助于进一步鼓励企业采用Kubernetes。Kubernetes是最受欢迎的容器编排工具。它被用来简化容器的部署和管理,被开发人员普遍使用,允许他们在不同的计算环境运行他们的应用程序,而不需要对底层代码做任何改变。在今年的第四个版本中,社区表示将Apps W

2017-12-12 22:46:46 1674 1

原创 glide install 无法下载依赖项目

1.在github上下载对应的github上mirror的相关项目,赋值到对应目录. golang.org相关的项目-->github.com/golang/目录下k8s.io相关的项目-->github.com/kubernetes/项目下2. 使用glide mirror$ rm -rf ~/.glide$ mkdir -p ~/.glide$

2017-11-26 15:23:33 2616

翻译 golang reflection

golang reflection

2017-11-20 17:23:25 422

翻译 cobra介绍

cobra既是创建功能强大的现代CLI应用程序的库,也是生成应用程序和命令文件的程序。

2017-11-06 11:55:58 4945

转载 go依赖包管理工具对比

写的挺清楚的,备份一下  转载于:https://www.studygolang.com/articles/10523  vendor一下当开始真正用go去做项目的时候,不可避免的就会遇到依赖包的问题。go的依赖包管理与java+maven的依赖管理不太一样,我们从GOPATH开始逐渐理解其思想,然后再对比下目前常用的依赖包管理工具。GOPATH和GOROOT初学者很容易会被这两个

2017-09-26 17:15:53 2450

原创 kubernetes应用类型

kubernetes 应用类型

2017-09-12 00:07:14 1584

原创 docker基础知识-组件介绍

docker

2017-09-09 22:12:10 1284

原创 slaltstack入门

saltstack入门

2017-08-25 09:41:52 510

翻译 使用Linux的namespace来隔离system的教程

namespace in linux kernel

2017-08-15 11:05:39 2665 2

原创 参与Kubernetes贡献

参与Kubernetes贡献整理

2017-08-12 15:46:21 2134

翻译 Istio介绍

Istio

2017-06-15 10:05:59 21935

翻译 Kubernetes基金会托管容器网络CNI

Kubernetes基金会托管容器网络

2017-06-14 22:19:31 917

翻译 Kubernetes中PV/PVC/StorageClass

kubernetes中Persistent Volumes, Persistent Volumes claim, StorageClass介绍

2017-05-25 09:35:46 25982 1

翻译 kubernetes中的Volumes

kubernetes storage

2017-05-25 09:07:06 5478

翻译 Kuberentes Ingress

术语Node: Kuberentes集群中的虚拟机节点或者物理机器节点Cluster 一系列的被防火墙隔离的节点,它们是Kubernetes管理的主要资源Edge router 加强了防火墙策略的路由, 他可以是硬件或者是云提供商提供的网关Cluster network 一系列逻辑或者物理的链接, 根据Kubernetes网络模型组成了集群内的通信, 集群网络的例子包括flannel

2017-05-06 11:02:39 8002

Linux_project

linux coding specially for embeded system

2014-04-29

myeclipse8.5M1注册码--保证能利用

myeclipse8.5M1注册码,找了很久,发现还是这个比较好用了,帮大家收藏了啊

2014-04-13

软件开发标准说明书以及各种文档

包含了国家规定的软件开发过程的各种文档,下来看看,对于理解软件工程开发思想以及使自己更加的能够适应企业的要求。

2011-06-24

卡内基梅隆大学软件工程课件

卡内基梅隆大学软件工程课件 主要包括软件工程之数据结构,数据库,人机界面。。

2009-06-04

空空如也

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

TA关注的人

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