update some pages
parent
971a423b12
commit
f3f3822615
|
@ -1,6 +1,6 @@
|
||||||
# Kubernetes Handbook——Kubernetes 中文指南/云原生应用架构实践手册
|
# Kubernetes Handbook——Kubernetes 中文指南/云原生应用架构实践手册
|
||||||
|
|
||||||
> 云原生是一种行为方式和设计理念,究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生的。云计算的发展史就是一部云原生化的历史。Kubernetes 开启了云原生 1.0 的序幕,服务网格 Istio 的出现,引领了后 Kubernetes 时代的微服务,serverless 的再次兴起,使得云原生从基础设施层不断向应用架构层挺进,我们正处于一个云原生 2.0 的新时代。—— [Jimmy Song](https://jimmysong.io)
|
> 云原生是一种行为方式和设计理念,究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生的。云计算的发展史就是一部云原生化的历史。Kubernetes 开启了云原生的序幕,服务网格 Istio 的出现,引领了后 Kubernetes 时代的微服务,serverless 的再次兴起,使得云原生从基础设施层不断向应用架构层挺进,我们正处于一个云原生的新时代。—— [Jimmy Song](https://jimmysong.io)
|
||||||
|
|
||||||
[Kubernetes](http://kubernetes.io) 是 Google 于 [2014 年 6 月](https://jimmysong.io/cloud-native/note/open-source/)基于其内部使用的 [Borg](https://research.google.com/pubs/pub43438.html) 系统开源出来的容器编排调度引擎,Google 将其作为初始和核心项目贡献给 [CNCF](https://cncf.io)(云原生计算基金会),近年来逐渐发展出了云原生生态。
|
[Kubernetes](http://kubernetes.io) 是 Google 于 [2014 年 6 月](https://jimmysong.io/cloud-native/note/open-source/)基于其内部使用的 [Borg](https://research.google.com/pubs/pub43438.html) 系统开源出来的容器编排调度引擎,Google 将其作为初始和核心项目贡献给 [CNCF](https://cncf.io)(云原生计算基金会),近年来逐渐发展出了云原生生态。
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ Kubernetes Handbook 开源于 2017 年 3 月并在其后不断完善,是第一
|
||||||
|
|
||||||
- 云原生开源组件
|
- 云原生开源组件
|
||||||
- 云原生应用与微服务架构
|
- 云原生应用与微服务架构
|
||||||
- 基于 Kubernetes 的 Service Mesh 架构
|
- 基于 Kubernetes 的服务网格(Service Mesh)架构
|
||||||
|
|
||||||
本书中的说明、安装的所有组件、所用示例和操作要求至少 **Kubernetes 1.6+** 版本。
|
本书中的说明、安装的所有组件、所用示例和操作要求至少 **Kubernetes 1.6+** 版本。
|
||||||
|
|
||||||
|
@ -71,6 +71,8 @@ Kubernetes Handbook 开源于 2017 年 3 月并在其后不断完善,是第一
|
||||||
- [查看如何贡献](https://github.com/rootsongjc/kubernetes-handbook/blob/master/CONTRIBUTING.md)
|
- [查看如何贡献](https://github.com/rootsongjc/kubernetes-handbook/blob/master/CONTRIBUTING.md)
|
||||||
- [查看文档的组织结构与使用方法](https://github.com/rootsongjc/kubernetes-handbook/blob/master/CODE_OF_CONDUCT.md)
|
- [查看文档的组织结构与使用方法](https://github.com/rootsongjc/kubernetes-handbook/blob/master/CODE_OF_CONDUCT.md)
|
||||||
|
|
||||||
|
关于本书有任何问题,欢迎[提交 Issue](https://github.com/rootsongjc/kubernetes-handbook/issues/new) 或[与作者联系](https://jimmysong.io/contact/)。
|
||||||
|
|
||||||
## 云原生出版物
|
## 云原生出版物
|
||||||
|
|
||||||
以下为笔者参与出版的云原生相关图书。
|
以下为笔者参与出版的云原生相关图书。
|
||||||
|
@ -94,6 +96,6 @@ Kubernetes Handbook 开源于 2017 年 3 月并在其后不断完善,是第一
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
云原生社区是一个中立的云原生终端用户社区,始与作者于 2016 年成立的 Kubernetes & CloudNative 实战群,覆盖了上千名早期云原生拥护者。在此基础上于 2020 年 5 月,由 CNCF 大使、开源领域意见领袖共同发起将原社群升级为云原生社区,目标成为中国最具影响力的云原生开源社区。
|
云原生社区是国内最大的独立第三方云原生终端用户和泛开发者社区,由 CNCF 大使、开源意见领袖共同发起成立于 2020 年 5 月 12 日,提供云原生专业资讯,促进云原生产业发展。
|
||||||
|
|
||||||
官方网站 <https://cloudnative.to>,关注云原生社区微信公众号,[申请加入社区](https://mp.weixin.qq.com/s/vWlSdzz2MNdXRr0sd2-LFg)。
|
官方网站 <https://cloudnative.to>,关注云原生社区微信公众号,[申请加入社区](https://mp.weixin.qq.com/s/vWlSdzz2MNdXRr0sd2-LFg)。
|
||||||
|
|
|
@ -295,9 +295,8 @@
|
||||||
* [Kubernetes 中的应用故障排查](appendix/debug-kubernetes-services.md)
|
* [Kubernetes 中的应用故障排查](appendix/debug-kubernetes-services.md)
|
||||||
* [Kubernetes 相关资讯和情报链接](appendix/material-share.md)
|
* [Kubernetes 相关资讯和情报链接](appendix/material-share.md)
|
||||||
* [Docker 最佳实践](appendix/docker-best-practice.md)
|
* [Docker 最佳实践](appendix/docker-best-practice.md)
|
||||||
* [使用技巧](appendix/tricks.md)
|
* [Kubernetes 使用技巧](appendix/tricks.md)
|
||||||
* [问题记录](appendix/issues.md)
|
* [Kubernetes 相关问题记录](appendix/issues.md)
|
||||||
* [Kubernetes 版本更新日志](appendix/kubernetes-changelog.md)
|
|
||||||
* [Kubernetes 及云原生年度总结及展望](appendix/summary-and-outlook.md)
|
* [Kubernetes 及云原生年度总结及展望](appendix/summary-and-outlook.md)
|
||||||
* [Kubernetes 与云原生 2017 年年终总结及 2018 年展望](appendix/kubernetes-and-cloud-native-summary-in-2017-and-outlook-for-2018.md)
|
* [Kubernetes 与云原生 2017 年年终总结及 2018 年展望](appendix/kubernetes-and-cloud-native-summary-in-2017-and-outlook-for-2018.md)
|
||||||
* [Kubernetes 与云原生 2018 年年终总结及 2019 年展望](appendix/kubernetes-and-cloud-native-summary-in-2018-and-outlook-for-2019.md)
|
* [Kubernetes 与云原生 2018 年年终总结及 2019 年展望](appendix/kubernetes-and-cloud-native-summary-in-2018-and-outlook-for-2019.md)
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
# 附录说明
|
# 附录说明
|
||||||
|
|
||||||
参考文档以及一些实用的资源链接。
|
附录中主要收录容器、Kubernetes 及云原生相关的博客、参考文档以及一些实用的资源链接。
|
||||||
|
|
||||||
- [Kubernetes documentation](http://kubernetes.io/docs/)
|
- [Kubernetes documentation](https://kubernetes.io/docs/)
|
||||||
- [Awesome Kubernetes](https://github.com/ramitsurana/awesome-kubernetes)
|
- [Awesome Kubernetes](https://github.com/ramitsurana/awesome-kubernetes)
|
||||||
- [Kubernetes the hard way](https://github.com/kelseyhightower/kubernetes-the-hard-way)
|
- [Kubernetes the hard way](https://github.com/kelseyhightower/kubernetes-the-hard-way)
|
||||||
- [Kubernetes Bootcamp](https://kubernetesbootcamp.github.io/kubernetes-bootcamp/index.html)
|
- [Kubernetes Bootcamp](https://kubernetesbootcamp.github.io/kubernetes-bootcamp/index.html)
|
||||||
- [Design patterns for container-based distributed systems](https://www.usenix.org/system/files/conference/hotcloud16/hotcloud16_burns.pdf)
|
- [Design patterns for container-based distributed systems](https://www.usenix.org/system/files/conference/hotcloud16/hotcloud16_burns.pdf)
|
||||||
- [Awesome Cloud Native](https://jimmysong.io/awesome-cloud-native/)
|
- [Awesome Cloud Native](https://jimmysong.io/awesome-cloud-native/)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
## 问题记录
|
## Kubernetes 相关问题记录
|
||||||
|
|
||||||
安装、使用kubernetes的过程中遇到的所有问题的记录。
|
安装、使用kubernetes的过程中遇到的所有问题的记录。
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ options ndots:5
|
||||||
|
|
||||||
修改 `/etc/kubernetes/kubelet` 文件中的 `––cluster-domain=cluster.local.` 将 local 后面的点去掉后重启所有的 kubelet,这样新创建的 pod 中的 `/etc/resolv.conf`文件的 DNS 配置和解析就正常了。
|
修改 `/etc/kubernetes/kubelet` 文件中的 `––cluster-domain=cluster.local.` 将 local 后面的点去掉后重启所有的 kubelet,这样新创建的 pod 中的 `/etc/resolv.conf`文件的 DNS 配置和解析就正常了。
|
||||||
|
|
||||||
## 8. kubernetes 集成 ceph 存储 rbd 命令组装问题
|
## 8. Kubernetes 集成 ceph 存储 rbd 命令组装问题
|
||||||
|
|
||||||
kubernetes 使用 ceph 创建 PVC 的时候会有如下报错信息:
|
kubernetes 使用 ceph 创建 PVC 的时候会有如下报错信息:
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
# Kubernetes 使用技巧
|
||||||
|
|
||||||
|
本文收录了部分 Kubernetes 的使用技巧供大家参考。
|
||||||
|
|
||||||
## 1. 在容器中获取 Pod 的IP
|
## 1. 在容器中获取 Pod 的IP
|
||||||
|
|
||||||
通过环境变量来实现,该环境变量直接引用 resource 的状态字段,示例如下:
|
通过环境变量来实现,该环境变量直接引用 resource 的状态字段,示例如下:
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
- 基于 API 的协作
|
- 基于 API 的协作
|
||||||
- 抗脆弱性
|
- 抗脆弱性
|
||||||
|
|
||||||
我已于 2017 年翻译了本书,详见 [迁移到云原生应用架构](https://jimmysong.io/migrating-to-cloud-native-application-architectures/)。
|
笔者已于 2017 年翻译了本书,详见 [迁移到云原生应用架构](https://jimmysong.io/migrating-to-cloud-native-application-architectures/)。
|
||||||
|
|
||||||
## CNCF 最初的定义
|
## CNCF 最初的定义
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
到了 2018 年,随着近几年来云原生生态的不断壮大,所有主流云计算供应商都加入了该基金会,且从 [Cloud Native Landscape](https://i.cncf.io) 中可以看出云原生有意蚕食原先非云原生应用的部分。CNCF 基金会中的会员以及容纳的项目越来越多,该定义已经限制了云原生生态的发展,CNCF 为云原生进行了重新定位。
|
到了 2018 年,随着近几年来云原生生态的不断壮大,所有主流云计算供应商都加入了该基金会,且从 [Cloud Native Landscape](https://i.cncf.io) 中可以看出云原生有意蚕食原先非云原生应用的部分。CNCF 基金会中的会员以及容纳的项目越来越多,该定义已经限制了云原生生态的发展,CNCF 为云原生进行了重新定位。
|
||||||
|
|
||||||
以下是 CNCF 对云原生的重新定义(中英对照):
|
以下是 CNCF 对云原生的[重新定义](https://github.com/cncf/toc/blob/main/DEFINITION.md)(中英对照):
|
||||||
|
|
||||||
> Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
|
> Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
## 总结
|
## 总结
|
||||||
|
|
||||||
关于什么是云原生的争论还在进行中,在笔者看来云原生是一种行为方式和设计理念,究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生的。云计算的发展史就是一部云原生化的历史。Kubernetes 开启了云原生 1.0 的序幕,服务网格 Istio 的出现,引领了后 Kubernetes 时代的微服务,serverless 的再次兴起,使得云原生从基础设施层不断向应用架构层挺进,我们正处于一个云原生 2.0 的新时代。
|
关于什么是云原生的争论还在进行中,在笔者看来云原生是一种行为方式和设计理念,究其本质,凡是能够提高云上资源利用率和应用交付效率的行为或方式都是云原生的。云计算的发展史就是一部云原生化的历史。Kubernetes 开启了云原生的序幕,服务网格 Istio 的出现,引领了后 Kubernetes 时代的微服务,serverless 的再次兴起,使得云原生从基础设施层不断向应用架构层挺进,我们正处于一个云原生的新时代。
|
||||||
|
|
||||||
## 参考
|
## 参考
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# 云原生应用之路——从 Kubernetes 到云原生
|
# 云原生应用之路——从 Kubernetes 到云原生
|
||||||
|
|
||||||
**从 Kubernetes 到云原生—— 云原生应用之路**,这是我最近在 [ArchSummit 2017 北京站](http://bj2017.archsummit.com/presentation/306) 和 [数人云 & TalkingData 合办的 Service Mesh is coming meetup](https://www.kubernetes.org.cn/3211.html) 中分享的话题。
|
《从 Kubernetes 到云原生—— 云原生应用之路》,这是我最近在 [ArchSummit 2017 北京站](http://bj2017.archsummit.com/presentation/306) 和 [数人云 & TalkingData 合办的 Service Mesh is coming meetup](https://www.kubernetes.org.cn/3211.html) 中分享的话题。
|
||||||
|
|
||||||
本文简要介绍了容器技术发展的路径,为何 Kubernetes 的出现是容器技术发展到这一步的必然选择,而为何 Kubernetes 又将成为云原生应用的基石。
|
本文简要介绍了容器技术发展的路径,为何 Kubernetes 的出现是容器技术发展到这一步的必然选择,而为何 Kubernetes 又将成为云原生应用的基石。
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ CNCF(云原生计算基金会)给出了云原生应用的三大特征:
|
||||||
|
|
||||||
![Cloud Native Features](https://jimmysong.io/kubernetes-handbook/images/cloud-native-architecutre-mindnode.jpg)
|
![Cloud Native Features](https://jimmysong.io/kubernetes-handbook/images/cloud-native-architecutre-mindnode.jpg)
|
||||||
|
|
||||||
[CNCF](https://cncf.io) 所托管的应用(2017 年已达 12 个),即朝着这个目标发展,其公布的 [Cloud Native Landscape](https://github.com/cncf/landscape),给出了云原生生态的参考体系。
|
[CNCF](https://cncf.io) 所托管的应用(即正式捐献给 CNCF 的应用,2017 年已达 12 个),即朝着这个目标发展,其公布的 [Cloud Native Landscape](https://github.com/cncf/landscape),给出了云原生生态的参考体系。
|
||||||
|
|
||||||
![Cloud Native Landscape v1.0](../images/0069RVTdgy1fv5myp6ednj31kw0w0u0x.jpg)
|
![Cloud Native Landscape v1.0](../images/0069RVTdgy1fv5myp6ednj31kw0w0u0x.jpg)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# 云原生的未来
|
# 云原生的未来
|
||||||
|
|
||||||
要想搞明云原生的未来,首先我们要弄明白云原生是什么。CNCF给出的定义是:
|
注:本文是笔者于 2018 年 5 月 20 日在[第四届南京全球技术周](https://www.bagevent.com/event/1233659)上【互联网技术专场】上的题为【云原生应用的下一站】的演讲的部分内容的文字整理而成。
|
||||||
|
|
||||||
|
要想搞明云原生的未来,首先我们要弄明白云原生是什么。CNCF 最初给出的[定义](https://github.com/cncf/toc/blob/main/DEFINITION.md)是:
|
||||||
|
|
||||||
- 容器化
|
- 容器化
|
||||||
- 微服务
|
- 微服务
|
||||||
|
@ -161,4 +163,6 @@ Isito在每个上下游服务之间部署一个Envoy,Envoy中有几个基本
|
||||||
|
|
||||||
![Envoy proxy架构图](../images/envoy-arch.png)
|
![Envoy proxy架构图](../images/envoy-arch.png)
|
||||||
|
|
||||||
本文根据 [Jimmy Song](https://jimmysong.io) 于2018年5月20日在[第四届南京全球技术周](https://www.bagevent.com/event/1233659)上【互联网技术专场】上的题为【云原生应用的下一站】的演讲的部分内容的文字整理而成。
|
## 总结
|
||||||
|
|
||||||
|
云原生是在云计算发展到一定阶段的产物,它的方兴未艾,未来我们会看到更多优秀的云原生技术的出现。
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
### 应用指标
|
### 应用指标
|
||||||
|
|
||||||
应用性能指标(Application Performance Metrics,简称 APM)数据与应用性能有关,如加载时间和响应时间,确保应用向客户提供预期性能。像 [Apache Skywalking](https://skywalking.apache.org) 这样的开源技术可以集成到 Istio 服务网格中,既可以作为 APM,也可以作为额外的服务性能管理(Service Performance Management,简称 SPM)系统——一举两得。
|
应用性能指标(Application Performance Metrics,简称 APM)数据与应用性能有关,如加载时间和响应时间,确保应用向客户提供预期性能。像 [Apache SkyWalking](https://skywalking.apache.org) 这样的开源技术可以集成到 Istio 服务网格中,既可以作为 APM,也可以作为额外的服务性能管理(Service Performance Management,简称 SPM)系统——一举两得。
|
||||||
|
|
||||||
### 运维指标
|
### 运维指标
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
## 日志(Logs)
|
## 日志(Logs)
|
||||||
|
|
||||||
日志是冗长的。包含一个 "事件 "从头到尾的信息。一则日志可以收集(匿名)用户数据。例如,哪个用户发出了请求,这条请求从哪里开始,到达哪些服务等等。
|
日志是冗长的。包含一个 "事件"从头到尾的信息。一则日志可以收集(匿名)用户数据。例如,哪个用户发出了请求,这条请求从哪里开始,到达哪些服务等等。
|
||||||
|
|
||||||
## 追踪(Tracing)
|
## 追踪(Tracing)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue