diff --git a/cloud-native/from-kubernetes-to-cloud-native.md b/cloud-native/from-kubernetes-to-cloud-native.md index 2e6a301fc..691ba0ade 100644 --- a/cloud-native/from-kubernetes-to-cloud-native.md +++ b/cloud-native/from-kubernetes-to-cloud-native.md @@ -1,6 +1,6 @@ # 云原生应用之路——从 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 中分享的话题《从 Kubernetes 到云原生—— 云原生应用之路》改写而成。 本文简要介绍了容器技术发展的路径,为何 Kubernetes 的出现是容器技术发展到这一步的必然选择,而为何 Kubernetes 又将成为云原生应用的基石。 @@ -119,7 +119,7 @@ CNCF(云原生计算基金会)给出了云原生应用的三大特征: **迁移到云架构** -迁移到云端架构,相对单体架构来说会带来很多挑战。比如自动的持续集成与发布、服务监控的变革、服务暴露、权限的管控等。这些具体细节请参考 [Kubernetes Handbook](https://jimmysong.io/kubernetes-handbook) 中的说明,在此就不细节展开,另外推荐一本我翻译的由 Pivotal 出品的电子书——[《迁移到云原生应用架构》](https://tanzu.vmware.com/content/ebooks/migrating-to-cloud-native-application-architectures),推荐大家阅读。 +迁移到云端架构,相对单体架构来说会带来很多挑战。比如自动的持续集成与发布、服务监控的变革、服务暴露、权限的管控等。这些具体细节请参考 [Kubernetes Handbook](https://jimmysong.io/kubernetes-handbook) 中的说明,在此就不细节展开,另外推荐一本我翻译的由 Pivotal 出品的电子书——《迁移到云原生应用架构》,推荐大家阅读。 ## 服务网格 diff --git a/cloud-native/kubernetes-and-cloud-native-app-overview.md b/cloud-native/kubernetes-and-cloud-native-app-overview.md index d5862a5e1..f4209d6b9 100644 --- a/cloud-native/kubernetes-and-cloud-native-app-overview.md +++ b/cloud-native/kubernetes-and-cloud-native-app-overview.md @@ -385,15 +385,11 @@ Kubernetes 作为云原生计算的基本组件之一,自开源以来热度与 监控分类示意图: -![Grafana 界面示意图 1](../images/kubernetes-devops-example-grafana-1.png) - -Kubernetes 集群全局监控图 1 +![Kubernetes 集群全局监控图 1](../images/kubernetes-devops-example-grafana-1.png) 该监控图可以看到集群硬件使用情况。 -![Grafana 界面示意图 2](../images/kubernetes-devops-example-grafana-2.png) - -Kubernetes 全局监控图 2 +![Kubernetes 全局监控图 2](../images/kubernetes-devops-example-grafana-2.png) 该监控可以看到单个用户的 namespace 下的所有资源的使用情况。 diff --git a/concepts/topology-aware-routing.md b/concepts/topology-aware-routing.md index 46d1f413a..b5186ab5f 100644 --- a/concepts/topology-aware-routing.md +++ b/concepts/topology-aware-routing.md @@ -46,7 +46,7 @@ EndpointSlice 中的每个端点都可以包含一定的拓扑信息。 拓扑 ## 启用拓扑感知 -请参考[启用拓扑感知提示](https://kubernetes.io/zh/docs/tasks/administer-cluster/enabling-topology-aware-hints/)开启此功能。请启用 kube-apiserver、kube-controller-manager、和 kube-proxy 的[特性门控](https://kubernetes.io/zh/docs/reference/command-line-tools-reference/feature-gates/) `TopologyAwareHints`。通过把 Service 中的注解 `service.kubernetes.io/topology-aware-hints` 的值设置为 `auto`, 来激活服务的拓扑感知提示功能。 这告诉 EndpointSlice 控制器在它认为安全的时候来设置拓扑提示。kube-proxy 组件依据 EndpointSlice 控制器设置的提示,过滤由它负责路由的端点。 +请启用 kube-apiserver、kube-controller-manager、和 kube-proxy 的[特性门控](https://kubernetes.io/zh/docs/reference/command-line-tools-reference/feature-gates/) `TopologyAwareHints`。通过把 Service 中的注解 `service.kubernetes.io/topology-aware-hints` 的值设置为 `auto`, 来激活服务的拓扑感知提示功能。 这告诉 EndpointSlice 控制器在它认为安全的时候来设置拓扑提示。kube-proxy 组件依据 EndpointSlice 控制器设置的提示,过滤由它负责路由的端点。 由 EndpointSlice 控制器提供提示信息后 EndpointSlice 的示例如下: @@ -88,6 +88,5 @@ endpoints: - [使用拓扑键实现拓扑感知的流量路由 - kubernetes.io](https://kubernetes.io/zh/docs/concepts/services-networking/service-topology/) - [端点切片 - kubernetes.io](https://kubernetes.io/zh/docs/concepts/services-networking/endpoint-slices/) -- [启用拓扑感知提示 - kubernetes.io](https://kubernetes.io/zh/docs/tasks/administer-cluster/enabling-topology-aware-hints/) - [拓扑感知提示 - kubernetes.io](https://kubernetes.io/zh/docs/concepts/services-networking/topology-aware-hints/) diff --git a/concepts/volume.md b/concepts/volume.md index 1ad59034a..799446ed0 100644 --- a/concepts/volume.md +++ b/concepts/volume.md @@ -593,7 +593,7 @@ spec: ### vsphereVolume -**先决条件**:配置了 vSphere Cloud Provider 的 Kubernetes。有关云提供商的配置,请参阅 [vSphere 入门指南](https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/)。 +**先决条件**:配置了 vSphere Cloud Provider 的 Kubernetes。 `vsphereVolume` 用于将 vSphere VMDK 卷挂载到 Pod 中。卷的内容在卸载时会被保留。支持 VMFS 和 VSAN 数据存储。 diff --git a/practice/create-private-charts-repo.md b/practice/create-private-charts-repo.md index 29e32ec8e..04fe6ef3a 100644 --- a/practice/create-private-charts-repo.md +++ b/practice/create-private-charts-repo.md @@ -1,4 +1,4 @@ -# 构建私有Chart仓库 +# 构建私有 Chart 仓库 使用Chart便于封装和管理kubernetes中的应用,因此当企业内部的应用多了以后,互相依赖、部署环境复杂之后,原先的直接使用yaml文件的管理方式已经不再适应生产的需要,因此我们有必要构建自己的chart仓库。本文中我们将使用 GitHub Pages 来构建我们自己的 chart 仓库。 @@ -132,7 +132,6 @@ $ helm install monocular/monocular ## 参考 -- [Monocular UI](https://github.com/kubernetes-helm/monocular) -- [简化Kubernetes应用部署工具-Helm之应用部署](https://www.kubernetes.org.cn/2706.html) -- [Speed deployment on Kubernetes with Helm Chart – Quick YAML example from scratch](https://www.ibm.com/blogs/bluemix/2017/10/quick-example-helm-chart-for-kubernetes/) -- [Using a private github repo as helm chart repo (https access)](https://medium.com/@kavehmz/using-a-private-github-repo-as-helm-chart-repo-https-access-95629b2af27c) +- [Monocular UI - github.com](https://github.com/kubernetes-helm/monocular) +- [Speed deployment on Kubernetes with Helm Chart – Quick YAML example from scratch - ibm.com](https://www.ibm.com/blogs/bluemix/2017/10/quick-example-helm-chart-for-kubernetes/) +- [Using a private github repo as helm chart repo (https access) - medium.com](https://medium.com/@kavehmz/using-a-private-github-repo-as-helm-chart-repo-https-access-95629b2af27c) diff --git a/practice/federation.md b/practice/federation.md index 7f7661f53..188d2f6cf 100644 --- a/practice/federation.md +++ b/practice/federation.md @@ -298,5 +298,4 @@ spec: ## 参考 - [Kubernetes Federation v2 - github.com](https://github.com/kubernetes-sigs/kubefed) -- [Kubernetes Federation Evolution - kuberentes.io](https://kubernetes.io/blog/2018/12/12/kubernetes-federation-evolution/) -- [KubeFed: Kubernetes Federation v2 详解 - kuberentes.org.cn](https://www.kubernetes.org.cn/5702.html) \ No newline at end of file +- [Kubernetes Federation Evolution - kuberentes.io](https://kubernetes.io/blog/2018/12/12/kubernetes-federation-evolution/) \ No newline at end of file diff --git a/practice/storage-for-containers-using-glusterfs-with-openshift.md b/practice/storage-for-containers-using-glusterfs-with-openshift.md index c5d02aa2e..5b0ec384c 100644 --- a/practice/storage-for-containers-using-glusterfs-with-openshift.md +++ b/practice/storage-for-containers-using-glusterfs-with-openshift.md @@ -12,7 +12,7 @@ GlusterFS 是一个分布式文件系统,内置了原生协议(GlusterFS) ### 部署 OpenShift -首先你需要先部署 OpenShift。最有效率的方式是直接在虚拟机中部署一个 All-in-One 环境,部署指南见 [the “OpenShift Enterprise 3.4 all-in-one Lab Environment” article.](https://keithtenzer.com/2017/03/13/openshift-enterprise-3-4-all-in-one-lab-environment/)。 +首先你需要先部署 OpenShift。最有效率的方式是直接在虚拟机中部署一个 All-in-One 环境。 确保你的 OpenShift 虚拟机可以解析外部域名。编辑 `/etc/dnsmasq.conf` 文件,增加下面的 Google DNS: diff --git a/scripts/lint-gitbook.sh b/scripts/lint-gitbook.sh index 508997d46..de7f61b14 100755 --- a/scripts/lint-gitbook.sh +++ b/scripts/lint-gitbook.sh @@ -5,4 +5,4 @@ mdspell --version echo -ne "mdl " mdl --version htmlproofer --version -htmlproofer --url-ignore "/github.com/,/localhost/,/servicemesher.com/,/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/,/labs.play-with-k8s.com/,/cilium.readthedocs.io/,/azure.microsoft.com/,/storageos.com/,/openid.net/,/prometheus.io/,/coreos.com/,/openwhisk.incubator.apache.org/,/dockone.io/,/jianshu.com/,/cloudstax.io/,/spring.io/" _book +htmlproofer --url-ignore "/zsythink.net/,/helm.sh/,/github.com/,/tanzu.vmware.com/,/blog.cloudflare.com/,/localhost/,/servicemesher.com/,/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/,/labs.play-with-k8s.com/,/cilium.readthedocs.io/,/azure.microsoft.com/,/storageos.com/,/openid.net/,/prometheus.io/,/coreos.com/,/openwhisk.incubator.apache.org/,/dockone.io/,/jianshu.com/,/cloudstax.io/,/spring.io/" _book diff --git a/usecases/how-to-integrate-istio-with-vm.md b/usecases/how-to-integrate-istio-with-vm.md index e7cc02588..3561da406 100644 --- a/usecases/how-to-integrate-istio-with-vm.md +++ b/usecases/how-to-integrate-istio-with-vm.md @@ -51,7 +51,7 @@ Istio 社区和 [Tetrate](https://www.tetrate.io/) 在 Istio 对虚拟机的支 ## 未来方向 -从 [bookinfo](https://istio.io/latest/docs/examples/virtual-machines/bookinfo/) 的演示中可以看出,在这个过程中涉及到的人工工作太多,很容易出错。在未来,Istio 会改进虚拟机测试的可操作性,根据平台身份自动引导,改进 DNS 支持和 istioctl 调试等。大家可以关注 [Istio 环境工作组](https://github.com/istio/community/blob/master/WORKING-GROUPS.md),了解更多关于虚拟机支持的细节。 +从 Bookinfo 的演示中可以看出,在这个过程中涉及到的人工工作太多,很容易出错。在未来,Istio 会改进虚拟机测试的可操作性,根据平台身份自动引导,改进 DNS 支持和 istioctl 调试等。大家可以关注 [Istio 环境工作组](https://github.com/istio/community/blob/master/WORKING-GROUPS.md),了解更多关于虚拟机支持的细节。 ## 参考阅读