From 953e7c314cf86087f2c211d310ff0df2ea6337ed Mon Sep 17 00:00:00 2001 From: Jimmy song Date: Sun, 22 Sep 2019 10:05:33 +0800 Subject: [PATCH] Fix broken links --- appendix/material-share.md | 2 +- cloud-native/cloud-native-local-quick-start.md | 2 -- cloud-native/cncf-ambassador.md | 6 +++--- cloud-native/kubernetes-and-cloud-native-app-overview.md | 2 +- concepts/ingress.md | 5 ++--- concepts/traefik-ingress-controller.md | 5 ----- concepts/volume.md | 4 ---- guide/access-cluster.md | 2 +- practice/edge-node-configuration.md | 2 +- practice/opentracing.md | 2 +- practice/service-discovery-and-loadbalancing.md | 2 -- practice/using-ceph-for-persistent-storage.md | 2 -- usecases/dubbo-on-x-protocol-in-sofa-mesh.md | 2 +- ...envoy-sidecar-routing-of-istio-service-mesh-deep-dive.md | 2 +- usecases/istio-installation.md | 6 +++--- usecases/istio.md | 6 +++--- 16 files changed, 18 insertions(+), 34 deletions(-) diff --git a/appendix/material-share.md b/appendix/material-share.md index 9f2a723dd..db6324f75 100644 --- a/appendix/material-share.md +++ b/appendix/material-share.md @@ -49,6 +49,7 @@ Kubernetes和Cloud Native相关网站、专栏、博客等。 - [dockone.io](http://www.dockone.io) - [Cloud Native知乎专栏](https://zhuanlan.zhihu.com/cloud-native) - [kubernetes.org.cn](https://www.kubernetes.org.cn/) +- [servicemesher.com](https://www.servicemesher.com) ### 博客 @@ -79,7 +80,6 @@ Kubernetes和Cloud Native相关网站、专栏、博客等。 - [sysdig](https://sysdig.com/blog/) - [spinnaker](https://blog.spinnaker.io) - [supergiant](https://supergiant.io/blog) -- [thecodeteam](https://blog.thecodeteam.com/) - [twistlock](https://www.twistlock.com/blog/) - [vamp](https://medium.com/vamp-io) - [weave](https://www.weave.works/blog/) diff --git a/cloud-native/cloud-native-local-quick-start.md b/cloud-native/cloud-native-local-quick-start.md index 8d1117f40..bfa7cc364 100644 --- a/cloud-native/cloud-native-local-quick-start.md +++ b/cloud-native/cloud-native-local-quick-start.md @@ -214,8 +214,6 @@ istioctl create -f yaml/istio-bookinfo/bookinfo-gateway.yaml **注意**:`JAEGER_PORT`可以通过`kubectl -n istio-system get svc tracing -o jsonpath='{.spec.ports[0].nodePort}'`获取,`GATEWAY_PORT`可以通过`kubectl -n istio-system get svc istio-ingressgateway -o jsonpath='{.spec.ports[0].nodePort}'`获取。 -详细信息请参阅 https://istio.io/zh/docs/examples/bookinfo/ - ![bookinfo示例](https://github.com/rootsongjc/kubernetes-vagrant-centos-cluster/raw/master/images/bookinfo-demo.gif) ### Vistio diff --git a/cloud-native/cncf-ambassador.md b/cloud-native/cncf-ambassador.md index 57956b303..001eaf6f5 100644 --- a/cloud-native/cncf-ambassador.md +++ b/cloud-native/cncf-ambassador.md @@ -17,10 +17,10 @@ CNCF Ambassador(CNCF 大使),人员名单详见 )和为活动申请使用 CNCF logo() +1. 申请成为 CNCF Ambassador: 附上自己最近三个月内举办的 meetup 链接(CNCF 只认 meetup.com 里的活动) -关于 CNCF meetup 的更多信息请访问:https://github.com/cncf/meetups/ +关于 CNCF meetup 的更多信息请访问: ## 成为 CNCF 大使有什么好处? diff --git a/cloud-native/kubernetes-and-cloud-native-app-overview.md b/cloud-native/kubernetes-and-cloud-native-app-overview.md index 81d843f47..335f9b3c7 100644 --- a/cloud-native/kubernetes-and-cloud-native-app-overview.md +++ b/cloud-native/kubernetes-and-cloud-native-app-overview.md @@ -476,4 +476,4 @@ Spark原生支持standalone、mesos和YARN资源调度,现已支持Kubernetes * [迁移到云原生应用架构指南](https://jimmysong.io/migrating-to-cloud-native-application-architectures) * [Cloud Native Go - 已由电子工业出版社出版](https://jimmysong.io/cloud-native-go) * [Cloud Native Python - 已由电子工业出版社出版](https://jimmysong.io/posts/cloud-native-python) -* [Istio Service Mesh 中文文档](https://istio.io/zh/) +* [Istio Service Mesh 中文文档 v1.2](https://archive.istio.io/v1.2/zh/) diff --git a/concepts/ingress.md b/concepts/ingress.md index 0646cc2a2..af4341df4 100644 --- a/concepts/ingress.md +++ b/concepts/ingress.md @@ -39,9 +39,9 @@ Ingress是授权入站连接到达集群服务的规则集合。 在使用Ingress resource之前,有必要先了解下面几件事情。Ingress是beta版本的resource,在kubernetes1.1之前还没有。你需要一个`Ingress Controller`来实现`Ingress`,单纯的创建一个`Ingress`没有任何意义。 -GCE/GKE会在master节点上部署一个ingress controller。你可以在一个pod中部署任意个自定义的ingress controller。你必须正确地annotate每个ingress,比如 [运行多个ingress controller](https://git.k8s.io/ingress#running-multiple-ingress-controllers) 和 [关闭glbc](https://git.k8s.io/ingress-gce/BETA_LIMITATIONS.md#disabling-glbc). +GCE/GKE会在master节点上部署一个ingress controller。你可以在一个pod中部署任意个自定义的ingress controller。你必须正确地annotate每个ingress,比如 [运行多个ingress controller](https://git.k8s.io/ingress#running-multiple-ingress-controllers) 和 关闭glbc。 -确定你已经阅读了Ingress controller的[beta版本限制](https://github.com/kubernetes/ingress-gce/blob/master/BETA_LIMITATIONS.md#glbc-beta-limitations)。在非GCE/GKE的环境中,你需要在pod中[部署一个controller](https://git.k8s.io/ingress-nginx/README.md)。 +确定你已经阅读了Ingress controller的 beta版本限制。在非GCE/GKE的环境中,你需要在pod中[部署一个controller](https://git.k8s.io/ingress-nginx/README.md)。 ## Ingress Resource @@ -315,4 +315,3 @@ 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/) -- [使用Istio控制Ingress流量](https://istio.io/zh/docs/tasks/traffic-management/ingress/) diff --git a/concepts/traefik-ingress-controller.md b/concepts/traefik-ingress-controller.md index 0977a8ca8..1c3fe22ed 100644 --- a/concepts/traefik-ingress-controller.md +++ b/concepts/traefik-ingress-controller.md @@ -58,8 +58,3 @@ upstream docGenerate { ``` 172.20.0.119是我们的边缘节点的VIP,见[边缘节点配置](../practice/edge-node-configuration.md)。 - -## 参考 - -- [Kubernetes Ingress Backend - traefik.io](https://docs.traefik.io/configuration/backends/kubernetes/) -- [Kubernetes Ingress Controller - traefik.io](http://docs.traefik.io/user-guide/kubernetes/) diff --git a/concepts/volume.md b/concepts/volume.md index 586f4771f..a72ce03c7 100644 --- a/concepts/volume.md +++ b/concepts/volume.md @@ -107,8 +107,6 @@ spec: **重要提示**:您必须先拥有自己的 Ceph 服务器,然后才能使用它。 -有关更多详细信息,请参见[CephFS示例](https://github.com/kubernetes/examples/tree/master/staging/volumes/cephfs/)。 - ### csi CSI 代表[容器存储接口](https://github.com/container-storage-interface/spec/blob/master/spec.md),CSI 试图建立一个行业标准接口的规范,借助 CSI 容器编排系统(CO)可以将任意存储系统暴露给自己的容器工作负载。有关详细信息,请查看[设计方案](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md)。 @@ -253,8 +251,6 @@ spec: **重要提示**:您必须先自行安装 GlusterFS,才能使用它。 -有关更多详细信息,请参阅 [GlusterFS](https://github.com/kubernetes/examples/tree/master/staging/volumes/glusterfs) 示例。 - ### hostPath `hostPath` 卷将主机节点的文件系统中的文件或目录挂载到集群中。该功能大多数 Pod 都用不到,但它为某些应用程序提供了一个强大的解决方法。 diff --git a/guide/access-cluster.md b/guide/access-cluster.md index 02f60f39a..84b9a223a 100644 --- a/guide/access-cluster.md +++ b/guide/access-cluster.md @@ -106,7 +106,7 @@ Go 客户端可以使用与 kubectl 命令行工具相同的 [kubeconfig 文件] 要使用 [Python client](https://github.com/kubernetes-incubator/client-python),请运行以下命令:`pip install kubernetes`。查看 [Python 客户端库页面](https://github.com/kubernetes-incubator/client-python) 获取更多的安装选择。 -Python 客户端可以使用与 kubectl 命令行工具相同的 [kubeconfig 文件](https://kubernetes.io/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig) 来定位和验证 apiserver。参考该 [示例](https://github.com/kubernetes-incubator/client-python/tree/master/examples/example1.py)。 +Python 客户端可以使用与 kubectl 命令行工具相同的 [kubeconfig 文件](https://kubernetes.io/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig) 来定位和验证 apiserver。 ### 其他语言 diff --git a/practice/edge-node-configuration.md b/practice/edge-node-configuration.md index 361e3cbf8..9cc2dc5d1 100644 --- a/practice/edge-node-configuration.md +++ b/practice/edge-node-configuration.md @@ -35,7 +35,7 @@ ## 安装 -使用keepalived管理VIP,VIP是使用IPVS创建的,[IPVS](http://www.linux-vs.org)已经成为linux内核的模块,不需要安装 +使用keepalived管理VIP,VIP是使用IPVS创建的,IPVS 已经成为linux内核的模块,不需要安装 LVS的工作原理请参考:http://www.cnblogs.com/codebean/archive/2011/07/25/2116043.html diff --git a/practice/opentracing.md b/practice/opentracing.md index cc17f5fa7..b7628f236 100644 --- a/practice/opentracing.md +++ b/practice/opentracing.md @@ -100,7 +100,7 @@ Trace 通常指一次完整的调用链。如上文中的 Jaeger UI 截图就是 } ``` -在开发应用时需要使用兼容 OpenTracing API 的 Tracing 实现库,例如 [Jaeger](https://www.jaegertracing.io) 来实现自动的分布式追踪。参考[在 Istio 中使用分布式追踪](https://istio.io/zh/docs/tasks/telemetry/distributed-tracing/)。 +在开发应用时需要使用兼容 OpenTracing API 的 Tracing 实现库,例如 [Jaeger](https://www.jaegertracing.io) 来实现自动的分布式追踪。 ## 参考 diff --git a/practice/service-discovery-and-loadbalancing.md b/practice/service-discovery-and-loadbalancing.md index 8e902ca6e..bbac93a70 100644 --- a/practice/service-discovery-and-loadbalancing.md +++ b/practice/service-discovery-and-loadbalancing.md @@ -58,8 +58,6 @@ spec: **注意:** Ingress本身并不会自动创建负载均衡器,cluster中需要运行一个ingress controller来根据Ingress的定义来管理负载均衡器。目前社区提供了nginx和gce的参考实现。 -[Traefik](https://traefik.io)提供了易用的Ingress Controller,使用方法见。 - ## Service Load Balancer 在Ingress出现以前,Service Load Balancer是推荐的解决Service局限性的方式。Service Load Balancer将haproxy跑在容器中,并监控service和endpoint的变化,通过容器IP对外提供4层和7层负载均衡服务。 diff --git a/practice/using-ceph-for-persistent-storage.md b/practice/using-ceph-for-persistent-storage.md index c8002e5b4..d52a97b43 100644 --- a/practice/using-ceph-for-persistent-storage.md +++ b/practice/using-ceph-for-persistent-storage.md @@ -401,8 +401,6 @@ func (util *RBDUtil) CreateImage(p *rbdVolumeProvisioner) (r *v1.RBDVolumeSource ## 参考 -- https://github.com/kubernetes/examples/blob/master/staging/volumes/cephfs/README.md - - [k8s-ceph-statefulsets-storageclass-nfs 动态卷有状态应用实践](http://blog.csdn.net/idea77/article/details/72842723) - https://kubernetes.io/docs/concepts/storage/persistent-volumes/#ceph-rbd diff --git a/usecases/dubbo-on-x-protocol-in-sofa-mesh.md b/usecases/dubbo-on-x-protocol-in-sofa-mesh.md index 57cd7bc75..f0f873796 100644 --- a/usecases/dubbo-on-x-protocol-in-sofa-mesh.md +++ b/usecases/dubbo-on-x-protocol-in-sofa-mesh.md @@ -15,7 +15,7 @@ X-protocol 的定位是云原生、高性能、低侵入性的通用 Service Mes 1. 部署 Kubernetes 集群,建议使用 https://github.com/rootsongjc/kubernetes-vagrant-centos-cluster 2. 安装 kubectl 命令行工具,请参考 [https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) 3. 安装 VM Driver,推荐安装 Virtual Box、Mac 用户也可以选择 hyperkit -4. 了解 Istio Traffic Management 相关概念,相关链接:[https://istio.io/zh/docs/tasks/traffic-management/](https://istio.io/zh/docs/tasks/traffic-management/) +4. 了解 Istio Traffic Management 相关概念 ## 部署 diff --git a/usecases/envoy-sidecar-routing-of-istio-service-mesh-deep-dive.md b/usecases/envoy-sidecar-routing-of-istio-service-mesh-deep-dive.md index 1446e4d39..f4e2c10db 100644 --- a/usecases/envoy-sidecar-routing-of-istio-service-mesh-deep-dive.md +++ b/usecases/envoy-sidecar-routing-of-istio-service-mesh-deep-dive.md @@ -2,7 +2,7 @@ **注意:本书中的 Service Mesh 章节已不再维护,请转到 [istio-handbook](https://www.servicemesher.com/istio-handbook) 中浏览。** -本文以 Istio 官方的 [bookinfo 示例](https://preliminary.istio.io/zh/docs/examples/bookinfo)来讲解在进入 Pod 的流量被 iptables 转交给 Envoy sidecar 后,Envoy 是如何做路由转发的,详述了 Inbound 和 Outbound 处理过程。关于流量拦截的详细分析请参考[理解 Istio Service Mesh 中 Envoy 代理 Sidecar 注入及流量劫持](https://jimmysong.io/posts/envoy-sidecar-injection-in-istio-service-mesh-deep-dive/)。 +本文以 Istio 官方的 bookinfo 示例来讲解在进入 Pod 的流量被 iptables 转交给 Envoy sidecar 后,Envoy 是如何做路由转发的,详述了 Inbound 和 Outbound 处理过程。关于流量拦截的详细分析请参考[理解 Istio Service Mesh 中 Envoy 代理 Sidecar 注入及流量劫持](https://jimmysong.io/posts/envoy-sidecar-injection-in-istio-service-mesh-deep-dive/)。 下面是 Istio 官方提供的 bookinfo 的请求流程图,假设 bookinfo 应用的所有服务中没有配置 DestinationRule。 diff --git a/usecases/istio-installation.md b/usecases/istio-installation.md index f7ed3ab71..1918eee71 100644 --- a/usecases/istio-installation.md +++ b/usecases/istio-installation.md @@ -1,8 +1,8 @@ # 安装并试用Istio service mesh -**注意:本文档已失效,请浏览 [Istio 官方文档](https://istio.io/zh)。本书中的 Service Mesh 章节已不再维护,请转到 [istio-handbook](https://www.servicemesher.com/istio-handbook) 中浏览。** +**注意:本文档已失效,请浏览 [Istio 官方文档](https://istio.io/)。本书中的 Service Mesh 章节已不再维护,请转到 [istio-handbook](https://www.servicemesher.com/istio-handbook) 中浏览。** -官方文档地址 [快速开始](https://istio.io/docs/setup/kubernetes/) +官方文档地址 [快速开始](https://istio.io/docs/setup/kubernetes/)。 本文根据官网的文档整理而成,步骤包括安装**istio 0.5.1**并创建一个bookinfo的微服务来测试istio的功能。 @@ -407,5 +407,5 @@ BookInfo示例中有三个版本的`reviews`,可以使用istio来配置路由 ## 参考 -- [安装 Istio](https://istio.io/zh/docs/setup/kubernetes/) +- [安装 Istio](https://istio.io/docs/setup/) - [BookInfo 应用](https://istio.io/zh/docs/examples/bookinfo/) diff --git a/usecases/istio.md b/usecases/istio.md index 9e3a96280..380cf5d81 100644 --- a/usecases/istio.md +++ b/usecases/istio.md @@ -1,6 +1,6 @@ # Istio简介 -**注意:Istio 1.10于2018年8月1日发布1.0,关于Istio的更多信息请见Istio官方文档:,中文版:,本书中的 Service Mesh 章节已不再维护,请转到 [istio-handbook](https://www.servicemesher.com/istio-handbook) 中浏览。** +**注意:Istio 1.10于2018年8月1日发布1.0,关于Istio的更多信息请见Istio官方文档:,本书中的 Service Mesh 章节已不再维护,请转到 [istio-handbook](https://www.servicemesher.com/istio-handbook) 中浏览。** [Istio](https://istio.io)是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。Istio为希腊语,意思是”起航“。 @@ -14,7 +14,7 @@ 目前版本的istio只支持kubernetes,未来计划支持其他其他环境。 -另外,Istio的前身是IBM开源的[Amalgam8](https://www.amalgam8.io),追本溯源,我们来看下它的特性。 +另外,Istio的前身是IBM开源的Amalgam8,追本溯源,我们来看下它的特性。 ### Amalgam8 @@ -69,4 +69,4 @@ Istio-Auth提供强大的服务间和最终用户认证,使用相互TLS,内 ## 参考 - [Istio:一个用于微服务间通信的服务网格开源项目](https://www.infoq.cn/article/2017/05/istio) -- [Istio 是什么?](https://istio.io/zh/docs/concepts/what-is-istio/) +- [Istio 是什么?](https://istio.io/docs/concepts/what-is-istio/)