shida's blog

千里之行,始于足下

排序:
默认
按更新时间
按访问量

K8S 源码探秘 之 默认参数的加载过程(Scheme 初了解)

一、背景介绍         今天在研究 kubeadm 执行流程时,发现 k8s 在加载默认配置时也是基于一定的框架的         于是乎追根溯源,探究了下 Scheme 的工作原理,通过本文做个总结 二、分析过程 2.1  问题引出         首先,我们看下默认参数加载函数...

2018-10-16 18:17:04

阅读数:19

评论数:0

旋转字符串

题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 分析...

2018-10-16 11:02:36

阅读数:10

评论数:0

gcr.io 国内源 —— 基于 Travis CI + GitHub + DockerHub + Google Cloud 实现自动定时同步 gcr.io 镜像到 DockerHub

一、背景介绍         由于国内网络原因,gcr.io 仓库里的镜像是无法直接拉取到的,这给开发工作造成了极大的不便         本文介绍一种方法能够实现自动化地定期地将 gcr.io 仓库中的镜像同步到个人 DockerHub 账户         实现该方案需要满足以下条件: ...

2018-10-12 14:02:50

阅读数:26

评论数:0

Kubernetes 源码部分编译(快速编译其中一个模块) 单独编译 k8s 某个模块

一、问题描述         Kubernetes 源码自带了编译脚本,简单执行 make quick-release 即可编译         但遗憾的是,该命令会编译所有的源码,耗时较长,这对于 Kubernetes 开发来说无疑是高代价的         因此,我们有了单独编译部分代码...

2018-10-10 15:29:13

阅读数:17

评论数:0

K8S 源码探秘 之 命令行解析工具 cobra

一、引言         最近开始研读 Kubernetes 源码,希望能借此更加深入地理解其运行机理!         由于 Kubernetes 代码量很庞大,我将分模块分组件地去分析和理解,并把自己的发现共享出来。         第一篇博客,先从简单的命令行解析工具 cobra 开始...

2018-10-09 15:12:46

阅读数:23

评论数:0

VSphere系列教程(二):ESXI 主机启用 Shell 及 SSH 服务

一、启用 ESXi Shell         默认条件下,ESXI 是关闭 Shell 功能的,启用 Shell 功能的步骤如下:         在已经安装 ESXI 服务的主机上,按下 F2 进行自定义系统设置                 输入 root 密码         ...

2018-09-28 13:06:20

阅读数:60

评论数:0

VSphere系列教程(一):ESXI 6.5 的安装和使用

一、目的         本文是对 VMWare ESXI 6.5 的部署及简单使用的说明,仅作为备忘!         这里直接基于内嵌的 Web Client 对 ESXI 主机进行管理,不涉及 VCenter 的内容。 二、安装部署步骤 2.1   制备启动 U 盘        ...

2018-09-27 11:23:05

阅读数:109

评论数:0

硬链接与软连接

硬链接:简单说,文件名就是文件的硬链接,硬链接就是给文件起了个别名,对应的 inode 与原文件一样 软链接:简单说,类似于快捷方式,它有自己单独的 inode,指向了被链接的文件(跟路径关联) 画个图了解下: 实验验证: 创建一个文件,text.txt # cd test # t...

2018-09-17 16:13:24

阅读数:28

评论数:0

Go 语言学习(一)

1.  go 语言左括号必须和函数名同行 2.  程序必须有一个 main 包才可以运行     【注意:liteide 图形化开发环境下,一个文件夹下只能有一个 main 函数】       使用命令行编译时,可以只针对文件编译,即使一个文件夹下两个文件都带 main 函数,互不干扰  ...

2018-09-14 14:50:09

阅读数:14

评论数:0

如何向开源社区贡献代码

一、流程图 首先,fork 源项目到自己的GitHub代码仓库,之后通过 fetch 同步代码; 然后,clone fork 的项目,本地修改后 push 提交(最好基于新分支); 最后,提交 pull request 等待审核。 二、git 操作记录 git clone &...

2018-09-10 16:38:29

阅读数:83

评论数:0

Win10 安装 .NetFramework 4.7 (SourceTree)

