Fix broken links

pull/335/head
Jimmy Song 2019-01-29 16:13:13 +08:00
parent 907eacb1b6
commit 079ce6042c
25 changed files with 20 additions and 51 deletions

View File

@ -8,7 +8,7 @@ build:
.PHONY: lint
lint:
htmlproofer --url-ignore "/localhost/,/172.17.8.101/,/172.20.0.113/,/slideshare.net/,/grpc.io/,/kiali.io/,/condiut.io/,/twitter.com/,/facebook.com/,/medium.com/,/google.com/,/jimmysong.io/" $(BOOK_OUTPUT)
htmlproofer --url-ignore "/localhost/,/172.17.8.101/,/172.20.0.113/,/slideshare.net/,/grpc.io/,/kiali.io/,/condiut.io/,/twitter.com/,/facebook.com/,/medium.com/,/google.com/,/jimmysong.io/,/openfaas.com/,/linkerd.io/,/layer5.io/,/thenewstack.io/,/blog.envoyproxy.io/,/blog.openebs.io/,/k8smeetup.github.io/,/blog.heptio.com/,/apigee.com/,/speakerdeck.com/,/download.svcat.sh/,/blog.fabric8.io/,/blog.heptio.com/,/blog.containership.io/,/blog.mobyproject.org/,/blog.spinnaker.io/,/coscale.com/,/zh.wikipedia.org/" $(BOOK_OUTPUT)
.PHONY: serve
serve:

View File

