2017-04-14 17:39:40 +08:00
# Kubernetes Handbook
2018-01-08 14:06:37 +08:00
[Kubernetes ](http://kubernetes.io )是Google基于[Borg](https://research.google.com/pubs/pub43438.html)开源的容器编排调度引擎,作为[CNCF](http://cncf.io)( Cloud Native Computing Foundation) 最重要的组件之一, 它的目标不仅仅是一个编排系统, 而是提供一个规范, 可以让你来描述集群的架构, 定义服务的最终状态, kubernetes可以帮你将系统自动地达到和维持在这个状态。Kubernetes作为云原生应用的基石, 相当于一个云操作系统, 其重要性不言而喻。
2017-05-18 15:24:07 +08:00
2017-12-12 23:27:34 +08:00
本书记录了本人从零开始学习和使用Kubernetes的心路历程, 着重于经验分享和总结, 同时也会有相关的概念解析, 希望能够帮助大家少踩坑, 少走弯路, 还会指引大家关于关注kubernetes生态周边, 如微服务构建、DevOps、大数据应用、Service Mesh、Cloud Native等领域。
2017-05-18 15:24:07 +08:00
2018-01-09 17:21:39 +08:00
起初写作本书时,安装的所有组件、所用示例和操作等皆基于**Kubernetes1.6+** 版本, 同时我们也将密切关注kubernetes的版本更新, 随着它的版本更新升级, 本书中的kubernetes版本和示例也将随之更新。
2017-04-14 17:39:40 +08:00
2017-08-01 11:42:38 +08:00
GitHub 地址: https://github.com/rootsongjc/kubernetes-handbook
2017-04-15 07:59:51 +08:00
2017-10-11 23:44:26 +08:00
Gitbook 在线浏览: https://jimmysong.io/kubernetes-handbook/
2017-04-14 19:08:11 +08:00
2017-05-20 21:03:25 +08:00
## 如何使用本书
2017-04-14 19:27:08 +08:00
**在线浏览**
2017-10-11 23:44:26 +08:00
访问 https://jimmysong.io/kubernetes-handbook/
2017-04-14 19:27:08 +08:00
2017-11-07 10:27:40 +08:00
**注意: 文中涉及的配置文件和代码链接在网页中将无法访问, 请下载GitHub源码后, 在Markdown编辑器中打开, 点击链接将跳转到你的本地目录, 推荐使用[typora](https://typora.io),或者直接登录[github](https://github.com/rootsongjc/kubernetes-handbook) 查看。**
2017-05-18 16:16:22 +08:00
2017-04-14 19:27:08 +08:00
**本地查看**
1. 将代码克隆到本地
2017-08-01 11:42:38 +08:00
2. 安装 gitbook: [Setup and Installation of GitBook](https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md)
3. 执行 gitbook serve
2017-08-31 18:11:48 +08:00
4. 在浏览器中访问 http://localhost:4000
2017-08-01 11:42:38 +08:00
5. 生成的文档在 `_book` 目录下
2017-04-27 11:08:45 +08:00
2017-08-31 18:11:48 +08:00
**下载 PDF/ePub/Mobi 格式文档本地查看**
2017-10-11 23:44:26 +08:00
访问 [gitbook ](https://www.gitbook.com/book/rootsongjc/kubernetes-handbook/details ) 可以看到下载地址,可以下载根据最新文档生成的 **PDF/ePub/Mobi** 格式文档(文档的注脚中注明了更新时间),同时也可以直接在 gitbook 中阅读,不过 gitbook 不太稳定打开速度较慢,建议大家直接在 https://jimmysong.io/kubernetes-handbook/ 浏览。
2017-08-31 18:11:48 +08:00
2017-08-01 11:42:38 +08:00
**生成 pdf**
2017-04-27 11:08:45 +08:00
2017-05-11 18:22:00 +08:00
[下载Calibre ](http://calibre-ebook.com/download )
2017-05-18 16:16:22 +08:00
- **On Mac**
2017-05-18 12:12:29 +08:00
2017-05-11 18:22:00 +08:00
在Mac下安装后, 使用该命令创建链接
```
ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin
```
在该项目目录下执行以下命令生成`kubernetes-handbook.pdf`文档。
```
gitbook pdf . ./kubernetes-handbook.pdf
```
2017-05-18 16:16:22 +08:00
- **On Windows**
2017-05-18 12:12:29 +08:00
2017-05-20 21:03:25 +08:00
需要用到的工具:[calibre](http://calibre-ebook.com/), [phantomjs](http://phantomjs.org/download.html)
2017-05-18 12:12:29 +08:00
2017-08-01 11:42:38 +08:00
1. 将上述2个安装, calibre 默认安装的路径 `C:\Program Files\Calibre2` 为你解压路径;
2. 并将其目录均加入到系统变量 path 中,参考:目录添加到系统变量 path 中;
3. 在 cmd 打开你需要转 pdf 的文件夹,输入`gitbook pdf`即可;
2017-05-18 12:12:29 +08:00
2017-05-11 18:22:00 +08:00
**生成单个章节的pdf**
2017-04-27 11:08:45 +08:00
使用`pandoc`和`latex`来生成pdf格式文档。
2018-02-20 17:58:16 +08:00
```bash
2017-04-27 11:08:45 +08:00
pandoc --latex-engine=xelatex --template=pm-template input.md -o output.pdf
```
2017-04-14 19:27:08 +08:00
2017-05-19 10:54:57 +08:00
## 如何贡献
2017-08-01 11:42:38 +08:00
### 提 issue
2017-05-19 10:54:57 +08:00
2017-10-11 23:44:26 +08:00
如果你发现文档中的错误,或者有好的建议、不明白的问题、不要犹豫,欢迎[提交issue](https://github.com/rootsongjc/kubernetes-handbook/issues/new)。
2017-05-19 10:54:57 +08:00
2017-08-01 11:42:38 +08:00
### 发起 Pull Request
2017-05-19 10:54:57 +08:00
2017-10-11 23:44:26 +08:00
当你发现文章中明确的错误或者逻辑问题, 在你自己的fork的分支中, 创建一个新的branch, 修改错误, push 到你的branch, 然后在[提交issue](https://github.com/rootsongjc/kubernetes-handbook/issues/new) 后直接发起Pull Request。
2017-05-19 10:54:57 +08:00
### 贡献文档
2017-05-20 21:03:25 +08:00
#### 文档的组织规则
2017-05-19 10:54:57 +08:00
- 如果要创建一个大的主题就在最顶层创建一个目录;
2017-05-20 21:17:28 +08:00
- 全书五大主题,每个主题一个目录,其下不再设二级目录;
2017-08-01 11:42:38 +08:00
- 所有的图片都放在最顶层的 `images` 目录下,原则上文章中用到的图片都保存在本地;
2017-05-20 21:03:25 +08:00
- 所有的文档的文件名使用英文命名,可以包含数字和中划线;
- `etc` 、`manifests`目录专门用来保存配置文件和文档中用到的其他相关文件;
2017-05-19 10:54:57 +08:00
2017-05-20 21:03:25 +08:00
#### 添加文档
2017-05-19 10:54:57 +08:00
1. 在该文章相关主题的目录下创建文档;
2017-08-01 11:42:38 +08:00
2. 在 `SUMMARY.md` 中在相应的章节下添加文章链接;
2017-09-08 20:14:05 +08:00
3. 执行 `gitbook serve` 测试是否报错,访问 http://localhost:4000 查看该文档是否出现在相应主题的目录下;
2017-05-20 21:17:28 +08:00
4. 提交PR
2017-05-19 10:54:57 +08:00
2017-05-20 21:03:25 +08:00
## 关于
2017-04-14 17:39:40 +08:00
2018-02-28 10:55:48 +08:00
感谢以下所有的贡献者!
2017-08-01 11:42:38 +08:00
[贡献者列表 ](https://github.com/rootsongjc/kubernetes-handbook/graphs/contributors )
2018-02-28 10:55:48 +08:00
## Stargazers over time
[![Stargazers over time ](https://starcharts.herokuapp.com/rootsongjc/kubernetes-handbook.svg )](https://starcharts.herokuapp.com/rootsongjc/kubernetes-handbook)
## 社区&读者交流
- **微信群**: K8S& Cloud Native实战, 扫描我的微信二维码, [Jimmy Song](http://jimmysong.io/about),或直接搜索微信号*jimmysong*后拉您入群,请增加备注(姓名-公司/学校/博客/社区/研究所/机构等)。
- **Slack**:全球中文用户可以加入[Kubernetes官方Slack](http://slack.k8s.io)中文频道**cn-users channel**
- **知乎专栏**: [云原生应用架构](https://zhuanlan.zhihu.com/cloud-native)
- **微信公众号**: 扫描下面的二维码关注微信公众号CloudNativeGo( 云原生应用架构)
2017-11-06 11:29:46 +08:00
2018-02-28 11:33:41 +08:00
< p align = "center" >
< img src = "https://github.com/rootsongjc/kubernetes-handbook/blob/master/images/cloud-native-go-wechat-qr-code.jpg?raw=true" alt = "CloudNativeGo微信公众号二维码" / >
< / p >