kubernetes-handbook/usecases/linkerd-user-guide.html

3909 lines
181 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML>
2017-09-19 22:01:07 +08:00
<html lang="zh-hans" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
2017-11-15 21:18:59 +08:00
<title>Linkerd 使用指南 · Kubernetes Handbook - jimmysong.io</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.2">
<meta name="author" content="Jimmy Song">
<link rel="stylesheet" href="../gitbook/style.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-page-toc-button/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-image-captions/image-captions.css">
2017-10-09 15:28:05 +08:00
<link rel="stylesheet" href="../gitbook/gitbook-plugin-back-to-top-button/plugin.css">
2017-10-09 15:28:05 +08:00
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search-plus/search.css">
2017-09-19 21:38:03 +08:00
2017-10-09 15:28:05 +08:00
<link rel="stylesheet" href="../gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
2018-02-20 18:00:08 +08:00
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism-ghcolors.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
2017-10-09 15:28:05 +08:00
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
2017-12-10 21:51:18 +08:00
<link rel="next" href="conduit.html" />
<link rel="prev" href="linkerd.html" />
2017-10-09 15:28:05 +08:00
<link rel="shortcut icon" href='../favicon.ico' type="image/x-icon">
<link rel="bookmark" href='../favicon.ico' type="image/x-icon">
<style>
@media only screen and (max-width: 640px) {
.book-header .hidden-mobile {
display: none;
}
}
</style>
<script>
window["gitbook-plugin-github-buttons"] = {"repo":"rootsongjc/kubernetes-handbook","types":["star"],"size":"small"};
</script>
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
2017-09-19 22:01:07 +08:00
<input type="text" placeholder="输入并搜索" />
</div>
<nav role="navigation">
<ul class="summary">
2017-10-09 15:28:05 +08:00
<li>
2017-11-15 21:18:59 +08:00
<a href="https://jimmysong.io" target="_blank" class="custom-link">Jimmy Song</a>
2017-10-09 15:28:05 +08:00
</li>
2017-10-09 15:28:05 +08:00
<li class="divider"></li>
2017-11-15 21:18:59 +08:00
<li class="header">前言</li>
<li class="chapter " data-level="1.1" data-path="../">
<a href="../">
2017-11-15 21:18:59 +08:00
<b>1.1.</b>
序言
</a>
2018-03-04 18:01:35 +08:00
</li>
<li class="chapter " data-level="1.2" data-path="../cloud-native/cncf.html">
<a href="../cloud-native/cncf.html">
<b>1.2.</b>
CNCF - 云原生计算基金会简介
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="header">云原生</li>
2018-01-21 20:30:36 +08:00
<li class="chapter " data-level="2.1" data-path="../cloud-native/play-with-kubernetes.html">
2018-01-21 20:30:36 +08:00
<a href="../cloud-native/play-with-kubernetes.html">
2017-12-20 17:27:16 +08:00
<b>2.1.</b>
2017-11-15 21:18:59 +08:00
2018-01-21 20:30:36 +08:00
Play with Kubernetes
</a>
</li>
<li class="chapter " data-level="2.2" data-path="../cloud-native/kubernetes-and-cloud-native-app-overview.html">
<a href="../cloud-native/kubernetes-and-cloud-native-app-overview.html">
<b>2.2.</b>
2017-11-15 21:18:59 +08:00
Kubernetes与云原生应用概览
</a>
2017-12-20 19:27:32 +08:00
</li>
2018-01-21 20:30:36 +08:00
<li class="chapter " data-level="2.3" data-path="../cloud-native/from-kubernetes-to-cloud-native.html">
2017-12-20 19:27:32 +08:00
<a href="../cloud-native/from-kubernetes-to-cloud-native.html">
2018-01-21 20:30:36 +08:00
<b>2.3.</b>
2017-12-20 19:27:32 +08:00
云原生应用之路——从Kubernetes到Cloud Native
</a>
</li>
2017-11-15 21:18:59 +08:00
<li class="header">概念与原理</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="3.1" data-path="../concepts/">
<a href="../concepts/">
2017-12-20 17:27:16 +08:00
<b>3.1.</b>
2017-11-15 21:18:59 +08:00
Kubernetes架构
</a>
2018-01-22 14:25:36 +08:00
<ul class="articles">
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="3.1.1" data-path="../concepts/concepts.html">
2018-01-22 14:25:36 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/concepts.html">
2018-01-22 14:25:36 +08:00
<b>3.1.1.</b>
2018-01-30 12:30:58 +08:00
设计理念
</a>
</li>
<li class="chapter " data-level="3.1.2" data-path="../concepts/etcd.html">
<a href="../concepts/etcd.html">
<b>3.1.2.</b>
2018-01-22 14:25:36 +08:00
Etcd解析
</a>
2018-01-22 15:48:09 +08:00
</li>
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="3.1.3" data-path="../concepts/open-interfaces.html">
2018-01-22 15:48:09 +08:00
<a href="../concepts/open-interfaces.html">
2018-01-30 12:30:58 +08:00
<b>3.1.3.</b>
2018-01-22 15:48:09 +08:00
开放接口
</a>
2018-01-22 18:55:50 +08:00
<ul class="articles">
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="3.1.3.1" data-path="../concepts/cri.html">
2018-01-22 18:55:50 +08:00
<a href="../concepts/cri.html">
2018-01-30 12:30:58 +08:00
<b>3.1.3.1.</b>
2018-01-22 18:55:50 +08:00
CRI - Container Runtime Interface容器运行时接口
</a>
2018-01-24 18:11:17 +08:00
</li>
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="3.1.3.2" data-path="../concepts/cni.html">
2018-01-24 18:11:17 +08:00
<a href="../concepts/cni.html">
2018-01-30 12:30:58 +08:00
<b>3.1.3.2.</b>
2018-01-24 18:11:17 +08:00
CNI - Container Network Interface容器网络接口
</a>
2018-01-25 17:06:10 +08:00
</li>
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="3.1.3.3" data-path="../concepts/csi.html">
2018-01-25 17:06:10 +08:00
<a href="../concepts/csi.html">
2018-01-30 12:30:58 +08:00
<b>3.1.3.3.</b>
2018-01-25 17:06:10 +08:00
CSI - Container Storage Interface容器存储接口
</a>
2018-01-22 18:55:50 +08:00
</li>
</ul>
2018-02-05 22:14:09 +08:00
</li>
2018-03-12 17:48:23 +08:00
</ul>
</li>
<li class="chapter " data-level="3.2" >
<span>
<b>3.2.</b>
Kubernetes中的网络
</span>
<ul class="articles">
<li class="chapter " data-level="3.2.1" data-path="../concepts/networking.html">
2018-02-05 22:14:09 +08:00
<a href="../concepts/networking.html">
2018-03-12 17:48:23 +08:00
<b>3.2.1.</b>
2018-02-05 22:14:09 +08:00
Kubernetes中的网络解析——以flannel为例
</a>
2018-01-22 14:25:36 +08:00
</li>
2018-03-12 17:48:23 +08:00
<li class="chapter " data-level="3.2.2" data-path="../concepts/calico.html">
2018-02-09 18:24:23 +08:00
<a href="../concepts/calico.html">
2018-03-12 17:48:23 +08:00
<b>3.2.2.</b>
2017-11-15 21:18:59 +08:00
2018-02-09 18:24:23 +08:00
Kubernetes中的网络解析——以calico为例
</a>
</li>
2018-03-12 17:48:23 +08:00
</ul>
</li>
<li class="chapter " data-level="3.3" data-path="../concepts/objects.html">
2018-02-09 18:24:23 +08:00
<a href="../concepts/objects.html">
2018-03-12 17:48:23 +08:00
<b>3.3.</b>
2018-02-09 18:24:23 +08:00
2018-01-30 12:30:58 +08:00
资源对象与基本概念解析
</a>
2018-03-12 17:48:23 +08:00
</li>
2018-03-12 17:48:23 +08:00
<li class="chapter " data-level="3.4" data-path="../concepts/pod-state-and-lifecycle.html">
2018-02-06 16:51:29 +08:00
<a href="../concepts/pod-state-and-lifecycle.html">
2018-03-12 17:48:23 +08:00
<b>3.4.</b>
2017-11-15 21:18:59 +08:00
2018-02-06 16:51:29 +08:00
Pod状态与生命周期管理
</a>
2018-03-12 17:48:23 +08:00
<ul class="articles">
2018-03-12 17:48:23 +08:00
<li class="chapter " data-level="3.4.1" data-path="../concepts/pod-overview.html">
<a href="../concepts/pod-overview.html">
2018-03-12 17:48:23 +08:00
<b>3.4.1.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Pod概览
</a>
2018-01-30 12:30:58 +08:00
</li>
2018-03-12 17:48:23 +08:00
<li class="chapter " data-level="3.4.2" data-path="../concepts/pod.html">
<a href="../concepts/pod.html">
2018-03-12 17:48:23 +08:00
<b>3.4.2.</b>
2017-11-15 21:18:59 +08:00
Pod解析
</a>
2017-08-31 23:28:33 +08:00
</li>
2018-03-12 17:48:23 +08:00
<li class="chapter " data-level="3.4.3" data-path="../concepts/init-containers.html">
2017-08-31 23:28:33 +08:00
<a href="../concepts/init-containers.html">
2018-03-12 17:48:23 +08:00
<b>3.4.3.</b>
2017-11-15 21:18:59 +08:00
Init容器
2017-08-31 23:28:33 +08:00
</a>
2017-09-03 15:58:39 +08:00
</li>
2018-03-17 22:22:27 +08:00
<li class="chapter " data-level="3.4.4" data-path="../concepts/pause-container.html">
2017-09-03 15:58:39 +08:00
2018-03-17 22:22:27 +08:00
<a href="../concepts/pause-container.html">
2017-09-03 15:58:39 +08:00
2018-03-12 17:48:23 +08:00
<b>3.4.4.</b>
2017-11-15 21:18:59 +08:00
2018-03-17 22:22:27 +08:00
Pause容器
</a>
</li>
<li class="chapter " data-level="3.4.5" data-path="../concepts/pod-security-policy.html">
<a href="../concepts/pod-security-policy.html">
<b>3.4.5.</b>
2017-11-15 21:18:59 +08:00
Pod安全策略
2017-09-03 15:58:39 +08:00
</a>
2017-09-17 15:39:26 +08:00
</li>
2018-03-17 22:22:27 +08:00
<li class="chapter " data-level="3.4.6" data-path="../concepts/pod-lifecycle.html">
2017-09-17 15:39:26 +08:00
<a href="../concepts/pod-lifecycle.html">
2018-03-17 22:22:27 +08:00
<b>3.4.6.</b>
2017-11-15 21:18:59 +08:00
Pod的生命周期
2017-09-17 15:39:26 +08:00
</a>
</li>
2018-03-17 22:22:27 +08:00
<li class="chapter " data-level="3.4.7" data-path="../concepts/pod-hook.html">
<a href="../concepts/pod-hook.html">
2018-03-17 22:22:27 +08:00
<b>3.4.7.</b>
Pod Hook
</a>
2017-12-11 10:47:19 +08:00
</li>
2018-03-17 22:22:27 +08:00
<li class="chapter " data-level="3.4.8" data-path="../concepts/pod-preset.html">
2017-12-11 10:47:19 +08:00
<a href="../concepts/pod-preset.html">
2018-03-17 22:22:27 +08:00
<b>3.4.8.</b>
2017-12-11 10:47:19 +08:00
Pod Preset
</a>
2018-01-30 12:30:58 +08:00
</li>
2018-03-17 22:22:27 +08:00
<li class="chapter " data-level="3.4.9" data-path="../concepts/pod-disruption-budget.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/pod-disruption-budget.html">
2018-03-17 22:22:27 +08:00
<b>3.4.9.</b>
2018-01-30 12:30:58 +08:00
Pod中断与PDBPod中断预算
</a>
2018-03-12 18:00:25 +08:00
</li>
2018-03-12 18:00:25 +08:00
</ul>
</li>
<li class="chapter " data-level="3.5" data-path="../concepts/cluster.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/cluster.html">
2018-03-12 18:00:25 +08:00
<b>3.5.</b>
2018-01-30 12:30:58 +08:00
2018-03-12 17:48:23 +08:00
集群资源管理
2018-01-30 12:30:58 +08:00
</a>
2018-03-12 18:00:25 +08:00
<ul class="articles">
2018-01-30 12:30:58 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.5.1" data-path="../concepts/node.html">
<a href="../concepts/node.html">
2018-03-12 18:00:25 +08:00
<b>3.5.1.</b>
2017-11-15 21:18:59 +08:00
Node
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.5.2" data-path="../concepts/namespace.html">
<a href="../concepts/namespace.html">
2018-03-12 18:00:25 +08:00
<b>3.5.2.</b>
2017-11-15 21:18:59 +08:00
Namespace
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.5.3" data-path="../concepts/label.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/label.html">
2018-03-12 18:00:25 +08:00
<b>3.5.3.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Label
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.5.4" data-path="../concepts/annotation.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/annotation.html">
2018-03-12 18:00:25 +08:00
<b>3.5.4.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Annotation
</a>
2018-01-25 15:01:14 +08:00
</li>
2018-01-08 17:26:29 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.5.5" data-path="../concepts/taint-and-toleration.html">
2018-01-08 17:26:29 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/taint-and-toleration.html">
2018-01-08 17:26:29 +08:00
2018-03-12 18:00:25 +08:00
<b>3.5.5.</b>
2018-01-08 17:26:29 +08:00
2018-01-30 12:30:58 +08:00
Taint和Toleration污点和容忍
2018-01-08 17:26:29 +08:00
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.5.6" data-path="../concepts/garbage-collection.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/garbage-collection.html">
2018-03-12 18:00:25 +08:00
<b>3.5.6.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
垃圾收集
</a>
2018-03-12 18:00:25 +08:00
</li>
2018-01-30 12:30:58 +08:00
2018-03-12 18:00:25 +08:00
</ul>
</li>
<li class="chapter " data-level="3.6" data-path="../concepts/controllers.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/controllers.html">
2018-03-12 18:00:25 +08:00
<b>3.6.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
控制器
</a>
2018-03-12 18:00:25 +08:00
<ul class="articles">
2018-03-12 17:48:23 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.1" data-path="../concepts/deployment.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/deployment.html">
2018-03-12 18:00:25 +08:00
<b>3.6.1.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Deployment
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.2" data-path="../concepts/statefulset.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/statefulset.html">
2018-03-12 18:00:25 +08:00
<b>3.6.2.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
StatefulSet
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.3" data-path="../concepts/daemonset.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/daemonset.html">
2018-03-12 18:00:25 +08:00
<b>3.6.3.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
DaemonSet
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.4" data-path="../concepts/replicaset.html">
<a href="../concepts/replicaset.html">
2018-03-12 18:00:25 +08:00
<b>3.6.4.</b>
2017-11-15 21:18:59 +08:00
ReplicationController和ReplicaSet
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.5" data-path="../concepts/job.html">
<a href="../concepts/job.html">
2018-03-12 18:00:25 +08:00
<b>3.6.5.</b>
2017-11-15 21:18:59 +08:00
Job
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.6" data-path="../concepts/cronjob.html">
<a href="../concepts/cronjob.html">
2018-03-12 18:00:25 +08:00
<b>3.6.6.</b>
2017-11-15 21:18:59 +08:00
CronJob
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.7" data-path="../concepts/horizontal-pod-autoscaling.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/horizontal-pod-autoscaling.html">
2018-03-12 18:00:25 +08:00
<b>3.6.7.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Horizontal Pod Autoscaling
</a>
2017-11-30 16:59:17 +08:00
<ul class="articles">
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.6.7.1" data-path="../concepts/custom-metrics-hpa.html">
2017-11-30 16:59:17 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/custom-metrics-hpa.html">
2017-11-30 16:59:17 +08:00
2018-03-12 18:00:25 +08:00
<b>3.6.7.1.</b>
2017-11-30 16:59:17 +08:00
2018-01-30 12:30:58 +08:00
自定义指标HPA
2017-11-30 16:59:17 +08:00
</a>
</li>
2018-03-12 18:00:25 +08:00
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="3.7" data-path="../concepts/service-discovery.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/service-discovery.html">
2018-03-12 18:00:25 +08:00
<b>3.7.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
服务发现
</a>
2018-03-12 18:00:25 +08:00
<ul class="articles">
2017-11-08 19:28:16 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.7.1" data-path="../concepts/service.html">
2017-11-08 19:28:16 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/service.html">
2017-11-08 19:28:16 +08:00
2018-03-12 18:00:25 +08:00
<b>3.7.1.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Service
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.7.2" data-path="../concepts/ingress.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/ingress.html">
2018-03-12 18:00:25 +08:00
<b>3.7.2.</b>
2018-01-30 12:30:58 +08:00
Ingress
</a>
<ul class="articles">
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.7.2.1" data-path="../concepts/traefik-ingress-controller.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/traefik-ingress-controller.html">
2018-03-12 18:00:25 +08:00
<b>3.7.2.1.</b>
2018-01-30 12:30:58 +08:00
Traefik Ingress Controller
2017-11-08 19:28:16 +08:00
</a>
</li>
2018-03-12 18:00:25 +08:00
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="3.8" data-path="../concepts/authentication-and-permission.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/authentication-and-permission.html">
2018-03-12 18:00:25 +08:00
<b>3.8.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
身份与权限控制
</a>
2018-03-12 18:00:25 +08:00
<ul class="articles">
2018-03-12 17:48:23 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.8.1" data-path="../concepts/serviceaccount.html">
2017-11-27 19:36:05 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/serviceaccount.html">
2017-11-27 19:36:05 +08:00
2018-03-12 18:00:25 +08:00
<b>3.8.1.</b>
2017-11-27 19:36:05 +08:00
2018-01-30 12:30:58 +08:00
ServiceAccount
2017-11-27 19:36:05 +08:00
</a>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.8.2" data-path="../concepts/rbac.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/rbac.html">
2018-03-12 18:00:25 +08:00
<b>3.8.2.</b>
2018-01-30 12:30:58 +08:00
RBAC——基于角色的访问控制
</a>
2017-11-27 19:36:05 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.8.3" data-path="../concepts/network-policy.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/network-policy.html">
2018-03-12 18:00:25 +08:00
<b>3.8.3.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
NetworkPolicy
</a>
2018-03-12 18:00:25 +08:00
</li>
</ul>
</li>
2018-01-30 12:30:58 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9" data-path="../concepts/storage.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/storage.html">
2017-09-03 15:58:39 +08:00
2018-03-12 18:00:25 +08:00
<b>3.9.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
存储
2017-09-03 15:58:39 +08:00
</a>
2018-03-12 18:00:25 +08:00
<ul class="articles">
2017-09-03 15:58:39 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9.1" data-path="../concepts/secret.html">
2017-09-03 15:58:39 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/secret.html">
2017-09-03 15:58:39 +08:00
2018-03-12 18:00:25 +08:00
<b>3.9.1.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
Secret
2017-09-03 15:58:39 +08:00
</a>
2017-11-09 16:48:38 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9.2" data-path="../concepts/configmap.html">
2017-11-09 16:48:38 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/configmap.html">
2017-11-09 16:48:38 +08:00
2018-03-12 18:00:25 +08:00
<b>3.9.2.</b>
2017-11-15 21:18:59 +08:00
2018-01-30 12:30:58 +08:00
ConfigMap
</a>
<ul class="articles">
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9.2.1" data-path="../concepts/configmap-hot-update.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/configmap-hot-update.html">
2018-03-12 18:00:25 +08:00
<b>3.9.2.1.</b>
2018-01-30 12:30:58 +08:00
ConfigMap的热更新
2017-11-09 16:48:38 +08:00
</a>
2017-11-27 19:36:05 +08:00
</li>
2018-01-30 12:30:58 +08:00
</ul>
2017-11-27 19:36:05 +08:00
2018-01-30 12:30:58 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9.3" data-path="../concepts/volume.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/volume.html">
2017-11-27 19:36:05 +08:00
2018-03-12 18:00:25 +08:00
<b>3.9.3.</b>
2017-11-27 19:36:05 +08:00
2018-01-30 12:30:58 +08:00
Volume
2017-11-27 19:36:05 +08:00
</a>
2017-11-28 11:57:57 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9.4" data-path="../concepts/persistent-volume.html">
2017-11-28 11:57:57 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/persistent-volume.html">
2017-11-28 11:57:57 +08:00
2018-03-12 18:00:25 +08:00
<b>3.9.4.</b>
2017-11-28 11:57:57 +08:00
2018-01-30 12:30:58 +08:00
Persistent Volume持久化卷
2017-11-28 11:57:57 +08:00
</a>
2018-01-30 18:01:34 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.9.5" data-path="../concepts/storageclass.html">
2018-01-30 18:01:34 +08:00
<a href="../concepts/storageclass.html">
2018-03-12 18:00:25 +08:00
<b>3.9.5.</b>
2018-01-30 18:01:34 +08:00
Storage Class
</a>
</li>
<li class="chapter " data-level="3.9.6" data-path="../concepts/local-persistent-storage.html">
<a href="../concepts/local-persistent-storage.html">
<b>3.9.6.</b>
本地持久化存储
</a>
2018-03-12 18:00:25 +08:00
</li>
2018-01-30 12:30:58 +08:00
2018-03-12 18:00:25 +08:00
</ul>
</li>
<li class="chapter " data-level="3.10" data-path="../concepts/extension.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/extension.html">
2017-12-14 19:41:46 +08:00
2018-03-12 18:00:25 +08:00
<b>3.10.</b>
2017-12-14 19:41:46 +08:00
2018-03-12 17:48:23 +08:00
集群扩展
2018-01-30 12:30:58 +08:00
</a>
2018-03-12 18:00:25 +08:00
<ul class="articles">
2018-01-30 12:30:58 +08:00
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.10.1" data-path="../concepts/custom-resource.html">
2018-01-30 12:30:58 +08:00
<a href="../concepts/custom-resource.html">
2018-03-12 18:00:25 +08:00
<b>3.10.1.</b>
2018-01-30 12:30:58 +08:00
使用自定义资源扩展API
2017-12-14 19:41:46 +08:00
</a>
2018-01-10 17:30:31 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.10.2" data-path="../concepts/aggregated-api-server.html">
2018-01-10 17:30:31 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/aggregated-api-server.html">
2018-01-10 17:30:31 +08:00
2018-03-12 18:00:25 +08:00
<b>3.10.2.</b>
2018-01-10 17:30:31 +08:00
2018-01-30 12:30:58 +08:00
Aggregated API Server
2018-01-10 17:30:31 +08:00
</a>
2018-01-19 17:02:44 +08:00
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.10.3" data-path="../concepts/apiservice.html">
2018-01-19 17:02:44 +08:00
2018-01-30 12:30:58 +08:00
<a href="../concepts/apiservice.html">
2018-01-19 17:02:44 +08:00
2018-03-12 18:00:25 +08:00
<b>3.10.3.</b>
2018-01-19 17:02:44 +08:00
2018-01-30 12:30:58 +08:00
APIService
2018-01-19 17:02:44 +08:00
</a>
</li>
</ul>
</li>
2018-03-12 18:00:25 +08:00
<li class="chapter " data-level="3.11" data-path="../concepts/scheduling.html">
2018-03-12 17:48:23 +08:00
<a href="../concepts/scheduling.html">
2018-03-12 18:00:25 +08:00
<b>3.11.</b>
2018-03-12 17:48:23 +08:00
资源调度
</a>
2018-01-30 12:30:58 +08:00
</li>
2017-11-15 21:18:59 +08:00
<li class="header">用户指南</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.1" data-path="../guide/">
<a href="../guide/">
2017-12-20 17:27:16 +08:00
<b>4.1.</b>
2017-11-15 21:18:59 +08:00
用户指南
</a>
2017-11-15 21:18:59 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.2" data-path="../guide/resource-configuration.html">
<a href="../guide/resource-configuration.html">
2017-12-20 17:27:16 +08:00
<b>4.2.</b>
2017-11-15 21:18:59 +08:00
资源对象配置
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.2.1" data-path="../guide/configure-liveness-readiness-probes.html">
<a href="../guide/configure-liveness-readiness-probes.html">
2017-12-20 17:27:16 +08:00
<b>4.2.1.</b>
2017-11-15 21:18:59 +08:00
配置Pod的liveness和readiness探针
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.2.2" data-path="../guide/configure-pod-service-account.html">
<a href="../guide/configure-pod-service-account.html">
2017-12-20 17:27:16 +08:00
<b>4.2.2.</b>
2017-11-15 21:18:59 +08:00
配置Pod的Service Account
</a>
2017-09-28 21:20:49 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.2.3" data-path="../guide/secret-configuration.html">
2017-09-28 21:20:49 +08:00
<a href="../guide/secret-configuration.html">
2017-12-20 17:27:16 +08:00
<b>4.2.3.</b>
2017-11-15 21:18:59 +08:00
Secret配置
2017-09-28 21:20:49 +08:00
</a>
2017-10-10 14:51:45 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.2.4" data-path="../guide/resource-quota-management.html">
2017-10-10 14:51:45 +08:00
<a href="../guide/resource-quota-management.html">
2017-12-20 17:27:16 +08:00
<b>4.2.4.</b>
2017-11-15 21:18:59 +08:00
管理namespace中的资源配额
2017-10-10 14:51:45 +08:00
</a>
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.3" data-path="../guide/command-usage.html">
<a href="../guide/command-usage.html">
2017-12-20 17:27:16 +08:00
<b>4.3.</b>
2017-11-15 21:18:59 +08:00
命令使用
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.3.1" data-path="../guide/docker-cli-to-kubectl.html">
2017-11-03 17:48:10 +08:00
<a href="../guide/docker-cli-to-kubectl.html">
2017-12-20 17:27:16 +08:00
<b>4.3.1.</b>
2017-11-15 21:18:59 +08:00
docker用户过度到kubectl命令行指南
2017-11-03 17:48:10 +08:00
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.3.2" data-path="../guide/using-kubectl.html">
<a href="../guide/using-kubectl.html">
2017-12-20 17:27:16 +08:00
<b>4.3.2.</b>
2017-11-15 21:18:59 +08:00
kubectl命令概览
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.3.3" data-path="../guide/kubectl-cheatsheet.html">
2017-11-03 17:48:10 +08:00
<a href="../guide/kubectl-cheatsheet.html">
2017-12-20 17:27:16 +08:00
<b>4.3.3.</b>
2017-11-15 21:18:59 +08:00
kubectl命令技巧大全
</a>
2017-11-23 13:06:23 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.3.4" data-path="../guide/using-etcdctl-to-access-kubernetes-data.html">
2017-11-23 13:06:23 +08:00
<a href="../guide/using-etcdctl-to-access-kubernetes-data.html">
2017-12-20 17:27:16 +08:00
<b>4.3.4.</b>
2017-11-23 13:06:23 +08:00
2017-12-25 18:15:30 +08:00
使用etcdctl访问kubernetes数据
2017-11-23 13:06:23 +08:00
</a>
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.4" data-path="../guide/cluster-security-management.html">
<a href="../guide/cluster-security-management.html">
2017-12-20 17:27:16 +08:00
<b>4.4.</b>
2017-11-15 21:18:59 +08:00
集群安全性管理
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.4.1" data-path="../guide/managing-tls-in-a-cluster.html">
<a href="../guide/managing-tls-in-a-cluster.html">
2017-12-20 17:27:16 +08:00
<b>4.4.1.</b>
2017-11-15 21:18:59 +08:00
管理集群中的TLS
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.4.2" data-path="../guide/kubelet-authentication-authorization.html">
<a href="../guide/kubelet-authentication-authorization.html">
2017-12-20 17:27:16 +08:00
<b>4.4.2.</b>
2017-11-15 21:18:59 +08:00
kubelet的认证授权
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.4.3" data-path="../guide/tls-bootstrapping.html">
<a href="../guide/tls-bootstrapping.html">
2017-12-20 17:27:16 +08:00
<b>4.4.3.</b>
2017-11-15 21:18:59 +08:00
TLS bootstrap
</a>
2017-08-31 14:23:44 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.4.4" data-path="../guide/kubectl-user-authentication-authorization.html">
2017-08-31 14:23:44 +08:00
<a href="../guide/kubectl-user-authentication-authorization.html">
2017-12-20 17:27:16 +08:00
<b>4.4.4.</b>
2017-11-15 21:18:59 +08:00
创建用户认证授权的kubeconfig文件
2017-08-31 14:23:44 +08:00
</a>
</li>
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="4.4.5" data-path="../guide/ip-masq-agent.html">
2017-09-07 14:13:59 +08:00
<a href="../guide/ip-masq-agent.html">
2018-01-30 12:30:58 +08:00
<b>4.4.5.</b>
2017-11-15 21:18:59 +08:00
IP伪装代理
2017-09-07 14:13:59 +08:00
</a>
</li>
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="4.4.6" data-path="../guide/auth-with-kubeconfig-or-token.html">
<a href="../guide/auth-with-kubeconfig-or-token.html">
2018-01-30 12:30:58 +08:00
<b>4.4.6.</b>
2017-11-15 21:18:59 +08:00
使用kubeconfig或token进行用户身份认证
</a>
</li>
2018-01-30 12:30:58 +08:00
<li class="chapter " data-level="4.4.7" data-path="../guide/authentication.html">
<a href="../guide/authentication.html">
2018-01-30 12:30:58 +08:00
<b>4.4.7.</b>
2017-11-15 21:18:59 +08:00
2018-01-20 16:56:42 +08:00
Kubernetes中的用户与身份认证授权
</a>
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5" data-path="../guide/access-kubernetes-cluster.html">
<a href="../guide/access-kubernetes-cluster.html">
2017-12-20 17:27:16 +08:00
<b>4.5.</b>
2017-11-15 21:18:59 +08:00
2017-11-21 20:10:10 +08:00
访问Kubernetes集群
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5.1" data-path="../guide/access-cluster.html">
<a href="../guide/access-cluster.html">
2017-12-20 17:27:16 +08:00
<b>4.5.1.</b>
2017-11-15 21:18:59 +08:00
访问集群
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5.2" data-path="../guide/authenticate-across-clusters-kubeconfig.html">
<a href="../guide/authenticate-across-clusters-kubeconfig.html">
2017-12-20 17:27:16 +08:00
<b>4.5.2.</b>
2017-11-15 21:18:59 +08:00
2017-11-21 20:10:10 +08:00
使用kubeconfig文件配置跨集群认证
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5.3" data-path="../guide/connecting-to-applications-port-forward.html">
<a href="../guide/connecting-to-applications-port-forward.html">
2017-12-20 17:27:16 +08:00
<b>4.5.3.</b>
2017-11-15 21:18:59 +08:00
通过端口转发访问集群中的应用程序
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5.4" data-path="../guide/service-access-application-cluster.html">
<a href="../guide/service-access-application-cluster.html">
2017-12-20 17:27:16 +08:00
<b>4.5.4.</b>
2017-11-15 21:18:59 +08:00
2017-11-21 20:10:10 +08:00
使用service访问群集中的应用程序
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5.5" data-path="../guide/accessing-kubernetes-pods-from-outside-of-the-cluster.html">
2017-11-21 20:10:10 +08:00
<a href="../guide/accessing-kubernetes-pods-from-outside-of-the-cluster.html">
2017-12-20 17:27:16 +08:00
<b>4.5.5.</b>
2017-11-21 20:10:10 +08:00
从外部访问Kubernetes中的Pod
</a>
2017-11-22 18:43:03 +08:00
</li>
2018-01-14 21:13:12 +08:00
<li class="chapter " data-level="4.5.6" data-path="../guide/cabin-mobile-dashboard-for-kubernetes.html">
2017-11-22 18:43:03 +08:00
2018-01-14 21:13:12 +08:00
<a href="../guide/cabin-mobile-dashboard-for-kubernetes.html">
2017-11-22 18:43:03 +08:00
2017-12-20 17:27:16 +08:00
<b>4.5.6.</b>
2017-11-22 18:43:03 +08:00
2018-01-14 21:13:12 +08:00
Cabin - Kubernetes手机客户端
2017-11-22 18:43:03 +08:00
</a>
2017-11-29 15:07:48 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.5.7" data-path="../guide/kubernetes-desktop-client.html">
2017-11-29 15:07:48 +08:00
<a href="../guide/kubernetes-desktop-client.html">
2017-12-20 17:27:16 +08:00
<b>4.5.7.</b>
2017-11-29 15:07:48 +08:00
Kubernetic - Kubernetes桌面客户端
</a>
</li>
<li class="chapter " data-level="4.5.8" data-path="../guide/kubernator-kubernetes-ui.html">
<a href="../guide/kubernator-kubernetes-ui.html">
<b>4.5.8.</b>
Kubernator - 更底层的Kubernetes UI
</a>
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.6" data-path="../guide/application-development-deployment-flow.html">
<a href="../guide/application-development-deployment-flow.html">
2017-12-20 17:27:16 +08:00
<b>4.6.</b>
2017-11-15 21:18:59 +08:00
2017-12-30 10:37:40 +08:00
在Kubernetes中开发部署应用
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.6.1" data-path="../guide/deploy-applications-in-kubernetes.html">
<a href="../guide/deploy-applications-in-kubernetes.html">
2017-12-20 17:27:16 +08:00
<b>4.6.1.</b>
2017-11-15 21:18:59 +08:00
适用于kubernetes的应用开发部署流程
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.6.2" data-path="../guide/migrating-hadoop-yarn-to-kubernetes.html">
<a href="../guide/migrating-hadoop-yarn-to-kubernetes.html">
2017-12-20 17:27:16 +08:00
<b>4.6.2.</b>
2017-11-15 21:18:59 +08:00
2017-12-30 10:37:40 +08:00
迁移传统应用到Kubernetes中——以Hadoop YARN为例
</a>
2017-10-23 13:40:58 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="4.6.3" data-path="../guide/using-statefulset.html">
2017-10-23 13:40:58 +08:00
<a href="../guide/using-statefulset.html">
2017-12-20 17:27:16 +08:00
<b>4.6.3.</b>
2017-11-15 21:18:59 +08:00
使用StatefulSet部署用状态应用
2017-10-23 13:40:58 +08:00
</a>
</li>
</ul>
</li>
2017-11-15 21:18:59 +08:00
<li class="header">最佳实践</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.1" data-path="../practice/">
<a href="../practice/">
2017-12-20 17:27:16 +08:00
<b>5.1.</b>
2017-11-15 21:18:59 +08:00
最佳实践概览
</a>
2017-11-15 21:18:59 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2" data-path="../practice/install-kubernetes-on-centos.html">
2017-12-19 17:59:00 +08:00
<a href="../practice/install-kubernetes-on-centos.html">
2017-12-20 17:27:16 +08:00
<b>5.2.</b>
2017-11-15 21:18:59 +08:00
2017-12-30 10:37:40 +08:00
在CentOS上部署Kubernetes集群
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.1" data-path="../practice/create-tls-and-secret-key.html">
<a href="../practice/create-tls-and-secret-key.html">
2017-12-20 17:27:16 +08:00
<b>5.2.1.</b>
2017-11-15 21:18:59 +08:00
创建TLS证书和秘钥
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.2" data-path="../practice/create-kubeconfig.html">
<a href="../practice/create-kubeconfig.html">
2017-12-20 17:27:16 +08:00
<b>5.2.2.</b>
2017-11-15 21:18:59 +08:00
创建kubeconfig文件
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.3" data-path="../practice/etcd-cluster-installation.html">
<a href="../practice/etcd-cluster-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.3.</b>
2017-11-15 21:18:59 +08:00
创建高可用etcd集群
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.4" data-path="../practice/kubectl-installation.html">
<a href="../practice/kubectl-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.4.</b>
2017-11-15 21:18:59 +08:00
安装kubectl命令行工具
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.5" data-path="../practice/master-installation.html">
<a href="../practice/master-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.5.</b>
2017-11-15 21:18:59 +08:00
部署master节点
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.6" data-path="../practice/flannel-installation.html">
2017-12-19 17:59:00 +08:00
<a href="../practice/flannel-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.6.</b>
2017-11-15 21:18:59 +08:00
2017-12-19 17:59:00 +08:00
安装flannel网络插件
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.7" data-path="../practice/node-installation.html">
2017-12-19 17:59:00 +08:00
<a href="../practice/node-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.7.</b>
2017-12-19 17:59:00 +08:00
2017-11-15 21:18:59 +08:00
部署node节点
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.8" data-path="../practice/kubedns-addon-installation.html">
<a href="../practice/kubedns-addon-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.8.</b>
2017-11-15 21:18:59 +08:00
安装kubedns插件
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.9" data-path="../practice/dashboard-addon-installation.html">
<a href="../practice/dashboard-addon-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.9.</b>
2017-11-15 21:18:59 +08:00
安装dashboard插件
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.10" data-path="../practice/heapster-addon-installation.html">
<a href="../practice/heapster-addon-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.10.</b>
2017-11-15 21:18:59 +08:00
安装heapster插件
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="5.2.11" data-path="../practice/efk-addon-installation.html">
<a href="../practice/efk-addon-installation.html">
2017-12-20 17:27:16 +08:00
<b>5.2.11.</b>
2017-11-15 21:18:59 +08:00
安装EFK插件
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.3" data-path="../practice/install-kubernetes-with-kubeadm.html">
<a href="../practice/install-kubernetes-with-kubeadm.html">
2017-12-20 17:27:16 +08:00
<b>5.3.</b>
2017-11-15 21:18:59 +08:00
使用kubeadm快速构建测试集群
</a>
<ul class="articles">
<li class="chapter " data-level="5.3.1" data-path="../practice/install-kubernetes-on-ubuntu-server-16.04-with-kubeadm.html">
<a href="../practice/install-kubernetes-on-ubuntu-server-16.04-with-kubeadm.html">
<b>5.3.1.</b>
使用kubeadm在Ubuntu Server 16.04上快速构建测试集群
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.4" data-path="../practice/service-discovery-and-loadbalancing.html">
<a href="../practice/service-discovery-and-loadbalancing.html">
<b>5.4.</b>
2017-11-15 21:18:59 +08:00
服务发现与负载均衡
</a>
<ul class="articles">
<li class="chapter " data-level="5.4.1" data-path="../practice/traefik-ingress-installation.html">
<a href="../practice/traefik-ingress-installation.html">
<b>5.4.1.</b>
2017-11-15 21:18:59 +08:00
安装Traefik ingress
</a>
</li>
<li class="chapter " data-level="5.4.2" data-path="../practice/distributed-load-test.html">
<a href="../practice/distributed-load-test.html">
<b>5.4.2.</b>
2017-11-15 21:18:59 +08:00
分布式负载测试
</a>
</li>
<li class="chapter " data-level="5.4.3" data-path="../practice/network-and-cluster-perfermance-test.html">
<a href="../practice/network-and-cluster-perfermance-test.html">
<b>5.4.3.</b>
2017-11-15 21:18:59 +08:00
网络和集群性能测试
</a>
</li>
<li class="chapter " data-level="5.4.4" data-path="../practice/edge-node-configuration.html">
<a href="../practice/edge-node-configuration.html">
<b>5.4.4.</b>
2017-11-15 21:18:59 +08:00
边缘节点配置
</a>
2017-10-27 19:09:01 +08:00
</li>
<li class="chapter " data-level="5.4.5" data-path="../practice/nginx-ingress-installation.html">
2017-10-27 19:09:01 +08:00
<a href="../practice/nginx-ingress-installation.html">
<b>5.4.5.</b>
2017-11-15 21:18:59 +08:00
安装Nginx ingress
2017-10-27 19:09:01 +08:00
</a>
</li>
2018-04-19 10:35:52 +08:00
<li class="chapter " data-level="5.4.6" data-path="../practice/dns-installation.html">
2018-04-19 10:35:52 +08:00
<a href="../practice/dns-installation.html">
<b>5.4.6.</b>
2018-04-19 10:35:52 +08:00
安装配置DNS
</a>
<ul class="articles">
<li class="chapter " data-level="5.4.6.1" data-path="../practice/configuring-dns.html">
<a href="../practice/configuring-dns.html">
<b>5.4.6.1.</b>
安装配置Kube-dns
</a>
</li>
<li class="chapter " data-level="5.4.6.2" data-path="../practice/coredns.html">
<a href="../practice/coredns.html">
<b>5.4.6.2.</b>
安装配置CoreDNS
</a>
</li>
</ul>
</li>
2018-04-19 10:35:52 +08:00
</ul>
</li>
<li class="chapter " data-level="5.5" data-path="../practice/operation.html">
<a href="../practice/operation.html">
<b>5.5.</b>
2017-11-15 21:18:59 +08:00
运维管理
</a>
<ul class="articles">
<li class="chapter " data-level="5.5.1" data-path="../practice/master-ha.html">
2018-03-20 10:59:44 +08:00
<a href="../practice/master-ha.html">
<b>5.5.1.</b>
2017-11-15 21:18:59 +08:00
2018-03-20 10:59:44 +08:00
Master节点高可用
</a>
</li>
<li class="chapter " data-level="5.5.2" data-path="../practice/service-rolling-update.html">
2018-03-20 10:59:44 +08:00
<a href="../practice/service-rolling-update.html">
<b>5.5.2.</b>
2018-03-20 10:59:44 +08:00
2017-11-15 21:18:59 +08:00
服务滚动升级
</a>
</li>
<li class="chapter " data-level="5.5.3" data-path="../practice/app-log-collection.html">
<a href="../practice/app-log-collection.html">
<b>5.5.3.</b>
2017-11-15 21:18:59 +08:00
应用日志收集
</a>
</li>
<li class="chapter " data-level="5.5.4" data-path="../practice/configuration-best-practice.html">
<a href="../practice/configuration-best-practice.html">
<b>5.5.4.</b>
2017-11-15 21:18:59 +08:00
配置最佳实践
</a>
</li>
<li class="chapter " data-level="5.5.5" data-path="../practice/monitor.html">
<a href="../practice/monitor.html">
<b>5.5.5.</b>
2017-11-15 21:18:59 +08:00
集群及应用监控
</a>
</li>
<li class="chapter " data-level="5.5.6" data-path="../practice/data-persistence-problem.html">
<a href="../practice/data-persistence-problem.html">
<b>5.5.6.</b>
2017-11-15 21:18:59 +08:00
数据持久化问题
</a>
2017-09-03 15:58:39 +08:00
</li>
<li class="chapter " data-level="5.5.7" data-path="../practice/manage-compute-resources-container.html">
2017-09-03 15:58:39 +08:00
<a href="../practice/manage-compute-resources-container.html">
<b>5.5.7.</b>
2017-11-15 21:18:59 +08:00
管理容器的计算资源
2017-09-03 15:58:39 +08:00
</a>
2018-02-24 11:49:48 +08:00
</li>
<li class="chapter " data-level="5.5.8" data-path="../practice/federation.html">
2018-02-24 11:49:48 +08:00
<a href="../practice/federation.html">
<b>5.5.8.</b>
2018-02-24 11:49:48 +08:00
集群联邦
</a>
</li>
2017-11-09 10:55:38 +08:00
</ul>
2017-11-09 10:55:38 +08:00
</li>
<li class="chapter " data-level="5.6" data-path="../practice/storage.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/storage.html">
<b>5.6.</b>
2017-11-15 21:18:59 +08:00
存储管理
2017-11-09 10:55:38 +08:00
</a>
<ul class="articles">
<li class="chapter " data-level="5.6.1" data-path="../practice/glusterfs.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/glusterfs.html">
<b>5.6.1.</b>
2017-11-15 21:18:59 +08:00
GlusterFS
2017-11-09 10:55:38 +08:00
</a>
<ul class="articles">
<li class="chapter " data-level="5.6.1.1" data-path="../practice/using-glusterfs-for-persistent-storage.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/using-glusterfs-for-persistent-storage.html">
<b>5.6.1.1.</b>
2017-11-15 21:18:59 +08:00
使用GlusterFS做持久化存储
</a>
</li>
<li class="chapter " data-level="5.6.1.2" data-path="../practice/using-heketi-gluster-for-persistent-storage.html">
<a href="../practice/using-heketi-gluster-for-persistent-storage.html">
<b>5.6.1.2.</b>
2017-11-15 21:18:59 +08:00
使用Heketi作为kubernetes的持久存储GlusterFS的external provisioner
</a>
</li>
<li class="chapter " data-level="5.6.1.3" data-path="../practice/storage-for-containers-using-glusterfs-with-openshift.html">
<a href="../practice/storage-for-containers-using-glusterfs-with-openshift.html">
<b>5.6.1.3.</b>
2017-11-15 21:18:59 +08:00
在OpenShift中使用GlusterFS做持久化存储
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.6.2" data-path="../practice/ceph.html">
<a href="../practice/ceph.html">
<b>5.6.2.</b>
2017-11-15 21:18:59 +08:00
Ceph
</a>
<ul class="articles">
2018-04-18 23:46:26 +08:00
<li class="chapter " data-level="5.6.2.1" data-path="../practice/ceph-helm-install-guide-zh.html">
2018-04-18 23:46:26 +08:00
<a href="../practice/ceph-helm-install-guide-zh.html">
<b>5.6.2.1.</b>
2017-11-15 21:18:59 +08:00
2018-04-18 23:46:26 +08:00
用Helm托管安装Ceph集群并提供后端存储
</a>
</li>
<li class="chapter " data-level="5.6.2.2" data-path="../practice/using-ceph-for-persistent-storage.html">
<a href="../practice/using-ceph-for-persistent-storage.html">
<b>5.6.2.2.</b>
2017-11-15 21:18:59 +08:00
使用Ceph做持久化存储
2017-11-09 10:55:38 +08:00
</a>
2018-01-05 16:34:39 +08:00
</li>
</ul>
</li>
<li class="chapter " data-level="5.6.3" data-path="../practice/openebs.html">
2018-01-05 16:34:39 +08:00
<a href="../practice/openebs.html">
<b>5.6.3.</b>
2018-01-05 16:34:39 +08:00
OpenEBS
</a>
<ul class="articles">
<li class="chapter " data-level="5.6.3.1" data-path="../practice/using-openebs-for-persistent-storage.html">
2018-01-05 16:34:39 +08:00
<a href="../practice/using-openebs-for-persistent-storage.html">
<b>5.6.3.1.</b>
2018-01-05 16:34:39 +08:00
使用OpenEBS做持久化存储
</a>
2017-11-09 10:55:38 +08:00
</li>
</ul>
2018-02-24 22:56:37 +08:00
</li>
<li class="chapter " data-level="5.6.4" data-path="../practice/rook.html">
2018-02-24 22:56:37 +08:00
<a href="../practice/rook.html">
<b>5.6.4.</b>
2018-02-24 22:56:37 +08:00
Rook
</a>
2018-04-13 23:45:08 +08:00
</li>
<li class="chapter " data-level="5.6.5" data-path="../practice/nfs.html">
2018-04-13 23:45:08 +08:00
<a href="../practice/nfs.html">
<b>5.6.5.</b>
2018-04-13 23:45:08 +08:00
NFS
</a>
<ul class="articles">
<li class="chapter " data-level="5.6.5.1" data-path="../practice/using-nfs-for-persistent-storage.html">
2018-04-13 23:45:08 +08:00
<a href="../practice/using-nfs-for-persistent-storage.html">
<b>5.6.5.1.</b>
2018-04-13 23:45:08 +08:00
利用NFS动态提供Kubernetes后端存储卷
</a>
</li>
</ul>
2017-11-09 10:55:38 +08:00
</li>
</ul>
</li>
<li class="chapter " data-level="5.7" data-path="../practice/monitoring.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/monitoring.html">
<b>5.7.</b>
2017-11-15 21:18:59 +08:00
集群与应用监控
</a>
<ul class="articles">
<li class="chapter " data-level="5.7.1" data-path="../practice/heapster.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/heapster.html">
<b>5.7.1.</b>
2017-11-15 21:18:59 +08:00
Heapster
</a>
2017-11-09 10:55:38 +08:00
<ul class="articles">
<li class="chapter " data-level="5.7.1.1" data-path="../practice/using-heapster-to-get-object-metrics.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/using-heapster-to-get-object-metrics.html">
<b>5.7.1.1.</b>
2017-11-15 21:18:59 +08:00
使用Heapster获取集群和对象的metric数据
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.7.2" data-path="../practice/prometheus.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/prometheus.html">
<b>5.7.2.</b>
2017-11-15 21:18:59 +08:00
Prometheus
</a>
<ul class="articles">
<li class="chapter " data-level="5.7.2.1" data-path="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
2017-11-09 10:55:38 +08:00
<a href="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
<b>5.7.2.1.</b>
2017-11-15 21:18:59 +08:00
使用Prometheus监控kubernetes集群
</a>
</li>
</ul>
</li>
</ul>
2017-10-19 15:31:08 +08:00
</li>
<li class="chapter " data-level="5.8" data-path="../practice/services-management-tool.html">
2017-10-19 15:31:08 +08:00
<a href="../practice/services-management-tool.html">
<b>5.8.</b>
2017-11-15 21:18:59 +08:00
服务编排管理
2017-10-19 15:31:08 +08:00
</a>
2017-10-20 16:22:43 +08:00
<ul class="articles">
<li class="chapter " data-level="5.8.1" data-path="../practice/helm.html">
2017-10-20 16:22:43 +08:00
<a href="../practice/helm.html">
<b>5.8.1.</b>
2017-11-15 21:18:59 +08:00
使用Helm管理kubernetes应用
2017-10-20 16:22:43 +08:00
</a>
2017-10-27 11:59:37 +08:00
</li>
<li class="chapter " data-level="5.8.2" data-path="../practice/create-private-charts-repo.html">
2017-10-27 11:59:37 +08:00
<a href="../practice/create-private-charts-repo.html">
<b>5.8.2.</b>
2017-11-15 21:18:59 +08:00
构建私有Chart仓库
2017-10-27 11:59:37 +08:00
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.9" data-path="../practice/ci-cd.html">
2017-10-27 11:59:37 +08:00
<a href="../practice/ci-cd.html">
<b>5.9.</b>
2017-11-15 21:18:59 +08:00
持续集成与发布
2017-10-27 11:59:37 +08:00
</a>
<ul class="articles">
<li class="chapter " data-level="5.9.1" data-path="../practice/jenkins-ci-cd.html">
2017-10-27 11:59:37 +08:00
<a href="../practice/jenkins-ci-cd.html">
<b>5.9.1.</b>
2017-11-15 21:18:59 +08:00
使用Jenkins进行持续集成与发布
2017-10-27 11:59:37 +08:00
</a>
</li>
<li class="chapter " data-level="5.9.2" data-path="../practice/drone-ci-cd.html">
2017-10-27 11:59:37 +08:00
<a href="../practice/drone-ci-cd.html">
<b>5.9.2.</b>
2017-11-15 21:18:59 +08:00
使用Drone进行持续集成与发布
2017-10-27 11:59:37 +08:00
</a>
2017-11-02 16:33:01 +08:00
</li>
</ul>
</li>
<li class="chapter " data-level="5.10" data-path="../practice/update-and-upgrade.html">
2017-11-02 16:33:01 +08:00
<a href="../practice/update-and-upgrade.html">
<b>5.10.</b>
2017-11-15 21:18:59 +08:00
更新与升级
2017-11-02 16:33:01 +08:00
</a>
<ul class="articles">
<li class="chapter " data-level="5.10.1" data-path="../practice/manually-upgrade.html">
2017-11-02 16:33:01 +08:00
<a href="../practice/manually-upgrade.html">
<b>5.10.1.</b>
2017-11-15 21:18:59 +08:00
2017-12-30 10:37:40 +08:00
手动升级Kubernetes集群
2017-11-02 16:33:01 +08:00
</a>
</li>
<li class="chapter " data-level="5.10.2" data-path="../practice/dashboard-upgrade.html">
2017-11-02 16:33:01 +08:00
<a href="../practice/dashboard-upgrade.html">
<b>5.10.2.</b>
2017-11-15 21:18:59 +08:00
升级dashboard
2017-11-02 16:33:01 +08:00
</a>
2017-10-20 16:22:43 +08:00
</li>
</ul>
</li>
2017-11-15 21:18:59 +08:00
<li class="header">领域应用</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.1" data-path="./">
<a href="./">
2017-12-20 17:27:16 +08:00
<b>6.1.</b>
2017-11-15 21:18:59 +08:00
领域应用概览
</a>
2017-11-15 21:18:59 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.2" data-path="microservices.html">
<a href="microservices.html">
2017-12-20 17:27:16 +08:00
<b>6.2.</b>
2017-11-15 21:18:59 +08:00
微服务架构
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.2.1" data-path="service-discovery-in-microservices.html">
2017-09-20 21:55:19 +08:00
<a href="service-discovery-in-microservices.html">
2017-12-20 17:27:16 +08:00
<b>6.2.1.</b>
2017-11-15 21:18:59 +08:00
微服务中的服务发现
2017-09-20 21:55:19 +08:00
</a>
2018-03-13 17:43:40 +08:00
</li>
<li class="chapter " data-level="6.2.2" data-path="microservices-for-java-developers.html">
<a href="microservices-for-java-developers.html">
<b>6.2.2.</b>
使用Java构建微服务并发布到Kubernetes平台
</a>
<ul class="articles">
<li class="chapter " data-level="6.2.2.1" data-path="spring-boot-quick-start-guide.html">
<a href="spring-boot-quick-start-guide.html">
<b>6.2.2.1.</b>
Spring Boot快速开始指南
</a>
</li>
</ul>
2017-09-20 21:55:19 +08:00
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3" data-path="service-mesh.html">
2017-09-20 21:55:19 +08:00
<a href="service-mesh.html">
2017-12-20 17:27:16 +08:00
<b>6.3.</b>
2017-11-15 21:18:59 +08:00
Service Mesh 服务网格
2017-09-20 21:55:19 +08:00
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.1" data-path="istio.html">
<a href="istio.html">
2017-12-20 17:27:16 +08:00
<b>6.3.1.</b>
2017-11-15 21:18:59 +08:00
Istio
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.1.1" data-path="istio-installation.html">
<a href="istio-installation.html">
2017-12-20 17:27:16 +08:00
<b>6.3.1.1.</b>
2017-11-15 21:18:59 +08:00
安装并试用Istio service mesh
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.1.2" data-path="configuring-request-routing.html">
<a href="configuring-request-routing.html">
2017-12-20 17:27:16 +08:00
<b>6.3.1.2.</b>
2017-11-15 21:18:59 +08:00
配置请求的路由规则
</a>
2017-11-07 23:57:26 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.1.3" data-path="install-and-expand-istio-mesh.html">
2017-11-07 23:57:26 +08:00
<a href="install-and-expand-istio-mesh.html">
2017-12-20 17:27:16 +08:00
<b>6.3.1.3.</b>
2017-11-15 21:18:59 +08:00
安装和拓展Istio service mesh
2017-11-07 23:57:26 +08:00
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.1.4" data-path="integrating-vms.html">
2017-11-07 23:57:26 +08:00
<a href="integrating-vms.html">
2017-12-20 17:27:16 +08:00
<b>6.3.1.4.</b>
2017-11-15 21:18:59 +08:00
集成虚拟机
2017-11-07 23:57:26 +08:00
</a>
</li>
<li class="chapter " data-level="6.3.1.5" data-path="sidecar-spec-in-istio.html">
<a href="sidecar-spec-in-istio.html">
<b>6.3.1.5.</b>
Istio中sidecar的注入规范及示例
</a>
2018-04-16 21:16:23 +08:00
</li>
<li class="chapter " data-level="6.3.1.6" data-path="istio-community-tips.html">
<a href="istio-community-tips.html">
<b>6.3.1.6.</b>
如何参与Istio社区及注意事项
</a>
2018-04-18 23:26:03 +08:00
</li>
<li class="chapter " data-level="6.3.1.7" data-path="istio-tutorial.html">
<a href="istio-tutorial.html">
<b>6.3.1.7.</b>
Istio 教程
</a>
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.2" data-path="linkerd.html">
<a href="linkerd.html">
2017-12-20 17:27:16 +08:00
<b>6.3.2.</b>
2017-11-15 21:18:59 +08:00
Linkerd
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter active" data-level="6.3.2.1" data-path="linkerd-user-guide.html">
<a href="linkerd-user-guide.html">
2017-12-20 17:27:16 +08:00
<b>6.3.2.1.</b>
2017-11-15 21:18:59 +08:00
Linkerd 使用指南
</a>
</li>
</ul>
2017-12-10 21:51:18 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.3" data-path="conduit.html">
2017-12-10 21:51:18 +08:00
<a href="conduit.html">
2017-12-20 17:27:16 +08:00
<b>6.3.3.</b>
2017-12-10 21:51:18 +08:00
Conduit
</a>
2017-12-11 14:21:24 +08:00
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.3.1" data-path="conduit-overview.html">
2017-12-11 14:21:24 +08:00
<a href="conduit-overview.html">
2017-12-20 17:27:16 +08:00
<b>6.3.3.1.</b>
2017-12-11 14:21:24 +08:00
Condiut概览
</a>
2017-12-12 23:30:36 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.3.3.2" data-path="conduit-installation.html">
2017-12-12 23:30:36 +08:00
<a href="conduit-installation.html">
2017-12-20 17:27:16 +08:00
<b>6.3.3.2.</b>
2017-12-12 23:30:36 +08:00
安装Conduit
</a>
2017-12-11 14:21:24 +08:00
</li>
</ul>
</li>
</ul>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.4" data-path="big-data.html">
<a href="big-data.html">
2017-12-20 17:27:16 +08:00
<b>6.4.</b>
2017-11-15 21:18:59 +08:00
大数据
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.4.1" data-path="spark-standalone-on-kubernetes.html">
2017-08-30 14:20:52 +08:00
<a href="spark-standalone-on-kubernetes.html">
2017-12-20 17:27:16 +08:00
<b>6.4.1.</b>
2017-11-15 21:18:59 +08:00
Spark standalone on Kubernetes
</a>
2017-08-31 14:23:44 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.4.2" data-path="running-spark-with-kubernetes-native-scheduler.html">
2017-08-31 14:23:44 +08:00
2017-09-14 15:57:50 +08:00
<a href="running-spark-with-kubernetes-native-scheduler.html">
2017-08-31 14:23:44 +08:00
2017-12-20 17:27:16 +08:00
<b>6.4.2.</b>
2017-11-15 21:18:59 +08:00
2017-12-30 10:37:40 +08:00
运行支持Kubernetes原生调度的Spark程序
2017-08-31 14:23:44 +08:00
</a>
</li>
</ul>
2017-08-30 16:52:33 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.5" data-path="serverless.html">
2017-08-30 16:52:33 +08:00
<a href="serverless.html">
2017-12-20 17:27:16 +08:00
<b>6.5.</b>
2017-11-15 21:18:59 +08:00
Serverless架构
2017-08-30 16:52:33 +08:00
</a>
2017-11-23 11:03:04 +08:00
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.5.1" data-path="understanding-serverless.html">
2017-11-23 11:03:04 +08:00
<a href="understanding-serverless.html">
2017-12-20 17:27:16 +08:00
<b>6.5.1.</b>
2017-11-23 11:03:04 +08:00
理解Serverless
</a>
2017-12-19 22:39:23 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.5.2" data-path="faas.html">
2017-12-19 22:39:23 +08:00
<a href="faas.html">
2017-12-20 17:27:16 +08:00
<b>6.5.2.</b>
2017-12-19 22:39:23 +08:00
FaaS-函数即服务
</a>
<ul class="articles">
2017-12-26 21:24:28 +08:00
<li class="chapter " data-level="6.5.2.1" data-path="openfaas-quick-start.html">
2017-12-19 22:39:23 +08:00
2017-12-26 21:24:28 +08:00
<a href="openfaas-quick-start.html">
2017-12-19 22:39:23 +08:00
2017-12-20 17:27:16 +08:00
<b>6.5.2.1.</b>
2017-12-19 22:39:23 +08:00
2017-12-26 21:24:28 +08:00
OpenFaaS快速入门指南
2017-12-19 22:39:23 +08:00
</a>
</li>
</ul>
2017-11-23 11:03:04 +08:00
</li>
</ul>
2017-10-27 19:09:01 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="6.6" data-path="edge-computing.html">
2017-10-27 19:09:01 +08:00
<a href="edge-computing.html">
2017-12-20 17:27:16 +08:00
<b>6.6.</b>
2017-11-15 21:18:59 +08:00
边缘计算
2017-10-27 19:09:01 +08:00
</a>
2018-04-16 21:16:23 +08:00
</li>
<li class="chapter " data-level="6.7" data-path="ai.html">
<a href="ai.html">
<b>6.7.</b>
人工智能
</a>
</li>
2017-11-15 21:18:59 +08:00
<li class="header">开发指南</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="7.1" data-path="../develop/">
<a href="../develop/">
2017-12-20 17:27:16 +08:00
<b>7.1.</b>
2017-11-15 21:18:59 +08:00
开发指南概览
</a>
2017-11-15 21:18:59 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="7.2" data-path="../develop/sigs-and-working-group.html">
2017-12-03 13:13:09 +08:00
<a href="../develop/sigs-and-working-group.html">
2017-12-20 17:27:16 +08:00
<b>7.2.</b>
2017-11-15 21:18:59 +08:00
2017-12-03 13:13:09 +08:00
SIG和工作组
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="7.3" data-path="../develop/developing-environment.html">
2017-12-03 13:13:09 +08:00
<a href="../develop/developing-environment.html">
2017-12-20 17:27:16 +08:00
<b>7.3.</b>
2017-12-03 13:13:09 +08:00
2017-11-15 21:18:59 +08:00
开发环境搭建
</a>
</li>
<li class="chapter " data-level="7.4" data-path="../develop/using-vagrant-and-virtualbox-for-development.html">
<a href="../develop/using-vagrant-and-virtualbox-for-development.html">
2017-12-20 17:27:16 +08:00
<b>7.4.</b>
2017-11-15 21:18:59 +08:00
本地分布式开发环境搭建使用Vagrant和Virtualbox
</a>
</li>
<li class="chapter " data-level="7.5" data-path="../develop/testing.html">
<a href="../develop/testing.html">
<b>7.5.</b>
2017-11-15 21:18:59 +08:00
单元测试和集成测试
</a>
</li>
<li class="chapter " data-level="7.6" data-path="../develop/client-go-sample.html">
<a href="../develop/client-go-sample.html">
<b>7.6.</b>
2017-11-15 21:18:59 +08:00
client-go示例
</a>
</li>
<li class="chapter " data-level="7.7" data-path="../develop/operator.html">
2018-01-09 19:14:30 +08:00
<a href="../develop/operator.html">
<b>7.7.</b>
2017-11-15 21:18:59 +08:00
2018-01-09 19:14:30 +08:00
Operator
</a>
</li>
2018-02-11 10:00:15 +08:00
<li class="chapter " data-level="7.8" data-path="../develop/advance-developer.html">
2018-01-09 19:14:30 +08:00
2018-02-11 10:00:15 +08:00
<a href="../develop/advance-developer.html">
2018-01-09 19:14:30 +08:00
<b>7.8.</b>
2018-01-09 19:14:30 +08:00
2018-02-11 10:00:15 +08:00
高级开发指南
</a>
</li>
<li class="chapter " data-level="7.9" data-path="../develop/contribute.html">
<a href="../develop/contribute.html">
<b>7.9.</b>
2017-11-15 21:18:59 +08:00
社区贡献
</a>
2017-10-23 19:09:41 +08:00
</li>
2018-02-11 10:00:15 +08:00
<li class="chapter " data-level="7.10" data-path="../develop/minikube.html">
2017-10-23 19:09:41 +08:00
<a href="../develop/minikube.html">
2018-02-11 10:00:15 +08:00
<b>7.10.</b>
2017-11-15 21:18:59 +08:00
Minikube
2017-10-23 19:09:41 +08:00
</a>
</li>
2017-11-15 21:18:59 +08:00
<li class="header">附录</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.1" data-path="../appendix/">
<a href="../appendix/">
2017-12-20 17:27:16 +08:00
<b>8.1.</b>
2017-11-15 21:18:59 +08:00
附录说明
</a>
2017-11-15 21:18:59 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.2" data-path="../appendix/debug-kubernetes-services.html">
2017-11-15 21:18:59 +08:00
<a href="../appendix/debug-kubernetes-services.html">
2017-12-20 17:27:16 +08:00
<b>8.2.</b>
2017-11-15 21:18:59 +08:00
Kubernetes中的应用故障排查
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.3" data-path="../appendix/material-share.html">
2017-11-15 21:18:59 +08:00
<a href="../appendix/material-share.html">
2017-12-20 17:27:16 +08:00
<b>8.3.</b>
2017-11-15 21:18:59 +08:00
Kubernetes相关资讯和情报链接
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.4" data-path="../appendix/docker-best-practice.html">
2017-11-15 21:18:59 +08:00
<a href="../appendix/docker-best-practice.html">
2017-12-20 17:27:16 +08:00
<b>8.4.</b>
2017-11-15 21:18:59 +08:00
Docker最佳实践
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.5" data-path="../appendix/tricks.html">
2017-11-15 21:18:59 +08:00
<a href="../appendix/tricks.html">
2017-12-20 17:27:16 +08:00
<b>8.5.</b>
2017-11-15 21:18:59 +08:00
使用技巧
</a>
2017-10-18 14:16:55 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.6" data-path="../appendix/issues.html">
2017-10-18 14:16:55 +08:00
2017-11-15 21:18:59 +08:00
<a href="../appendix/issues.html">
2017-10-18 14:16:55 +08:00
2017-12-20 17:27:16 +08:00
<b>8.6.</b>
2017-11-15 21:18:59 +08:00
问题记录
2017-10-18 14:16:55 +08:00
</a>
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.7" data-path="../appendix/kubernetes-changelog.html">
2017-12-11 18:32:18 +08:00
<a href="../appendix/kubernetes-changelog.html">
2017-12-20 17:27:16 +08:00
<b>8.7.</b>
2017-12-11 18:32:18 +08:00
2017-12-30 10:37:40 +08:00
Kubernetes版本更新日志
2017-12-11 18:32:18 +08:00
</a>
<ul class="articles">
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.7.1" data-path="../appendix/kubernetes-1.7-changelog.html">
2017-12-11 18:32:18 +08:00
<a href="../appendix/kubernetes-1.7-changelog.html">
2017-12-20 17:27:16 +08:00
<b>8.7.1.</b>
2017-12-11 18:32:18 +08:00
Kubernetes1.7更新日志
</a>
2017-12-12 13:52:55 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.7.2" data-path="../appendix/kubernetes-1.8-changelog.html">
2017-12-12 13:52:55 +08:00
<a href="../appendix/kubernetes-1.8-changelog.html">
2017-12-20 17:27:16 +08:00
<b>8.7.2.</b>
2017-12-12 13:52:55 +08:00
Kubernetes1.8更新日志
</a>
2017-12-16 10:50:25 +08:00
</li>
2017-12-20 17:27:16 +08:00
<li class="chapter " data-level="8.7.3" data-path="../appendix/kubernetes-1.9-changelog.html">
2017-12-16 10:50:25 +08:00
<a href="../appendix/kubernetes-1.9-changelog.html">
2017-12-20 17:27:16 +08:00
<b>8.7.3.</b>
2017-12-16 10:50:25 +08:00
Kubernetes1.9更新日志
</a>
2018-03-27 10:29:19 +08:00
</li>
<li class="chapter " data-level="8.7.4" data-path="../appendix/kubernetes-1.10-changelog.html">
<a href="../appendix/kubernetes-1.10-changelog.html">
<b>8.7.4.</b>
Kubernetes1.10更新日志
</a>
2017-12-11 18:32:18 +08:00
</li>
</ul>
</li>
<li class="chapter " data-level="8.8" data-path="../appendix/summary-and-outlook.html">
<a href="../appendix/summary-and-outlook.html">
<b>8.8.</b>
Kubernetes及云原生年度总结及展望
</a>
<ul class="articles">
<li class="chapter " data-level="8.8.1" data-path="../appendix/kubernetes-and-cloud-native-summary-in-2017-and-outlook-for-2018.html">
<a href="../appendix/kubernetes-and-cloud-native-summary-in-2017-and-outlook-for-2018.html">
<b>8.8.1.</b>
Kubernetes与云原生2017年年终总结及2018年展望
</a>
</li>
</ul>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
2017-09-19 22:01:07 +08:00
本书使用 GitBook 发布
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
2017-11-15 21:18:59 +08:00
<a href=".." >Linkerd 使用指南</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div class="search-plus" id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="linkerd-&#x4F7F;&#x7528;&#x6307;&#x5357;">Linkerd &#x4F7F;&#x7528;&#x6307;&#x5357;</h1>
2018-04-17 19:15:36 +08:00
<p>&#x672C;&#x6587;&#x662F; Linkerd &#x4F7F;&#x7528;&#x6307;&#x5357;&#xFF0C;&#x6211;&#x4EEC;&#x7740;&#x91CD;&#x8BB2;&#x89E3;&#x5728; kubernetes &#x4E2D;&#x5982;&#x4F55;&#x4F7F;&#x7528; linkerd &#x4F5C;&#x4E3A; kubernetes &#x7684; Ingress controller&#x3002;</p>
<h2 id="&#x524D;&#x8A00;">&#x524D;&#x8A00;</h2>
<p>Linkerd &#x4F5C;&#x4E3A;&#x4E00;&#x6B3E; service mesh &#x4E0E;kubernetes &#x7ED3;&#x5408;&#x540E;&#x4E3B;&#x8981;&#x6709;&#x4EE5;&#x4E0B;&#x51E0;&#x79CD;&#x7528;&#x6CD5;&#xFF1A;</p>
<ol>
<li>&#x4F5C;&#x4E3A;&#x670D;&#x52A1;&#x7F51;&#x5173;&#xFF0C;&#x53EF;&#x4EE5;&#x76D1;&#x63A7; kubernetes &#x4E2D;&#x7684;&#x670D;&#x52A1;&#x548C;&#x5B9E;&#x4F8B;</li>
<li>&#x4F7F;&#x7528; TLS &#x52A0;&#x5BC6;&#x670D;&#x52A1;</li>
<li>&#x901A;&#x8FC7;&#x6D41;&#x91CF;&#x8F6C;&#x79FB;&#x5230;&#x6301;&#x7EED;&#x4EA4;&#x4ED8;</li>
<li>&#x5F00;&#x53D1;&#x6D4B;&#x8BD5;&#x73AF;&#x5883;&#xFF08;Eat your own dog food&#xFF09;&#x3001;Ingress &#x548C;&#x8FB9;&#x7F18;&#x8DEF;&#x7531;</li>
<li>&#x7ED9;&#x5FAE;&#x670D;&#x52A1;&#x505A; staging</li>
<li>&#x5206;&#x5E03;&#x5F0F; tracing</li>
<li>&#x4F5C;&#x4E3A; Ingress controller</li>
<li>&#x4F7F;&#x7528; gRPC &#x66F4;&#x65B9;&#x4FBF;</li>
</ol>
<p>&#x4EE5;&#x4E0B;&#x6211;&#x4EEC;&#x7740;&#x91CD;&#x8BB2;&#x89E3;&#x5728; kubernetes &#x4E2D;&#x5982;&#x4F55;&#x4F7F;&#x7528; linkerd &#x4F5C;&#x4E3A; kubernetes &#x7684; Ingress controller&#xFF0C;&#x5E76;&#x4F5C;&#x4E3A;&#x8FB9;&#x7F18;&#x8282;&#x70B9;&#x4EE3;&#x66FF; <a href="https://traefik.io" target="_blank">Traefik</a> &#x7684;&#x529F;&#x80FD;&#xFF0C;&#x8BE6;&#x89C1; <a href="../practice/edge-node-configuration.html">&#x8FB9;&#x7F18;&#x8282;&#x70B9;&#x7684;&#x914D;&#x7F6E;</a>&#x3002;</p>
<h2 id="&#x51C6;&#x5907;">&#x51C6;&#x5907;</h2>
<p>&#x5B89;&#x88C5;&#x6D4B;&#x8BD5;&#x65F6;&#x9700;&#x8981;&#x7528;&#x5230;&#x7684;&#x955C;&#x50CF;&#x6709;&#xFF1A;</p>
2018-04-17 19:15:36 +08:00
<pre class="language-"><code class="lang-ini">buoyantio/helloworld:0.1.4
buoyantio/jenkins-plus:2.60.1
buoyantio/kubectl:v1.4.0
buoyantio/linkerd:1.1.2
buoyantio/namerd:1.1.2
buoyantio/nginx:1.10.2
linkerd/namerctl:0.8.6
openzipkin/zipkin:1.20
tutum/dnsutils:latest
2018-04-17 19:15:36 +08:00
</code></pre>
<p>&#x8FD9;&#x4E9B;&#x955C;&#x50CF;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x901A;&#x8FC7; Docker Hub &#x83B7;&#x53D6;&#xFF0C;&#x6211;&#x5C06;&#x5B83;&#x4EEC;&#x4E0B;&#x8F7D;&#x4E0B;&#x6765;&#x5E76;&#x4E0A;&#x4F20;&#x5230;&#x4E86;&#x81EA;&#x5DF1;&#x7684;&#x79C1;&#x6709;&#x955C;&#x50CF;&#x4ED3;&#x5E93; <code>sz-pg-oam-docker-hub-001.tendcloud.com</code> &#x4E2D;&#xFF0C;&#x4E0B;&#x6587;&#x4E2D;&#x7528;&#x5230;&#x7684;&#x955C;&#x50CF;&#x7686;&#x6765;&#x81EA;&#x6211;&#x7684;&#x79C1;&#x6709;&#x955C;&#x50CF;&#x4ED3;&#x5E93;&#xFF0C;yaml &#x914D;&#x7F6E;&#x89C1; <a href="../manifests/linkerd">linkerd</a> &#x76EE;&#x5F55;&#xFF0C;&#x5E76;&#x5728;&#x4F7F;&#x7528;&#x65F6;&#x5C06;&#x914D;&#x7F6E;&#x4E2D;&#x7684;&#x955C;&#x50CF;&#x5730;&#x5740;&#x4FEE;&#x6539;&#x4E3A;&#x4F60;&#x81EA;&#x5DF1;&#x7684;&#x3002;</p>
<h2 id="&#x90E8;&#x7F72;">&#x90E8;&#x7F72;</h2>
<p>&#x9996;&#x5148;&#x9700;&#x8981;&#x5148;&#x521B;&#x5EFA; RBAC&#xFF0C;&#x56E0;&#x4E3A;&#x4F7F;&#x7528; namerd &#x548C; ingress &#x65F6;&#x9700;&#x8981;&#x7528;&#x5230;&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ kubectl create -f linkerd-rbac-beta.yml
</code></pre>
<p>Linkerd &#x63D0;&#x4F9B;&#x4E86; Jenkins &#x793A;&#x4F8B;&#xFF0C;&#x5728;&#x90E8;&#x7F72;&#x7684;&#x65F6;&#x5019;&#x4F7F;&#x7528;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#xFF1A;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ kubectl create -f jenkins-rbac-beta.yml
$ kubectl create -f jenkins.yml
</code></pre>
<p>&#x8BBF;&#x95EE; <a href="http://jenkins.jimmysong.io" target="_blank">http://jenkins.jimmysong.io</a></p>
2017-12-20 17:27:16 +08:00
<figure id="fig6.3.2.1.1"><img src="../images/linkerd-jenkins-pipeline.jpg" alt="Jenkins pipeline"><figcaption>&#x56FE;&#x7247; - Jenkins pipeline</figcaption></figure>
<figure id="fig6.3.2.1.2"><img src="../images/linkerd-jenkins.jpg" alt="Jenkins config"><figcaption>&#x56FE;&#x7247; - Jenkins config</figcaption></figure>
<p><strong>&#x6CE8;&#x610F;</strong>&#xFF1A;&#x8981;&#x8BBF;&#x95EE; Jenkins &#x9700;&#x8981;&#x5728; Ingress &#x4E2D;&#x589E;&#x52A0;&#x914D;&#x7F6E;&#xFF0C;&#x4E0B;&#x6587;&#x4F1A;&#x63D0;&#x5230;&#x3002;</p>
<p>&#x5728; kubernetes &#x4E2D;&#x4F7F;&#x7528; Jenkins &#x7684;&#x65F6;&#x5019;&#x9700;&#x8981;&#x6CE8;&#x610F; Pipeline &#x4E2D;&#x7684;&#x914D;&#x7F6E;&#xFF1A;</p>
2018-04-17 19:15:36 +08:00
<pre class="language-"><code class="lang-python"> <span class="token keyword">def</span> currentVersion <span class="token operator">=</span> getCurrentVersion<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token keyword">def</span> newVersion <span class="token operator">=</span> getNextVersion<span class="token punctuation">(</span>currentVersion<span class="token punctuation">)</span>
<span class="token keyword">def</span> frontendIp <span class="token operator">=</span> kubectl<span class="token punctuation">(</span><span class="token string">&quot;get svc l5d -o jsonpath=\&quot;{.status.loadBalancer.ingress[0].*}\&quot;&quot;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>trim<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token keyword">def</span> originalDst <span class="token operator">=</span> getDst<span class="token punctuation">(</span>getDtab<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</code></pre>
<p><code>frontendIP</code> &#x7684;&#x5730;&#x5740;&#x8981;&#x914D;&#x7F6E;&#x6210; service &#x7684; Cluster IP &#xFF0C;&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x6CA1;&#x6709;&#x7528;&#x5230;LoadBalancer&#x3002;</p>
<p>&#x9700;&#x8981;&#x5B89;&#x88C5; namerd&#xFF0C;namerd &#x8D1F;&#x8D23; dtab &#x4FE1;&#x606F;&#x7684;&#x5B58;&#x50A8;&#xFF0C;&#x5F53;&#x7136;&#x4E5F;&#x53EF;&#x4EE5;&#x5B58;&#x50A8;&#x5728; etcd&#x3001;consul&#x4E2D;&#x3002;dtab &#x4FDD;&#x5B58;&#x7684;&#x662F;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x4FE1;&#x606F;&#xFF0C;&#x652F;&#x6301;&#x9012;&#x5F52;&#x89E3;&#x6790;&#xFF0C;&#x8BE6;&#x89C1; <a href="https://linkerd.io/in-depth/dtabs/" target="_blank">dtab</a>&#x3002;</p>
<p>&#x6D41;&#x91CF;&#x5207;&#x6362;&#x4E3B;&#x8981;&#x662F;&#x901A;&#x8FC7; <a href="https://linkerd.io/in-depth/dtabs/" target="_blank">dtab</a> &#x6765;&#x5B9E;&#x73B0;&#x7684;&#xFF0C;&#x901A;&#x8FC7;&#x5728; HTTP &#x8BF7;&#x6C42;&#x7684; header &#x4E2D;&#x589E;&#x52A0; <code>l5d-dtab</code> &#x548C; <code>Host</code> &#x4FE1;&#x606F;&#x53EF;&#x4EE5;&#x5BF9;&#x6D41;&#x91CF;&#x5206;&#x79BB;&#x5230; kubernetes &#x4E2D;&#x7684;&#x4E0D;&#x540C; service &#x4E0A;&#x3002;</p>
<p><strong>&#x9047;&#x5230;&#x7684;&#x95EE;&#x9898;</strong></p>
<p>Failed with the following error(s)
Error signal dtab is already marked as being deployed!</p>
<p>&#x56E0;&#x4E3A;&#x8BE5; dtab entry &#x5DF2;&#x7ECF;&#x5B58;&#x5728;&#xFF0C;&#x9700;&#x8981;&#x5220;&#x9664;&#x540E;&#x518D;&#x8FD0;&#x884C;&#x3002;</p>
<p>&#x8BBF;&#x95EE; <a href="http://namerd.jimmysong.io" target="_blank">http://namerd.jimmysong.io</a></p>
2017-12-20 17:27:16 +08:00
<figure id="fig6.3.2.1.3"><img src="../images/namerd-internal.jpg" alt="namerd"><figcaption>&#x56FE;&#x7247; - namerd</figcaption></figure>
<p>dtab &#x4FDD;&#x5B58;&#x5728; namerd &#x4E2D;&#xFF0C;&#x8BE5;&#x9875;&#x9762;&#x4E2D;&#x7684;&#x66F4;&#x6539;&#x4E0D;&#x4F1A;&#x751F;&#x6548;&#xFF0C;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x547D;&#x4EE4;&#x884C;&#x6765;&#x64CD;&#x4F5C;&#x3002;</p>
<p>&#x4F7F;&#x7528; <a href="https://github.com/linkerd/namerctl" target="_blank">namerctl</a> &#x6765;&#x64CD;&#x4F5C;&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ namerctl --base-url http://namerd-backend.jimmysong.io dtab update internal <span class="token function">file</span>
</code></pre>
<p><strong>&#x6CE8;&#x610F;</strong>&#xFF1A;update &#x65F6;&#x9700;&#x8981;&#x5C06;&#x66F4;&#x65B0;&#x6587;&#x672C;&#x5148;&#x5199;&#x5165;&#x6587;&#x4EF6;&#x4E2D;&#x3002;</p>
<h2 id="&#x90E8;&#x7F72;-linkerd">&#x90E8;&#x7F72; Linkerd</h2>
<p>&#x76F4;&#x63A5;&#x4F7F;&#x7528; yaml &#x6587;&#x4EF6;&#x90E8;&#x7F72;&#xFF0C;&#x6CE8;&#x610F;&#x4FEE;&#x6539;&#x955C;&#x50CF;&#x4ED3;&#x5E93;&#x5730;&#x5740;&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash"><span class="token comment" spellcheck="true"># &#x521B;&#x5EFA; namerd</span>
$ kubectl create -f namerd.yaml
<span class="token comment" spellcheck="true"># &#x521B;&#x5EFA; ingress</span>
$ kubectl create -f linkerd-ingress.yml
<span class="token comment" spellcheck="true"># &#x521B;&#x5EFA;&#x6D4B;&#x8BD5;&#x670D;&#x52A1; hello-world</span>
$ kubectl create -f hello-world.yml
<span class="token comment" spellcheck="true"># &#x521B;&#x5EFA; API &#x670D;&#x52A1;</span>
$ kubectl create -f api.yml
<span class="token comment" spellcheck="true"># &#x521B;&#x5EFA;&#x6D4B;&#x8BD5;&#x670D;&#x52A1; world-v2</span>
$ kubectl create -f world-v2.yml
</code></pre>
<p>&#x4E3A;&#x4E86;&#x5728;&#x672C;&#x5730;&#x8C03;&#x8BD5; linkerd&#xFF0C;&#x6211;&#x4EEC;&#x5C06; linkerd &#x7684; service &#x52A0;&#x5165;&#x5230; ingress &#x4E2D;&#xFF0C;&#x8BE6;&#x89C1; <a href="practice/edge-node-configuration.md">&#x8FB9;&#x7F18;&#x8282;&#x70B9;&#x914D;&#x7F6E;</a>&#x3002;</p>
<p>&#x5728; Ingress &#x4E2D;&#x589E;&#x52A0;&#x5982;&#x4E0B;&#x5185;&#x5BB9;&#xFF1A;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-yaml"> <span class="token punctuation">-</span> <span class="token key atrule">host</span><span class="token punctuation">:</span> linkerd.jimmysong.io
<span class="token key atrule">http</span><span class="token punctuation">:</span>
<span class="token key atrule">paths</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> <span class="token key atrule">path</span><span class="token punctuation">:</span> /
<span class="token key atrule">backend</span><span class="token punctuation">:</span>
<span class="token key atrule">serviceName</span><span class="token punctuation">:</span> l5d
<span class="token key atrule">servicePort</span><span class="token punctuation">:</span> <span class="token number">9990</span>
<span class="token punctuation">-</span> <span class="token key atrule">host</span><span class="token punctuation">:</span> linkerd<span class="token punctuation">-</span>viz.jimmysong.io
<span class="token key atrule">http</span><span class="token punctuation">:</span>
<span class="token key atrule">paths</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> <span class="token key atrule">path</span><span class="token punctuation">:</span> /
<span class="token key atrule">backend</span><span class="token punctuation">:</span>
<span class="token key atrule">serviceName</span><span class="token punctuation">:</span> linkerd<span class="token punctuation">-</span>viz
<span class="token key atrule">servicePort</span><span class="token punctuation">:</span> <span class="token number">80</span>
<span class="token punctuation">-</span> <span class="token key atrule">host</span><span class="token punctuation">:</span> l5d.jimmysong.io
<span class="token key atrule">http</span><span class="token punctuation">:</span>
<span class="token key atrule">paths</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> <span class="token key atrule">path</span><span class="token punctuation">:</span> /
<span class="token key atrule">backend</span><span class="token punctuation">:</span>
<span class="token key atrule">serviceName</span><span class="token punctuation">:</span> l5d
<span class="token key atrule">servicePort</span><span class="token punctuation">:</span> <span class="token number">4141</span>
<span class="token punctuation">-</span> <span class="token key atrule">host</span><span class="token punctuation">:</span> jenkins.jimmysong.io
<span class="token key atrule">http</span><span class="token punctuation">:</span>
<span class="token key atrule">paths</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> <span class="token key atrule">path</span><span class="token punctuation">:</span> /
<span class="token key atrule">backend</span><span class="token punctuation">:</span>
<span class="token key atrule">serviceName</span><span class="token punctuation">:</span> jenkins
<span class="token key atrule">servicePort</span><span class="token punctuation">:</span> <span class="token number">80</span>
</code></pre>
<p>&#x5728;&#x672C;&#x5730;<code>/etc/hosts</code>&#x4E2D;&#x6DFB;&#x52A0;&#x5982;&#x4E0B;&#x5185;&#x5BB9;&#xFF1A;</p>
2018-04-17 19:15:36 +08:00
<pre class="language-"><code class="lang-ini">172.20.0.119 linkerd.jimmysong.io
172.20.0.119 linkerd-viz.jimmysong.io
172.20.0.119 l5d.jimmysong.io
2018-04-17 19:15:36 +08:00
</code></pre>
<p><strong>&#x6D4B;&#x8BD5;&#x8DEF;&#x7531;&#x529F;&#x80FD;</strong></p>
<p>&#x4F7F;&#x7528; curl &#x7B80;&#x5355;&#x6D4B;&#x8BD5;&#x3002;</p>
<p>&#x5355;&#x6761;&#x6D4B;&#x8BD5;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ curl -s -H <span class="token string">&quot;Host: www.hello.world&quot;</span> 172.20.0.120:4141
Hello <span class="token punctuation">(</span>172.30.60.14<span class="token punctuation">)</span> world <span class="token punctuation">(</span>172.30.71.19<span class="token punctuation">)</span><span class="token operator">!</span><span class="token operator">!</span>%
</code></pre>
<p>&#x8BF7;&#x6CE8;&#x610F;&#x8BF7;&#x6C42;&#x8FD4;&#x56DE;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x8868;&#x793A;&#x8BBF;&#x95EE;&#x7684;&#x662F; <code>world-v1</code> service&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ <span class="token keyword">for</span> i <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span><span class="token function">seq</span> 0 10000<span class="token variable">)</span></span><span class="token punctuation">;</span><span class="token keyword">do</span> <span class="token keyword">echo</span> <span class="token variable">$i</span><span class="token punctuation">;</span>curl -s -H <span class="token string">&quot;Host: www.hello.world&quot;</span> 172.20.0.120:4141<span class="token punctuation">;</span><span class="token keyword">done</span>
</code></pre>
<p>&#x4F7F;&#x7528; ab test&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ ab -c 4 -n 10000 -H <span class="token string">&quot;Host: www.hello.world&quot;</span> http://172.20.0.120:4141/
This is ApacheBench, Version 2.3 <span class="token operator">&lt;</span><span class="token variable">$Revision</span><span class="token keyword">:</span> 1757674 $<span class="token operator">&gt;</span>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
2018-02-20 18:00:08 +08:00
Benchmarking 172.20.0.120 <span class="token punctuation">(</span>be patient<span class="token punctuation">)</span>
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software:
Server Hostname: 172.20.0.120
Server Port: 4141
Document Path: /
Document Length: 43 bytes
Concurrency Level: 4
2018-02-20 18:00:08 +08:00
Time taken <span class="token keyword">for</span> tests: 262.505 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 2210000 bytes
HTML transferred: 430000 bytes
2018-02-20 18:00:08 +08:00
Requests per second: 38.09 <span class="token punctuation">[</span><span class="token comment" spellcheck="true">#/sec] (mean)</span>
Time per request: 105.002 <span class="token punctuation">[</span>ms<span class="token punctuation">]</span> <span class="token punctuation">(</span>mean<span class="token punctuation">)</span>
Time per request: 26.250 <span class="token punctuation">[</span>ms<span class="token punctuation">]</span> <span class="token punctuation">(</span>mean, across all concurrent requests<span class="token punctuation">)</span>
Transfer rate: 8.22 <span class="token punctuation">[</span>Kbytes/sec<span class="token punctuation">]</span> received
2018-02-20 18:00:08 +08:00
Connection Times <span class="token punctuation">(</span>ms<span class="token punctuation">)</span>
min mean<span class="token punctuation">[</span>+/-sd<span class="token punctuation">]</span> median max
Connect: 36 51 91.1 39 2122
Processing: 39 54 29.3 46 585
Waiting: 39 52 20.3 46 362
Total: 76 105 96.3 88 2216
2018-02-20 18:00:08 +08:00
Percentage of the requests served within a certain <span class="token function">time</span> <span class="token punctuation">(</span>ms<span class="token punctuation">)</span>
50% 88
66% 93
75% 99
80% 103
90% 119
95% 146
98% 253
99% 397
2018-02-20 18:00:08 +08:00
100% 2216 <span class="token punctuation">(</span>longest request<span class="token punctuation">)</span>
</code></pre>
<h2 id="&#x76D1;&#x63A7;-kubernets-&#x4E2D;&#x7684;&#x670D;&#x52A1;&#x4E0E;&#x5B9E;&#x4F8B;">&#x76D1;&#x63A7; kubernets &#x4E2D;&#x7684;&#x670D;&#x52A1;&#x4E0E;&#x5B9E;&#x4F8B;</h2>
<p>&#x8BBF;&#x95EE; <a href="http://linkerd.jimmysong.io" target="_blank">http://linkerd.jimmysong.io</a> &#x67E5;&#x770B;&#x6D41;&#x91CF;&#x60C5;&#x51B5;</p>
<p>Outcoming </p>
2017-12-20 17:27:16 +08:00
<figure id="fig6.3.2.1.4"><img src="../images/linkerd-helloworld-outgoing.jpg" alt="linkerd&#x76D1;&#x63A7;"><figcaption>&#x56FE;&#x7247; - linkerd&#x76D1;&#x63A7;</figcaption></figure>
<p>Incoming</p>
2017-12-20 17:27:16 +08:00
<figure id="fig6.3.2.1.5"><img src="../images/linkerd-helloworld-incoming.jpg" alt="linkerd&#x76D1;&#x63A7;"><figcaption>&#x56FE;&#x7247; - linkerd&#x76D1;&#x63A7;</figcaption></figure>
<p>&#x8BBF;&#x95EE; <a href="http://linkerd-viz.jimmysong.io" target="_blank">http://linkerd-viz.jimmysong.io</a> &#x67E5;&#x770B;&#x5E94;&#x7528; metric &#x76D1;&#x63A7;</p>
2017-12-20 17:27:16 +08:00
<figure id="fig6.3.2.1.6"><img src="../images/linkerd-grafana.png" alt="linkerd&#x6027;&#x80FD;&#x76D1;&#x63A7;"><figcaption>&#x56FE;&#x7247; - linkerd&#x6027;&#x80FD;&#x76D1;&#x63A7;</figcaption></figure>
<h2 id="&#x6D4B;&#x8BD5;&#x8DEF;&#x7531;">&#x6D4B;&#x8BD5;&#x8DEF;&#x7531;</h2>
<p>&#x6D4B;&#x8BD5;&#x5728; http header &#x4E2D;&#x589E;&#x52A0; dtab &#x89C4;&#x5219;&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ curl -H <span class="token string">&quot;Host: www.hello.world&quot;</span> -H <span class="token string">&quot;l5d-dtab:/host/world =&gt; /srv/world-v2;&quot;</span> 172.20.0.120:4141
Hello <span class="token punctuation">(</span>172.30.60.14<span class="token punctuation">)</span> earth <span class="token punctuation">(</span>172.30.94.40<span class="token punctuation">)</span><span class="token operator">!</span><span class="token operator">!</span>
</code></pre>
<p>&#x8BF7;&#x6CE8;&#x610F;&#x8C03;&#x7528;&#x8FD4;&#x56DE;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x8868;&#x793A;&#x8C03;&#x7528;&#x7684;&#x662F; <code>world-v2</code> &#x7684; service&#x3002;</p>
<p>&#x53E6;&#x5916;&#x518D;&#x5BF9;&#x6BD4; ab test &#x7684;&#x7ED3;&#x679C;&#x4E0E; <code>linkerd-viz</code> &#x9875;&#x9762;&#x4E0A;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x7ED3;&#x679C;&#x4E00;&#x81F4;&#x3002;</p>
<p>&#x4F46;&#x662F;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x4E0D;&#x60F3;&#x628A;&#x8BE5;&#x529F;&#x80FD;&#x66B4;&#x9732;&#x7ED9;&#x6240;&#x6709;&#x4EBA;&#xFF0C;&#x6240;&#x4EE5;&#x53EF;&#x4EE5;&#x5728;&#x524D;&#x7AEF;&#x90E8;&#x7F72;&#x4E00;&#x4E2A; nginx &#x6765;&#x8FC7;&#x6EE4; header &#x4E2D;&#x7684; <code>l5d-dtab</code> &#x6253;&#x5934;&#x7684;&#x5B57;&#x6BB5;&#xFF0C;&#x5E76;&#x901A;&#x8FC7;&#x8BBE;&#x7F6E; cookie &#x7684;&#x65B9;&#x5F0F;&#x6765;&#x66FF;&#x4EE3; header &#x91CC;&#x7684; <code>l5d-dtab</code> &#x5B57;&#x6BB5;&#x3002;</p>
2018-02-20 18:00:08 +08:00
<pre class="language-"><code class="lang-bash">$ http_proxy<span class="token operator">=</span>http://172.20.0.120:4141 curl -s http:/hello
Hello <span class="token punctuation">(</span>172.30.60.14<span class="token punctuation">)</span> world <span class="token punctuation">(</span>172.30.71.19<span class="token punctuation">)</span><span class="token operator">!</span><span class="token operator">!</span>
</code></pre>
<h2 id="&#x5C06;-linkerd-&#x4F5C;&#x4E3A;-ingress-controller">&#x5C06; Linkerd &#x4F5C;&#x4E3A; Ingress controller</h2>
<p>&#x5C06; Linkerd &#x4F5C;&#x4E3A; kubernetes ingress controller &#x7684;&#x65B9;&#x5F0F;&#x8DDF;&#x5C06; Treafik &#x4F5C;&#x4E3A; ingress controller &#x7684;&#x8FC7;&#x7A0B;&#x8FC7;&#x7A0B;&#x5B8C;&#x5168;&#x4E00;&#x6837;&#xFF0C;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x53C2;&#x8003; <a href="../practice/edge-node-configuration.html">&#x8FB9;&#x7F18;&#x8282;&#x70B9;&#x914D;&#x7F6E;</a>&#x3002;</p>
<p>&#x67B6;&#x6784;&#x5982;&#x4E0B;&#x56FE;&#x6240;&#x793A;&#x3002;</p>
2017-12-20 17:27:16 +08:00
<figure id="fig6.3.2.1.7"><img src="../images/linkerd-ingress-controller.jpg" alt="Linkerd ingress controller"><figcaption>&#x56FE;&#x7247; - Linkerd ingress controller</figcaption></figure>
<p><em>(&#x56FE;&#x7247;&#x6765;&#x81EA; A Service Mesh for Kubernetes - Buoyant.io)</em></p>
<p>&#x5F53;&#x7136;&#x53EF;&#x4EE5;&#x7ED5;&#x8FC7; kubernetes ingress controller &#x76F4;&#x63A5;&#x4F7F;&#x7528; linkerd &#x4F5C;&#x4E3A;&#x8FB9;&#x754C;&#x8DEF;&#x7531;&#xFF0C;&#x901A;&#x8FC7; dtab &#x548C; linkerd &#x524D;&#x9762;&#x7684; nginx &#x6765;&#x8DEF;&#x7531;&#x6D41;&#x91CF;&#x3002;</p>
<h2 id="&#x53C2;&#x8003;">&#x53C2;&#x8003;</h2>
2018-04-17 19:15:36 +08:00
<ul>
<li><p><a href="https://github.com/linkerd/linkerd-examples" target="_blank">https://github.com/linkerd/linkerd-examples</a></p>
</li>
<li><p><a href="https://cdn2.hubspot.net/hubfs/2818724/A%20Service%20Mesh%20for%20Kubernetes_Final.pdf" target="_blank">A Service Mesh for Kubernetes</a></p>
</li>
<li><p><a href="https://linkerd.io/in-depth/dtabs/" target="_blank">dtab</a> </p>
</li>
</ul>
2018-02-06 14:16:27 +08:00
<footer class="page-footer"><span class="copyright">Copyright &#xA9; jimmysong.io 2017-2018 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">Updated at
2018-04-17 19:15:36 +08:00
2018-04-17 19:11:51
2017-10-09 15:28:05 +08:00
</span></footer>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
2017-11-15 21:18:59 +08:00
<a href="linkerd.html" class="navigation navigation-prev " aria-label="Previous page: Linkerd">
<i class="fa fa-angle-left"></i>
</a>
2017-12-10 21:51:18 +08:00
<a href="conduit.html" class="navigation navigation-next " aria-label="Next page: Conduit">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
2018-04-20 15:50:40 +08:00
gitbook.page.hasChanged({"page":{"title":"Linkerd 使用指南","level":"6.3.2.1","depth":3,"next":{"title":"Conduit","level":"6.3.3","depth":2,"path":"usecases/conduit.md","ref":"usecases/conduit.md","articles":[{"title":"Condiut概览","level":"6.3.3.1","depth":3,"path":"usecases/conduit-overview.md","ref":"usecases/conduit-overview.md","articles":[]},{"title":"安装Conduit","level":"6.3.3.2","depth":3,"path":"usecases/conduit-installation.md","ref":"usecases/conduit-installation.md","articles":[]}]},"previous":{"title":"Linkerd","level":"6.3.2","depth":2,"path":"usecases/linkerd.md","ref":"usecases/linkerd.md","articles":[{"title":"Linkerd 使用指南","level":"6.3.2.1","depth":3,"path":"usecases/linkerd-user-guide.md","ref":"usecases/linkerd-user-guide.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["github","codesnippet","splitter","page-toc-button","image-captions","editlink","back-to-top-button","-lunr","-search","search-plus","github-buttons@2.1.0","favicon@^0.0.2","tbfed-pagefooter@^0.0.1","3-ba","theme-default","-highlight","prism","prism-themes"],"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright © jimmysong.io 2017-2018","modify_label":"Updated at ","modify_format":"YYYY-MM-DD HH:mm:ss"},"prism":{"css":["prism-themes/themes/prism-ghcolors.css"]},"github":{"url":"https://github.com/rootsongjc/kubernetes-handbook"},"editlink":{"label":"编辑本页","multilingual":false,"base":"https://github.com/rootsongjc/kubernetes-handbook/blob/master/"},"splitter":{},"codesnippet":{},"fontsettings":{"theme":"white","family":"sans","size":2},"favicon":{"shortcut":"favicon.ico","bookmark":"favicon.ico"},"page-toc-button":{},"back-to-top-button":{},"prism-themes":{},"github-buttons":{"repo":"rootsongjc/kubernetes-handbook","types":["star"],"size":"small"},"3-ba":{"configuration":"auto","token":"11f7d254cfa4e0ca44b175c66d379ecc"},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"showLevel":true,"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"}},"search-plus":{},"image-captions":{"caption":"图片 - _CAPTION_","variable_name":"_pictures"}},"theme":"default","author":"Jimmy Song","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"_pictures":[{"backlink":"cloud-native/cncf.html#fig1.2.1","level":"1.2","list_caption":"Figure: CNCF landscape","alt":"CNCF landscape","nro":1,"url":"https://github.com/cncf/landscape/raw/master/landscape/CloudNativeLandscape_latest.png","index":1,"caption_template":"图片 - _CAPTION_","label":"CNCF landscape","attributes":{},"skip":false,"key":"1.2.1"},{"backlink":"cloud-native/cncf.html#fig1.2.2","level":"1.2","list_caption":"Figure: CNCF项目成熟度级别","alt":"CNCF项目成熟度级别","nro":2,"url":"../images/cncf-graduation-criteria.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"CNCF项目成熟度级别","attributes":{},"skip":false,"key":"1.2.2"},{"backlink":"cloud-native/play-with-kubernetes.html#fig2.1.1","level":"2.1","list_caption":"Figure: Play with Kubernetes网页截图","alt":"Play with Kubernetes网页截图","nro":3,"url":"../images/play-with-kubernetes.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"Play with Kubernetes网页截图","attributes":{},"skip":false,"key":"2.1.1"},{"backlink":"cloud-native/kubernetes-and-cloud-native-app-overview.html#fig2.2.1","level":"2.2","list_caption":"Figure: 云计算演进历程","alt":"云计算演进历程","nro":4,"url":"../
});
</script>
</div>
<script src="../gitbook/gitbook.js"></script>
<script src="../gitbook/theme.js"></script>
<script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>
<script src="../gitbook/gitbook-plugin-page-toc-button/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-editlink/plugin.js"></script>
2017-09-19 21:38:03 +08:00
<script src="../gitbook/gitbook-plugin-back-to-top-button/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/search.js"></script>
2017-10-09 15:28:05 +08:00
<script src="../gitbook/gitbook-plugin-github-buttons/plugin.js"></script>
2017-10-11 18:13:13 +08:00
<script src="../gitbook/gitbook-plugin-3-ba/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>