@ -24,7 +24,3 @@
## 获取
Kubernetes1.10已经可以通过[GitHub下载](https://github.com/kubernetes/kubernetes/releases/tag/v1.10.0)。
## 参考
[Kubernetes 1.10: Stabilizing Storage, Security, and Networking](http://blog.kubernetes.io/2018/03/kubernetes-1.10-stabilizing-storage-security-networking.html)

View File

@ -41,7 +41,3 @@
- 第三方资源TPR已被自定义资源定义Custom Resource DefinitionsCRD取代后者提供了一个更清晰的API并解决了TPR测试期间引发的问题和案例。如果您使用TPR测试版功能则建议您[迁移](https://kubernetes.io/docs/tasks/access-kubernetes-api/migrate-third-party-resource/)因为它将在Kubernetes 1.8中被移除。
以上是Kubernetes1.7中的主要新特性,详细更新文档请查看[Changelog](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.7.md)。
## 参考
[Kuberentes 1.7: Security Hardening, Stateful Application Updates and Extensibility](http://blog.kubernetes.io/2017/06/kubernetes-1.7-security-hardening-stateful-application-extensibility-updates.html)

View File

@ -25,7 +25,3 @@ Volume快照、PV调整大小、自动taint、pod优先级、kubectl插件等
除了稳定现有的功能Kubernetes 1.8还提供了许多预览新功能的alpha版本。
社区中的每个特别兴趣小组SIG都在继续为所在领域的用户提供更多的功能。有关完整列表请访问[发行说明](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md)。
## 参考
[Kubernetes 1.8: Security, Workloads and Feature Depth](http://blog.kubernetes.io/2017/09/kubernetes-18-security-workloads-and.html)

View File

@ -37,7 +37,3 @@ kube-proxy的IPVS模式进入beta版为大型集群提供更好的可扩展
## 获取
Kubernetes1.9已经可以通过[GitHub下载](https://github.com/kubernetes/kubernetes/releases/tag/v1.9.0)。
## 参考
[Kubernetes 1.9: Apps Workloads GA and Expanded Ecosystem](http://blog.kubernetes.io/2017/12/kubernetes-19-workloads-expanded-ecosystem.html)

View File

@ -37,10 +37,10 @@
一年里按计划发布了4个版本详见以下更新日志
- [Kubernetes1.10更新日志](appendix/kubernetes-1.10-changelog.md)
- [Kubernetes1.11更新日志](appendix/kubernetes-1.11-changelog.md)
- [Kubernetes1.12更新日志](appendix/kubernetes-1.12-changelog.md)
- [Kubernetes1.13更新日志](appendix/kubernetes-1.13-changelog.md)
- [Kubernetes1.10更新日志](../appendix/kubernetes-1.10-changelog.md)
- [Kubernetes1.11更新日志](../appendix/kubernetes-1.11-changelog.md)
- [Kubernetes1.12更新日志](../appendix/kubernetes-1.12-changelog.md)
- [Kubernetes1.13更新日志](../appendix/kubernetes-1.13-changelog.md)
早在2017年的北美 KubeCon 上就有一种论调说 Kubernetes 正变得 boring因为它已经越来越成熟在未来不会出现大的变动从以上更新日志中也可以看到大多是一些功能进入 beta 或者 stable 状态,很少有新的功能出现。
@ -58,7 +58,7 @@
## Kubernetes Operator
以 Kubernetes 为核心来运维上层应用诞生了一种名为”Kubernetes Native“的新型运维方式真正践行 DevOps 理念的产物,开发者将于软件的运维逻辑写成代码,利用 Kubernetes 的**控制器模式Controller Pattern**和 [CRD](../concepts/crd.md) 来扩展 Kubernetes 的 API各种 Operator 层出不穷,[awesome-operators](https://github.com/operator-framework/awesome-operators) 列举了目前所有的 Operator。例如我们熟悉的 [Istio](https://isito.io) 中就有50个 CRD。
以 Kubernetes 为核心来运维上层应用诞生了一种名为”Kubernetes Native“的新型运维方式真正践行 DevOps 理念的产物,开发者将于软件的运维逻辑写成代码,利用 Kubernetes 的**控制器模式Controller Pattern**和 [CRD](../concepts/crd.md) 来扩展 Kubernetes 的 API各种 Operator 层出不穷,[awesome-operators](https://github.com/operator-framework/awesome-operators) 列举了目前所有的 Operator。例如我们熟悉的 [Istio](https://istio.io) 中就有50个 CRD。
![Istio 中的 CRD](https://ws2.sinaimg.cn/large/006tNc79ly1fzna87wmfij30u00zc4qp.jpg)

View File

@ -205,7 +205,7 @@ data:
["8.8.8.8", "8.8.4.4"]
```
`upstreamNameservers` 即使用的外部DNS,参考:[Configuring Private DNS Zones and Upstream Nameservers in Kubernetes](http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html)
`upstreamNameservers` 即使用的外部DNS
## 8. 创建一个CentOS测试容器

View File

@ -129,6 +129,4 @@ v1
## 参考
[API Conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#resources)
[Kuberentes1.8 reference doc](https://kubernetes.io/docs/api-reference/v1.8/#apiservicespec-v1beta1-apiregistration)
- [API Conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#resources)

View File

@ -1,5 +1,7 @@
# Kubernetes的设计理念
这一章将介绍 Kubernetes 的设计理念及基本概念。
### Kubernetes设计理念与分布式系统
分析和理解Kubernetes的设计理念可以使我们更深入地了解Kubernetes系统更好地利用它管理分布式部署的云原生应用另一方面也可以让我们借鉴其在分布式系统设计方面的经验。
@ -8,7 +10,7 @@
Kubernetes设计理念和功能其实就是一个类似Linux的分层架构如下图所示
![分层架构示意图](../images/kubernetes-layers-arch.jpg)
![Kubernetes 分层架构示意图](https://ws4.sinaimg.cn/large/006tNc79ly1fzniqvmi51j31gq0s0q5u.jpg)
* 核心层Kubernetes最核心的功能对外提供API构建高层的应用对内提供插件式应用执行环境
* 应用层部署无状态应用、有状态应用、批处理任务、集群应用等和路由服务发现、DNS解析等

View File

@ -138,4 +138,3 @@ CRI是由[SIG-Node](https://kubernetes.slack.com/archives/sig-node)来维护的
- [Kubernetes CRI and Minikube](https://sreeninet.wordpress.com/2017/02/11/kubernetes-cri-and-minikube/)
- [CRI-O and Alternative Runtimes in Kubernetes](https://www.projectatomic.io/blog/2017/02/crio-runtimes/)
- [Docker、Containerd、RunC...:你应该知道的所有](http://www.infoq.com/cn/news/2017/02/Docker-Containerd-RunC)
- [Introducing Container Runtime Interface (CRI) in Kubernetes](http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html)

View File

@ -134,5 +134,4 @@ Kubernetes 尽可能少地指定 CSI Volume 驱动程序的打包和部署规范
## 参考
- [Introducing Container Storage Interface (CSI) Alpha for Kubernetes](http://blog.kubernetes.io/2018/01/introducing-container-storage-interface.html)
- [Container Storage Interface (CSI)](https://github.com/container-storage-interface/spec/blob/master/spec.md)

View File

@ -130,8 +130,6 @@ metadata:
详情参考:[Extend the Kubernetes API with CustomResourceDefinitions](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)
使用kubernetes1.7及以上版本请参考[Migrate a ThirdPartyResource to CustomResourceDefinition](https://kubernetes.io/docs/tasks/access-kubernetes-api/migrate-third-party-resource/)。
## 自定义控制器
单纯设置了自定义资源并没有什么用只有跟自定义控制器结合起来才能将资源对象中的声明式API翻译成用户所期望的状态。自定义控制器可以用来管理任何资源类型但是一般是跟自定义资源结合使用。

View File

@ -315,5 +315,4 @@ test - 178.91.123.132
- [Kubernetes : Ingress Controller with Træfɪk and Let's Encrypt](https://blog.osones.com/en/kubernetes-ingress-controller-with-traefik-and-lets-encrypt.html)
- [Kubernetes : Træfɪk and Let's Encrypt at scale](https://blog.osones.com/en/kubernetes-traefik-and-lets-encrypt-at-scale.html)
- [Kubernetes Ingress Controller-Træfɪk](https://docs.traefik.io/user-guide/kubernetes/)
- [Kubernetes 1.2 and simplifying advanced networking with Ingress](http://blog.kubernetes.io/2016/03/Kubernetes-1.2-and-simplifying-advanced-networking-with-Ingress.html)
- [使用Istio控制Ingress流量](https://istio.io/zh/docs/tasks/traffic-management/ingress/)

View File

@ -12,8 +12,6 @@
## `NetworkPolicy` 资源
查看 [API参考](https://kubernetes.io/docs/api-reference/v1.7/#networkpolicy-v1-networking) 可以获取该资源的完整定义。
下面是一个 `NetworkPolicy` 的例子:
```yaml

View File

@ -45,7 +45,3 @@ Kubernetes 提供了一个准入控制器(`PodPreset`当其启用时P
## 更多资料
- [使用 PodPreset 向 Pod 中注入数据](https://kubernetes.io/docs/tasks/inject-data-application/podpreset)
本文为 Kubernetes 官方中文文档地址https://kubernetes.io/cn/docs/concepts/workloads/pods/podpreset/
翻译: [rootsongjc](https://github.com/rootsongjc)

View File

@ -8,7 +8,7 @@
Docker 中也有一个 [volume](https://docs.docker.com/engine/admin/volumes/) 的概念,尽管它稍微宽松一些,管理也很少。在 Docker 中,卷就像是磁盘或是另一个容器中的一个目录。它的生命周期不受管理,直到最近才有了 local-disk-backed 卷。Docker 现在提供了卷驱动程序但是功能还非常有限例如Docker1.7只允许每个容器使用一个卷驱动,并且无法给卷传递参数)。
另一方面Kubernetes 中的卷有明确的寿命——与封装它的 Pod 相同。所以,卷的生命比 Pod 中的所有容器都长,当这个容器重启时数据仍然得以保存。当然,当 Pod 不再存在时卷也将不复存在。也许更重要的是Kubernetes 支持多种类型的卷Pod 可以同时使用任意数量的卷。
另一方面Kubernetes 中的卷有明确的寿命——与封装它的 Pod 相同。所f以,卷的生命比 Pod 中的所有容器都长,当这个容器重启时数据仍然得以保存。当然,当 Pod 不再存在时卷也将不复存在。也许更重要的是Kubernetes 支持多种类型的卷Pod 可以同时使用任意数量的卷。
卷的核心是目录,可能还包含了一些数据,可以通过 pod 中的容器来访问。该目录是如何形成的、支持该目录的介质以及其内容取决于所使用的特定卷类型。
@ -597,7 +597,7 @@ spec:
### vsphereVolume
**先决条件**:配置了 vSphere Cloud Provider 的 Kubernetes。有关云提供商的配置请参阅 [vSphere 入门指南](https://kubernetes.io/docs/getting-started-guides/vsphere/)。
**先决条件**:配置了 vSphere Cloud Provider 的 Kubernetes。有关云提供商的配置请参阅 [vSphere 入门指南](https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/)。
`vsphereVolume` 用于将 vSphere VMDK 卷挂载到 Pod 中。卷的内容在卸载时会被保留。支持 VMFS 和 VSAN 数据存储。

View File

@ -110,7 +110,7 @@ Python 客户端可以使用与 kubectl 命令行工具相同的 [kubeconfig 文
#### 其他语言
还有更多的 [客户端库](https://git.k8s.io/community/contributors/devel/client-libraries.md) 可以用来访问 API。有关其他库的验证方式请参阅文档。
还有更多的客户端库可以用来访问 API。有关其他库的验证方式请参阅文档。
### 在 Pod 中访问 API

View File

@ -323,5 +323,4 @@ spec:
## 参考
- https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
- [kubernetes contrib - statefulsets](https://github.com/kubernetes/contrib/tree/master/statefulsets)
- http://blog.kubernetes.io/2017/01/running-mongodb-on-kubernetes-with-statefulsets.html
- [kubernetes contrib - statefulsets](https://github.com/kubernetes/contrib/tree/master/statefulsets)

View File

@ -76,8 +76,6 @@ env:
value: english
```
关于 i18n 的设计文档请参考:<https://github.com/kubernetes/dashboard/blob/master/docs/design/i18n.md>
更简单的方式是如果您使用的Chrome浏览器则在浏览器中的配置中设置语言的顺序后刷新网页dashboard将以您在Chrome中配置的首选语言显示。
## 身份认证

View File

@ -12,7 +12,7 @@
所以本文档主要适合于那些有一定 kubernetes 基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。
**注本文档中不包括docker和私有镜像仓库的安装安装说明中使用的镜像来自 Google Cloud Platform为了方便国内用户下载我将其克隆并上传到了 [时速云镜像市场](https://hub.tenxcloud.com/search?q=jimmy&source=tenxcloud),供大家免费下载。**
**注本文档中不包括docker和私有镜像仓库的安装安装说明中使用的镜像来自 Google Cloud Platform为了方便国内用户下载我将其克隆并上传到了 [时速云镜像市场](https://tenxcloud.com/)搜索”Jimmy“,供大家免费下载。**
**欲下载最新版本的官方镜像请访问 [Google 云平台容器注册表](https://console.cloud.google.com/gcr/images/google-containers/GLOBAL)。**

View File

@ -5,7 +5,7 @@ Kubeadm 在2018年12月3日发布的 [Kubernetes 1.13](https://kubernetes.io/blo
## 基本介绍
**kubeadm** 是一个工具包可帮助您以简单合理安全和可扩展的方式引导最佳实践Kubernetes群集。它还支持为您管理[Bootstrap Tokens](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/)并升级/降级群集。
kubeadm的目标是建立一个通过Kubernetes一致性测试[Kubernetes Conformance tests](http://blog.kubernetes.io/2017/10/software-conformance-certification)的最小可行集群 ,但不会安装其他功能插件。
kubeadm的目标是建立一个通过Kubernetes一致性测试Kubernetes Conformance tests的最小可行集群 ,但不会安装其他功能插件。
它在设计上并未为您安装网络解决方案需要用户自行安装第三方符合CNI的网络解决方案如flanalcalicocanal等

View File

@ -25,7 +25,7 @@ Trace 通常指一次完整的调用链。如上文中的 Jaeger UI 截图就是
每个 trace 都由一系列 Span 组成,一个 span 可以理解为两个微服务之间的调用,如同 Chrome 检查器中查看网络访问瀑布一样。
![](https://ws2.sinaimg.cn/large/006tNbRwly1fwjkfbvfluj30y70hf0y9.jpg)
![Chrome Inspector](https://ws2.sinaimg.cn/large/006tNbRwly1fwjkfbvfluj30y70hf0y9.jpg)
根据 OpenTracing 的规格约定,每个 Span 都要包含以下状态:

View File

@ -20,7 +20,7 @@
**Upstream**上游upstream主机获取来自 Envoy 的链接请求和响应。
**Cluster**: 集群cluster是 Envoy 连接到的一组逻辑上相似的上游主机。Envoy 通过[服务发现](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/service_discovery#arch-overview-service-discovery)发现集群中的成员。Envoy 可以通过[主动运行状况检查](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/health_checking#arch-overview-health-checking)来确定集群成员的健康状况。Envoy 如何将请求路由到集群成员由[负载均衡策略](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing#arch-overview-load-balancing)确定。
**Cluster**: 集群cluster是 Envoy 连接到的一组逻辑上相似的上游主机。Envoy 通过[服务发现](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/service_discovery#arch-overview-service-discovery)发现集群中的成员。Envoy 可以通过[主动运行状况检查](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/health_checking#arch-overview-health-checking)来确定集群成员的健康状况。Envoy 如何将请求路由到集群成员由负载均衡策略确定。
**Mesh**一组互相协调以提供一致网络拓扑的主机。Envoy mesh 是指一组 Envoy 代理,它们构成了由多种不同服务和应用程序平台组成的分布式系统的消息传递基础。

View File

@ -283,5 +283,4 @@ Hello (172.30.60.14) world (172.30.71.19)!!
## 参考
- https://github.com/linkerd/linkerd-examples
- [A Service Mesh for Kubernetes](https://cdn2.hubspot.net/hubfs/2818724/A%20Service%20Mesh%20for%20Kubernetes_Final.pdf)
- [dtab](https://linkerd.io/in-depth/dtabs/)

View File

@ -10,7 +10,7 @@ Spring Boot旨在简化创建产品级的Spring应用和服务简化了配置
## Spring的基本原理
Spring是一套Java开发框架框架的作用就是为了减少代码的冗余和模块之间的偶尔使代码逻辑更加清晰主要是用了[AOP](https://docs.spring.io/spring/docs/2.5.x/reference/aop.html)Aspect Oriented Programming面向切面编程[IoC](http://blog.xiaohansong.com/2015/10/21/IoC-and-DI/)Inversion of Control控制反转容器的思想其中AOP是利用了Java的反射机制实现的。为了便于理解AOP可以参考[一个简单的Spring的AOP例子](http://www.blogjava.net/javadragon/archive/2006/12/03/85115.html)。
Spring是一套Java开发框架框架的作用就是为了减少代码的冗余和模块之间的偶尔使代码逻辑更加清晰主要是用了[AOP](https://docs.spring.io/spring/docs/2.5.x/reference/aop.html)Aspect Oriented Programming面向切面编程和IoCInversion of Control控制反转容器的思想其中AOP是利用了Java的反射机制实现的。为了便于理解AOP可以参考[一个简单的Spring的AOP例子](http://www.blogjava.net/javadragon/archive/2006/12/03/85115.html)。
## 准备环境