阿仆的专栏

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

[kubernetes]spec yaml定义command/args

对于DockerFile中的CMD [“”] 以及ENTRYPOINT[“xxx”, “xxxx”]以及kubernetes中的command Args的描述一直很困惑,特别是针对外网下载的image,进行调试验证的时候。需要弄清楚DockerFile与Kubernetes yaml中定义的关系。...

2019-01-15 20:13:39

阅读数:33

评论数:0

[golang] cannot take the address of xxx()

package main import "time" func main() { _ = &time.Now() } 编译的时候提示:cannot take the address of time.Now() 给出的解释 Th...

2018-12-18 21:03:40

阅读数:23

评论数:0

Kubernetes autoscaler

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

2018-09-19 19:00:12

阅读数:258

评论数:0

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

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

2018-08-16 22:50:07

阅读数:108

评论数:0

kubernetes node notReady触发pod重调度策略

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

2018-07-19 19:59:21

阅读数:1249

评论数:0

Application on kubernetes实践

Application on kubernetes实践 本系列是GCE推出的文章,解决随着大量的应用迁移到kubernetes中,如何能够紧随kubernetes的发展,更好的在kubernetes上运行应用的建议。翻译文章并没有直接翻译,而是概要的解释每种建议,详细的内容通过文后链接找到。 ...

2018-06-24 23:01:22

阅读数:85

评论数:0

Kubelet的grabage collection

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

2018-03-28 14:45:45

阅读数:412

评论数:0

kubelet与runtime的整合

Kubernetes 1.10版本Kubelet调用docker创建容器的调用链如图所示 解析该流程能够深入的了解kubernetes是怎么与docker进行交互的. CRI 首先介绍CRI, CRI全称为container runtime interface接口,是kubernet...

2018-03-27 15:39:55

阅读数:467

评论数:0

golang中的cross compiling

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

2018-03-27 13:24:23

阅读数:120

评论数:0

mount namespace和shared subtrees

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

2018-03-21 18:50:07

阅读数:509

评论数:0

golang-Timers and Tickers

Go内置的timer和ticker实现 1. 在未来某个时刻执行某段代码 2. 指定间隔周期性的执行某个任务 example/test1.go package main import ( "fmt" "time&a...

2018-03-11 01:21:36

阅读数:100

评论数:0

Kubernetes集群升级

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

2018-03-09 13:52:32

阅读数:302

评论数:0

大规模下kubernetes集群的scheduler性能

测试流程 搭建测试环境,可以使用社区推荐的kubemark 确定当前kubernetes社区确定的scheduler调度性能,每秒能处理多少个pod的调度 实际测试当前环境的scheduler性能,是否与社区确定的scheduler性能有差异,如果存在差异过大,那么确定是scheduler本身...

2018-03-09 10:05:41

阅读数:576

评论数:0

linux network namespace

linux network namespace

2018-02-03 21:43:48

阅读数:197

评论数:0

kubernetes中跨namespace访问服务

问题的场景: kubernetes中的namespace=A中的Pod需要访问namespace=B中的Pod所提供service=service_B 解决办法: 在namespace_A中创建一个service_c, service_c里面不指定selector, 采用type=Exte...

2018-02-01 12:57:06

阅读数:1970

评论数:0

Kubernetes部署

kubernetes集群部署

2018-01-22 17:31:56

阅读数:347

评论数:0

minikube初体验

Minikube下载以及安装 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube &&...

2018-01-18 17:26:58

阅读数:4404

评论数:0

Golang timer定时器

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

2018-01-11 00:25:44

阅读数:2439

评论数:0

Kubernetes中的亲和性

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

2018-01-08 15:35:06

阅读数:2726

评论数:0

Kubernetes上的一些常见标签

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

2018-01-04 23:58:07

阅读数:840

评论数:0

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