问题描述: 在安装 SourceTree 时, Win10 企业版无法安装 .NetFramework 4.7 ,提示  操作系统不支持 分析: 其实这个错误的出现,不是因为 Win10不支持 .NetFramework 4.7,而是因为缺少一些前置依赖(补丁),无法直接安装 解决办法:...

2018-09-05 09:23:03

阅读数:312

评论数:0

关于设计模式

1.  依赖倒置原则: 面向接口(抽象)编程,  上层 ==> 接口 <==  下层 2.  单一职责原则 : 一个类负责一件事 3.  开放-封闭原则:对扩展开放,对修改关闭 4.  迪米特法则:没必要直接通信就不要通信(最小知识原则) 5. ...

2018-08-24 17:37:15

阅读数:22

评论数:0

大话设计模式 —— 单例模式

一、模式介绍        该模式是为了保证一个类只有一个实例,并提供一个获取该实例的方法        实现单例模式有很多方法:懒汉模式、饿汉模式、双重锁、静态内部类等        这里介绍一种基于 Enum 枚举类型的单例模式实现方法,极为简单,而且利用 JVM 保证只有一个实例,比较...

2018-08-24 15:30:32

阅读数:36

评论数:0

大话设计模式 —— 模板方法模式

一、模式介绍        模板方法模式特别适合于整体流程(算法)固定,只有一小部分功能不同的场景        通过一个抽象父类构造起整个骨架,而将不固定的部分以抽象方法的形式保留,交给子类去具体实现 二、采用模板方法模式实现街边小吃(烤冷面)        假设烤冷面制作流程是固定的:...

2018-08-24 09:39:28

阅读数:25

评论数:0

大话设计模式 —— 工厂方法模式、抽象工厂模式

一、模式介绍        工厂方法模式使用多态代替简单工厂模式中的分支判断(switch-case)        即采用不同的工厂生产不同的产品,而不是一个工厂生产所有产品        需要什么产品,客户端首先要获得对应的工厂,不同工厂需要实现同一个公共的的工厂抽象接口       ...

2018-08-24 09:08:11

阅读数:30

评论数:0

大话设计模式 —— 装饰器模式、代理模式

一、模式介绍        装饰器模式,能够为已有功能增加一些新功能,进行增强        装饰器将被装饰对象封装为自己的成员,然后实现被装饰对象的接口方法,        相当于,装饰器代替被装饰对象完成相应的功能,从而达到代码增强的目的        代理模式跟装饰器很像,但目的不是...

2018-08-23 22:20:57

阅读数:30

评论数:0

大话设计模式 —— 策略模式

一、模式介绍        策略模式适合封装算法的不同实现(比如上文 大话设计模式 —— 简单工厂模式 中的数学运算)        策略模式能够将实现的细节进一步封装,客户端代码无需知道具体算法实体是什么,就可以完成正确的运算        上文中,客户端(Main.java)实际上是需要...

2018-08-23 16:29:31

阅读数:22

评论数:0

大话设计模式 —— 简单工厂模式

一、模式介绍         简单工厂模式的主要思想是通过一个工厂类根据传入参数的不同构造不同的实体对象,委托给父接口(父类)返回         该模式充分利用了面向对象的封装继承和多态特性,使得系统具有更强的可扩展性、可维护性         要利用该模式,首先应该分析出哪些内容是独立可...

2018-08-23 15:59:25

阅读数:28

评论数:0

prometheus alertmanager webhook 配置教程

一、背景介绍        本文是 k8s prometheus adapter —— 拓展 k8s 基于 prometheus 实现动态伸缩 的拓展内容        重在讲解如何配置 alertmanager,使其能够以 webhook 的方式触发告警的推送        其工作模式如下...

2018-08-23 14:42:45

阅读数:210

评论数:0

v1beta1.metrics.k8s.io failed with: Operation cannot be fulfilled on apiservices.apiregistration.k8s

问题描述: K8S 集群自动扩容出现问题,错误如下   Warning  FailedGetResourceMetric       57m (x2401 over 5d)  horizontal-pod-autoscaler  unable to get metrics for resou...

2018-08-15 16:38:53

阅读数:435

评论数:0

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