文档章节

带你玩转Kubernetes

 云端等你
发布于 2017/05/04 14:01
字数 645
阅读 23
收藏 0

Kubernetes是个有很多贡献者的开源大项目,理论上它作为一个不挑食的容器管理框架,可以无处不在。但可惜的是,无论实际编写还是贡献测试代码,引导kubernetes server都不太容易。里边的一些文件对于我来说有些乱,不是挂了的就是过时的。源文件更改和编译运行的示例非常少,如果本地跑kubernets cluster就必须从头开始摸索中前进。
下面分享一些摸索心得,尽量从头开始详细讲解,大家一起聊聊。

步骤1:创建虚拟机并访问

既然是从头开始,那就得做做样子。先创建个新的、干净的VM来运行。

带你玩转Kubernetes带你玩转Kubernetes

至此,新的Google云平台VM实例创建完成,这是个干净无污染的新环境。

步骤2:为Kubernetes准备虚拟机

这一步要安装:

GCC,Make,socat和git;
Docker;
其他的看自己需求,没啥需求就不用管了。

ssh到上面的新VM,安装GCC,Make,socat和git:

带你玩转Kubernetes带你玩转Kubernetes
安装etcd:

带你玩转Kubernetes带你玩转Kubernetes
安装golang(应该是1.8+版本):

带你玩转Kubernetes带你玩转Kubernetes

步骤3:获取Kubernetes源代码

在这个步骤,Git Kubernetes源代码会克隆下来并添加到GOPATH。注意,这里要用–depth 1,即只要最新版本。

带你玩转Kubernetes带你玩转Kubernetes

把Kubernetes sources添加到GOPATH:

带你玩转Kubernetes带你玩转Kubernetes

步骤4:编译并运行Kubernetes

这里不难,因为它正好有个叫local-up-cluster.sh的好货。
带你玩转Kubernetes带你玩转Kubernetes

输出显示:

带你玩转Kubernetes带你玩转Kubernetes

步骤5:测试Kubernetes

虚拟机打开个新的shell,cd到Kubernetes源目录GOPATH,然后就可以测试了:

带你玩转Kubernetes带你玩转Kubernetes

步骤6:更改源代码

在kubernetes-apiserver添加日志行来改个entry point,而且要保证这条你能在日志中看到:
带你玩转Kubernetes带你玩转Kubernetes

步骤7:测试Kubernetes源代码的更改

停止本地群集,重启root@instance-3:/gopath/src/k8s.io/kubernetes# hack/local-up-cluster.sh

在尾api server日志行检查下是否出现了更改:

带你玩转Kubernetes带你玩转Kubernetes

这就是从头开始创建本地的Kubernetes集群的文档,不麻烦,但也包含了一些比较重要的点:执行了几个简单的步骤,获取一个Kubernetes集群,并编译并更改了API服务器,然后查看了更改。

本文地址:http://www.linuxprobe.com/k8s-use-play.html

© 著作权归作者所有

粉丝 3
博文 126
码字总数 183841
作品 0
西安
私信 提问
Kubernetes Dashboard - 每天5分钟玩转 Docker 容器技术(173)

前面章节 Kubernetes 所有的操作我们都是通过命令行工具 完成的。为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 Kubernetes Dashboard 部署容器化的...

cloudman6
2018/05/27
0
0
Prometheus Operator - 每天5分钟玩转 Docker 容器技术(177)

前面我们介绍了 Kubernetes 的两种监控方案 Weave Scope 和 Heapster,它们主要的监控对象是 Node 和 Pod。这些数据对 Kubernetes 运维人员是必须的,但还不够。我们通常还希望监控集群本身的...

cloudman6
2018/06/05
0
0
Helm 架构 - 每天5分钟玩转 Docker 容器技术(161)

在实践之前,我们先来看看 Helm 的架构。 Helm 有两个重要的概念:chart 和 release。 chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明...

cloudman6
2018/04/29
0
0
Network Policy - 每天5分钟玩转 Docker 容器技术(171)

Network Policy 是 Kubernetes 的一种资源。Network Policy 通过 Label 选择 Pod,并指定其他 Pod 或外界如何与这些 Pod 通信。 默认情况下,所有 Pod 是非隔离的,即任何来源的网络流量都能...

cloudman6
2018/05/22
0
0
环境变量方式使用 Secret - 每天5分钟玩转 Docker 容器技术(158)

通过 Volume 使用 Secret,容器必须从文件读取数据,会稍显麻烦,Kubernetes 还支持通过环境变量使用 Secret。 Pod 配置文件示例如下: 创建 Pod 并读取 Secret。 通过环境变量 和 成功读取到...

cloudman6
2018/04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0
实战项目-学成在线(八)

在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。 注册中心作用: 1、微服务数量众多,要进行远程调用就需要知...

lianbang_W
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部