4800 lines
271 KiB
HTML
4800 lines
271 KiB
HTML
|
|
|||
|
<!DOCTYPE HTML>
|
|||
|
<html lang="zh-hans" >
|
|||
|
<head>
|
|||
|
<meta charset="UTF-8">
|
|||
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|||
|
<title>深入理解Istio Service Mesh中的Envoy Sidecar代理的路由转发 · Kubernetes Handbook - Kubernetes中文指南/云原生应用架构实践手册 by Jimmy Song(宋净超)</title>
|
|||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|||
|
<meta name="description" content="">
|
|||
|
<meta name="generator" content="GitBook 3.2.3">
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-back-to-top-button/plugin.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search-plus/search.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism-ghcolors.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-lightbox/lightbox.min.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
<link rel="next" href="linkerd.html" />
|
|||
|
|
|||
|
|
|||
|
<link rel="prev" href="understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.html" />
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<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">
|
|||
|
<input type="text" placeholder="输入并搜索" />
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<nav role="navigation">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="summary">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://jimmysong.io/istio-handbook" target="_blank" class="custom-link">Istio Handbook - Istio 中文指南/服务网格实践手册</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://jimmysong.io/posts/cloud-native-python" target="_blank" class="custom-link">Cloud Native Python(Python云原生) - 使用Python和React构建云原生应用</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="http://www.servicemesher.com" target="_blank" class="custom-link">ServiceMesher社区</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://github.com/alipay/sofa-mesh" target="_blank" class="custom-link">SOFAMesh - 基于Istio的大规模服务网格解决方案</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://jimmysong.io/posts/cloud-native-java" target="_blank" class="custom-link">Cloud Native Java(云原生Java)- Spring Boot、Spring Cloud与Cloud Foundry弹性系统设计</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://github.com/alipay/sofa-mosn" target="_blank" class="custom-link">SOFAMosn - Golang版的高性能Service Mesh Sidecar代理</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="http://www.servicemesher.com/awesome-servicemesh" target="_blank" class="custom-link">Awesome Service Mesh</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://jimmysong.io" target="_blank" class="custom-link">Jimmy Song</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://jimmysong.io/awesome-cloud-native" target="_blank" class="custom-link">Awesome Cloud Native</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://jimmysong.io/posts/cloud-native-go" target="_blank" class="custom-link">Cloud Native Go - 基于Go和React的web云原生应用构建指南</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="divider"></li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">前言</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="1.1" data-path="../">
|
|||
|
|
|||
|
<a href="../">
|
|||
|
|
|||
|
|
|||
|
<b>1.1.</b>
|
|||
|
|
|||
|
序言
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">云原生</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="2.1" data-path="../cloud-native/cloud-native-definition.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cloud-native-definition.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.1.</b>
|
|||
|
|
|||
|
云原生(Cloud Native)的定义
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.2" data-path="../cloud-native/cncf.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cncf.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.2.</b>
|
|||
|
|
|||
|
CNCF - 云原生计算基金会简介
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.3" data-path="../cloud-native/cncf-charter.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cncf-charter.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.3.</b>
|
|||
|
|
|||
|
CNCF章程
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.4" data-path="../cloud-native/cloud-native-philosophy.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cloud-native-philosophy.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.4.</b>
|
|||
|
|
|||
|
云原生的设计哲学
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.5" data-path="../cloud-native/play-with-kubernetes.html">
|
|||
|
|
|||
|
<a href="../cloud-native/play-with-kubernetes.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.5.</b>
|
|||
|
|
|||
|
Play with Kubernetes
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.6" data-path="../cloud-native/cloud-native-local-quick-start.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cloud-native-local-quick-start.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.6.</b>
|
|||
|
|
|||
|
快速部署一个云原生本地实验环境
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.7" data-path="../cloud-native/kubernetes-and-cloud-native-app-overview.html">
|
|||
|
|
|||
|
<a href="../cloud-native/kubernetes-and-cloud-native-app-overview.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.7.</b>
|
|||
|
|
|||
|
Kubernetes与云原生应用概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.8" data-path="../cloud-native/from-kubernetes-to-cloud-native.html">
|
|||
|
|
|||
|
<a href="../cloud-native/from-kubernetes-to-cloud-native.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.8.</b>
|
|||
|
|
|||
|
云原生应用之路——从Kubernetes到Cloud Native
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.9" data-path="../cloud-native/cloud-native-programming-languages.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cloud-native-programming-languages.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.9.</b>
|
|||
|
|
|||
|
云原生编程语言
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="2.9.1" data-path="../cloud-native/cloud-native-programming-language-ballerina.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cloud-native-programming-language-ballerina.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.9.1.</b>
|
|||
|
|
|||
|
云原生编程语言Ballerina
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.9.2" data-path="../cloud-native/cloud-native-programming-language-pulumi.html">
|
|||
|
|
|||
|
<a href="../cloud-native/cloud-native-programming-language-pulumi.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.9.2.</b>
|
|||
|
|
|||
|
云原生编程语言Pulumi
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.10" data-path="../cloud-native/the-future-of-cloud-native.html">
|
|||
|
|
|||
|
<a href="../cloud-native/the-future-of-cloud-native.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.10.</b>
|
|||
|
|
|||
|
云原生的未来
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">概念与原理</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.1" data-path="../concepts/">
|
|||
|
|
|||
|
<a href="../concepts/">
|
|||
|
|
|||
|
|
|||
|
<b>3.1.</b>
|
|||
|
|
|||
|
Kubernetes架构
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.1.1" data-path="../concepts/concepts.html">
|
|||
|
|
|||
|
<a href="../concepts/concepts.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.1.1.</b>
|
|||
|
|
|||
|
设计理念
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
Etcd解析
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.1.3" data-path="../concepts/open-interfaces.html">
|
|||
|
|
|||
|
<a href="../concepts/open-interfaces.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.1.3.</b>
|
|||
|
|
|||
|
开放接口
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.1.3.1" data-path="../concepts/cri.html">
|
|||
|
|
|||
|
<a href="../concepts/cri.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.1.3.1.</b>
|
|||
|
|
|||
|
CRI - Container Runtime Interface(容器运行时接口)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.1.3.2" data-path="../concepts/cni.html">
|
|||
|
|
|||
|
<a href="../concepts/cni.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.1.3.2.</b>
|
|||
|
|
|||
|
CNI - Container Network Interface(容器网络接口)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.1.3.3" data-path="../concepts/csi.html">
|
|||
|
|
|||
|
<a href="../concepts/csi.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.1.3.3.</b>
|
|||
|
|
|||
|
CSI - Container Storage Interface(容器存储接口)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.2" data-path="../concepts/networking.html">
|
|||
|
|
|||
|
<a href="../concepts/networking.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.2.</b>
|
|||
|
|
|||
|
Kubernetes中的网络
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.2.1" data-path="../concepts/flannel.html">
|
|||
|
|
|||
|
<a href="../concepts/flannel.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.2.1.</b>
|
|||
|
|
|||
|
Kubernetes中的网络解析——以flannel为例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.2.2" data-path="../concepts/calico.html">
|
|||
|
|
|||
|
<a href="../concepts/calico.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.2.2.</b>
|
|||
|
|
|||
|
Kubernetes中的网络解析——以calico为例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.2.3" data-path="../concepts/cilium.html">
|
|||
|
|
|||
|
<a href="../concepts/cilium.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.2.3.</b>
|
|||
|
|
|||
|
具备API感知的网络和安全性管理开源软件Cilium
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.2.3.1" data-path="../concepts/cilium-concepts.html">
|
|||
|
|
|||
|
<a href="../concepts/cilium-concepts.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.2.3.1.</b>
|
|||
|
|
|||
|
Cilium架构设计与概念解析
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.3" data-path="../concepts/objects.html">
|
|||
|
|
|||
|
<a href="../concepts/objects.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.3.</b>
|
|||
|
|
|||
|
资源对象与基本概念解析
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4" data-path="../concepts/pod-state-and-lifecycle.html">
|
|||
|
|
|||
|
<a href="../concepts/pod-state-and-lifecycle.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.</b>
|
|||
|
|
|||
|
Pod状态与生命周期管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.1" data-path="../concepts/pod-overview.html">
|
|||
|
|
|||
|
<a href="../concepts/pod-overview.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.1.</b>
|
|||
|
|
|||
|
Pod概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.2" data-path="../concepts/pod.html">
|
|||
|
|
|||
|
<a href="../concepts/pod.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.2.</b>
|
|||
|
|
|||
|
Pod解析
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.3" data-path="../concepts/init-containers.html">
|
|||
|
|
|||
|
<a href="../concepts/init-containers.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.3.</b>
|
|||
|
|
|||
|
Init容器
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.4" data-path="../concepts/pause-container.html">
|
|||
|
|
|||
|
<a href="../concepts/pause-container.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.4.</b>
|
|||
|
|
|||
|
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>
|
|||
|
|
|||
|
Pod安全策略
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.6" data-path="../concepts/pod-lifecycle.html">
|
|||
|
|
|||
|
<a href="../concepts/pod-lifecycle.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.6.</b>
|
|||
|
|
|||
|
Pod的生命周期
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.7" data-path="../concepts/pod-hook.html">
|
|||
|
|
|||
|
<a href="../concepts/pod-hook.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.7.</b>
|
|||
|
|
|||
|
Pod Hook
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.8" data-path="../concepts/pod-preset.html">
|
|||
|
|
|||
|
<a href="../concepts/pod-preset.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.8.</b>
|
|||
|
|
|||
|
Pod Preset
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.4.9" data-path="../concepts/pod-disruption-budget.html">
|
|||
|
|
|||
|
<a href="../concepts/pod-disruption-budget.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.4.9.</b>
|
|||
|
|
|||
|
Pod中断与PDB(Pod中断预算)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5" data-path="../concepts/cluster.html">
|
|||
|
|
|||
|
<a href="../concepts/cluster.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.</b>
|
|||
|
|
|||
|
集群资源管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5.1" data-path="../concepts/node.html">
|
|||
|
|
|||
|
<a href="../concepts/node.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.1.</b>
|
|||
|
|
|||
|
Node
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5.2" data-path="../concepts/namespace.html">
|
|||
|
|
|||
|
<a href="../concepts/namespace.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.2.</b>
|
|||
|
|
|||
|
Namespace
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5.3" data-path="../concepts/label.html">
|
|||
|
|
|||
|
<a href="../concepts/label.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.3.</b>
|
|||
|
|
|||
|
Label
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5.4" data-path="../concepts/annotation.html">
|
|||
|
|
|||
|
<a href="../concepts/annotation.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.4.</b>
|
|||
|
|
|||
|
Annotation
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5.5" data-path="../concepts/taint-and-toleration.html">
|
|||
|
|
|||
|
<a href="../concepts/taint-and-toleration.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.5.</b>
|
|||
|
|
|||
|
Taint和Toleration(污点和容忍)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.5.6" data-path="../concepts/garbage-collection.html">
|
|||
|
|
|||
|
<a href="../concepts/garbage-collection.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.5.6.</b>
|
|||
|
|
|||
|
垃圾收集
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6" data-path="../concepts/controllers.html">
|
|||
|
|
|||
|
<a href="../concepts/controllers.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.</b>
|
|||
|
|
|||
|
控制器
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.1" data-path="../concepts/deployment.html">
|
|||
|
|
|||
|
<a href="../concepts/deployment.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.1.</b>
|
|||
|
|
|||
|
Deployment
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.2" data-path="../concepts/statefulset.html">
|
|||
|
|
|||
|
<a href="../concepts/statefulset.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.2.</b>
|
|||
|
|
|||
|
StatefulSet
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.3" data-path="../concepts/daemonset.html">
|
|||
|
|
|||
|
<a href="../concepts/daemonset.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.3.</b>
|
|||
|
|
|||
|
DaemonSet
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.4" data-path="../concepts/replicaset.html">
|
|||
|
|
|||
|
<a href="../concepts/replicaset.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.4.</b>
|
|||
|
|
|||
|
ReplicationController和ReplicaSet
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.5" data-path="../concepts/job.html">
|
|||
|
|
|||
|
<a href="../concepts/job.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.5.</b>
|
|||
|
|
|||
|
Job
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.6" data-path="../concepts/cronjob.html">
|
|||
|
|
|||
|
<a href="../concepts/cronjob.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.6.</b>
|
|||
|
|
|||
|
CronJob
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.7" data-path="../concepts/horizontal-pod-autoscaling.html">
|
|||
|
|
|||
|
<a href="../concepts/horizontal-pod-autoscaling.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.7.</b>
|
|||
|
|
|||
|
Horizontal Pod Autoscaling
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.7.1" data-path="../concepts/custom-metrics-hpa.html">
|
|||
|
|
|||
|
<a href="../concepts/custom-metrics-hpa.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.7.1.</b>
|
|||
|
|
|||
|
自定义指标HPA
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.6.8" data-path="../concepts/admission-controller.html">
|
|||
|
|
|||
|
<a href="../concepts/admission-controller.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.6.8.</b>
|
|||
|
|
|||
|
准入控制器(Admission Controller)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.7" data-path="../concepts/service-discovery.html">
|
|||
|
|
|||
|
<a href="../concepts/service-discovery.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.7.</b>
|
|||
|
|
|||
|
服务发现
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.7.1" data-path="../concepts/service.html">
|
|||
|
|
|||
|
<a href="../concepts/service.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.7.1.</b>
|
|||
|
|
|||
|
Service
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.7.2" data-path="../concepts/ingress.html">
|
|||
|
|
|||
|
<a href="../concepts/ingress.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.7.2.</b>
|
|||
|
|
|||
|
Ingress
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.7.2.1" data-path="../concepts/traefik-ingress-controller.html">
|
|||
|
|
|||
|
<a href="../concepts/traefik-ingress-controller.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.7.2.1.</b>
|
|||
|
|
|||
|
Traefik Ingress Controller
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.8" data-path="../concepts/authentication-and-permission.html">
|
|||
|
|
|||
|
<a href="../concepts/authentication-and-permission.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.8.</b>
|
|||
|
|
|||
|
身份与权限控制
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.8.1" data-path="../concepts/serviceaccount.html">
|
|||
|
|
|||
|
<a href="../concepts/serviceaccount.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.8.1.</b>
|
|||
|
|
|||
|
ServiceAccount
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.8.2" data-path="../concepts/rbac.html">
|
|||
|
|
|||
|
<a href="../concepts/rbac.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.8.2.</b>
|
|||
|
|
|||
|
RBAC——基于角色的访问控制
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.8.3" data-path="../concepts/network-policy.html">
|
|||
|
|
|||
|
<a href="../concepts/network-policy.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.8.3.</b>
|
|||
|
|
|||
|
NetworkPolicy
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9" data-path="../concepts/storage.html">
|
|||
|
|
|||
|
<a href="../concepts/storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.</b>
|
|||
|
|
|||
|
存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9.1" data-path="../concepts/secret.html">
|
|||
|
|
|||
|
<a href="../concepts/secret.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.1.</b>
|
|||
|
|
|||
|
Secret
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9.2" data-path="../concepts/configmap.html">
|
|||
|
|
|||
|
<a href="../concepts/configmap.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.2.</b>
|
|||
|
|
|||
|
ConfigMap
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9.2.1" data-path="../concepts/configmap-hot-update.html">
|
|||
|
|
|||
|
<a href="../concepts/configmap-hot-update.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.2.1.</b>
|
|||
|
|
|||
|
ConfigMap的热更新
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9.3" data-path="../concepts/volume.html">
|
|||
|
|
|||
|
<a href="../concepts/volume.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.3.</b>
|
|||
|
|
|||
|
Volume
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9.4" data-path="../concepts/persistent-volume.html">
|
|||
|
|
|||
|
<a href="../concepts/persistent-volume.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.4.</b>
|
|||
|
|
|||
|
Persistent Volume(持久化卷)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.9.5" data-path="../concepts/storageclass.html">
|
|||
|
|
|||
|
<a href="../concepts/storageclass.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.9.5.</b>
|
|||
|
|
|||
|
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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10" data-path="../concepts/extension.html">
|
|||
|
|
|||
|
<a href="../concepts/extension.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.</b>
|
|||
|
|
|||
|
集群扩展
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.1" data-path="../concepts/custom-resource.html">
|
|||
|
|
|||
|
<a href="../concepts/custom-resource.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.1.</b>
|
|||
|
|
|||
|
使用自定义资源扩展API
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.2" data-path="../concepts/crd.html">
|
|||
|
|
|||
|
<a href="../concepts/crd.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.2.</b>
|
|||
|
|
|||
|
使用CRD扩展Kubernetes API
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.3" data-path="../concepts/aggregated-api-server.html">
|
|||
|
|
|||
|
<a href="../concepts/aggregated-api-server.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.3.</b>
|
|||
|
|
|||
|
Aggregated API Server
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.4" data-path="../concepts/apiservice.html">
|
|||
|
|
|||
|
<a href="../concepts/apiservice.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.4.</b>
|
|||
|
|
|||
|
APIService
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.5" data-path="../concepts/service-catalog.html">
|
|||
|
|
|||
|
<a href="../concepts/service-catalog.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.5.</b>
|
|||
|
|
|||
|
Service Catalog
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.11" data-path="../concepts/scheduling.html">
|
|||
|
|
|||
|
<a href="../concepts/scheduling.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.11.</b>
|
|||
|
|
|||
|
资源调度
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.11.1" data-path="../concepts/qos.html">
|
|||
|
|
|||
|
<a href="../concepts/qos.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.11.1.</b>
|
|||
|
|
|||
|
QoS(服务质量等级)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">用户指南</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="4.1" data-path="../guide/">
|
|||
|
|
|||
|
<a href="../guide/">
|
|||
|
|
|||
|
|
|||
|
<b>4.1.</b>
|
|||
|
|
|||
|
用户指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.2" data-path="../guide/resource-configuration.html">
|
|||
|
|
|||
|
<a href="../guide/resource-configuration.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.2.</b>
|
|||
|
|
|||
|
资源对象配置
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="4.2.1" data-path="../guide/configure-liveness-readiness-probes.html">
|
|||
|
|
|||
|
<a href="../guide/configure-liveness-readiness-probes.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.2.1.</b>
|
|||
|
|
|||
|
配置Pod的liveness和readiness探针
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.2.2" data-path="../guide/configure-pod-service-account.html">
|
|||
|
|
|||
|
<a href="../guide/configure-pod-service-account.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.2.2.</b>
|
|||
|
|
|||
|
配置Pod的Service Account
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.2.3" data-path="../guide/secret-configuration.html">
|
|||
|
|
|||
|
<a href="../guide/secret-configuration.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.2.3.</b>
|
|||
|
|
|||
|
Secret配置
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.2.4" data-path="../guide/resource-quota-management.html">
|
|||
|
|
|||
|
<a href="../guide/resource-quota-management.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.2.4.</b>
|
|||
|
|
|||
|
管理namespace中的资源配额
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.3" data-path="../guide/command-usage.html">
|
|||
|
|
|||
|
<a href="../guide/command-usage.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.3.</b>
|
|||
|
|
|||
|
命令使用
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="4.3.1" data-path="../guide/docker-cli-to-kubectl.html">
|
|||
|
|
|||
|
<a href="../guide/docker-cli-to-kubectl.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.3.1.</b>
|
|||
|
|
|||
|
Docker用户过度到kubectl命令行指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.3.2" data-path="../guide/using-kubectl.html">
|
|||
|
|
|||
|
<a href="../guide/using-kubectl.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.3.2.</b>
|
|||
|
|
|||
|
kubectl命令概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.3.3" data-path="../guide/kubectl-cheatsheet.html">
|
|||
|
|
|||
|
<a href="../guide/kubectl-cheatsheet.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.3.3.</b>
|
|||
|
|
|||
|
kubectl命令技巧大全
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.3.4" data-path="../guide/using-etcdctl-to-access-kubernetes-data.html">
|
|||
|
|
|||
|
<a href="../guide/using-etcdctl-to-access-kubernetes-data.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.3.4.</b>
|
|||
|
|
|||
|
使用etcdctl访问kubernetes数据
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4" data-path="../guide/cluster-security-management.html">
|
|||
|
|
|||
|
<a href="../guide/cluster-security-management.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.</b>
|
|||
|
|
|||
|
集群安全性管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.1.</b>
|
|||
|
|
|||
|
管理集群中的TLS
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4.2" data-path="../guide/kubelet-authentication-authorization.html">
|
|||
|
|
|||
|
<a href="../guide/kubelet-authentication-authorization.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.2.</b>
|
|||
|
|
|||
|
kubelet的认证授权
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4.3" data-path="../guide/tls-bootstrapping.html">
|
|||
|
|
|||
|
<a href="../guide/tls-bootstrapping.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.3.</b>
|
|||
|
|
|||
|
TLS bootstrap
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4.4" data-path="../guide/kubectl-user-authentication-authorization.html">
|
|||
|
|
|||
|
<a href="../guide/kubectl-user-authentication-authorization.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.4.</b>
|
|||
|
|
|||
|
创建用户认证授权的kubeconfig文件
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4.5" data-path="../guide/ip-masq-agent.html">
|
|||
|
|
|||
|
<a href="../guide/ip-masq-agent.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.5.</b>
|
|||
|
|
|||
|
IP伪装代理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.6.</b>
|
|||
|
|
|||
|
使用kubeconfig或token进行用户身份认证
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4.7" data-path="../guide/authentication.html">
|
|||
|
|
|||
|
<a href="../guide/authentication.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.7.</b>
|
|||
|
|
|||
|
Kubernetes中的用户与身份认证授权
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.4.8" data-path="../guide/kubernetes-security-best-practice.html">
|
|||
|
|
|||
|
<a href="../guide/kubernetes-security-best-practice.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.4.8.</b>
|
|||
|
|
|||
|
Kubernetes集群安全性配置最佳实践
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5" data-path="../guide/access-kubernetes-cluster.html">
|
|||
|
|
|||
|
<a href="../guide/access-kubernetes-cluster.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.</b>
|
|||
|
|
|||
|
访问Kubernetes集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5.1" data-path="../guide/access-cluster.html">
|
|||
|
|
|||
|
<a href="../guide/access-cluster.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.1.</b>
|
|||
|
|
|||
|
访问集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5.2" data-path="../guide/authenticate-across-clusters-kubeconfig.html">
|
|||
|
|
|||
|
<a href="../guide/authenticate-across-clusters-kubeconfig.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.2.</b>
|
|||
|
|
|||
|
使用kubeconfig文件配置跨集群认证
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.3.</b>
|
|||
|
|
|||
|
通过端口转发访问集群中的应用程序
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5.4" data-path="../guide/service-access-application-cluster.html">
|
|||
|
|
|||
|
<a href="../guide/service-access-application-cluster.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.4.</b>
|
|||
|
|
|||
|
使用service访问群集中的应用程序
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5.5" data-path="../guide/accessing-kubernetes-pods-from-outside-of-the-cluster.html">
|
|||
|
|
|||
|
<a href="../guide/accessing-kubernetes-pods-from-outside-of-the-cluster.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.5.</b>
|
|||
|
|
|||
|
从外部访问Kubernetes中的Pod
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5.6" data-path="../guide/cabin-mobile-dashboard-for-kubernetes.html">
|
|||
|
|
|||
|
<a href="../guide/cabin-mobile-dashboard-for-kubernetes.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.6.</b>
|
|||
|
|
|||
|
Cabin - Kubernetes手机客户端
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.5.7" data-path="../guide/kubernetes-desktop-client.html">
|
|||
|
|
|||
|
<a href="../guide/kubernetes-desktop-client.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.5.7.</b>
|
|||
|
|
|||
|
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>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.6" data-path="../guide/application-development-deployment-flow.html">
|
|||
|
|
|||
|
<a href="../guide/application-development-deployment-flow.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.6.</b>
|
|||
|
|
|||
|
在Kubernetes中开发部署应用
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="4.6.1" data-path="../guide/deploy-applications-in-kubernetes.html">
|
|||
|
|
|||
|
<a href="../guide/deploy-applications-in-kubernetes.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.6.1.</b>
|
|||
|
|
|||
|
适用于kubernetes的应用开发部署流程
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
<b>4.6.2.</b>
|
|||
|
|
|||
|
迁移传统应用到Kubernetes中——以Hadoop YARN为例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="4.6.3" data-path="../guide/using-statefulset.html">
|
|||
|
|
|||
|
<a href="../guide/using-statefulset.html">
|
|||
|
|
|||
|
|
|||
|
<b>4.6.3.</b>
|
|||
|
|
|||
|
使用StatefulSet部署用状态应用
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">最佳实践</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.1" data-path="../practice/">
|
|||
|
|
|||
|
<a href="../practice/">
|
|||
|
|
|||
|
|
|||
|
<b>5.1.</b>
|
|||
|
|
|||
|
最佳实践概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2" data-path="../practice/install-kubernetes-on-centos.html">
|
|||
|
|
|||
|
<a href="../practice/install-kubernetes-on-centos.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.</b>
|
|||
|
|
|||
|
在CentOS上部署Kubernetes集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<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">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.1.</b>
|
|||
|
|
|||
|
创建TLS证书和秘钥
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.2" data-path="../practice/create-kubeconfig.html">
|
|||
|
|
|||
|
<a href="../practice/create-kubeconfig.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.2.</b>
|
|||
|
|
|||
|
创建kubeconfig文件
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.3" data-path="../practice/etcd-cluster-installation.html">
|
|||
|
|
|||
|
<a href="../practice/etcd-cluster-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.3.</b>
|
|||
|
|
|||
|
创建高可用etcd集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.4" data-path="../practice/kubectl-installation.html">
|
|||
|
|
|||
|
<a href="../practice/kubectl-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.4.</b>
|
|||
|
|
|||
|
安装kubectl命令行工具
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.5" data-path="../practice/master-installation.html">
|
|||
|
|
|||
|
<a href="../practice/master-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.5.</b>
|
|||
|
|
|||
|
部署master节点
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.6" data-path="../practice/flannel-installation.html">
|
|||
|
|
|||
|
<a href="../practice/flannel-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.6.</b>
|
|||
|
|
|||
|
安装flannel网络插件
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.7" data-path="../practice/node-installation.html">
|
|||
|
|
|||
|
<a href="../practice/node-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.7.</b>
|
|||
|
|
|||
|
部署node节点
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.8" data-path="../practice/kubedns-addon-installation.html">
|
|||
|
|
|||
|
<a href="../practice/kubedns-addon-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.8.</b>
|
|||
|
|
|||
|
安装kubedns插件
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.9" data-path="../practice/dashboard-addon-installation.html">
|
|||
|
|
|||
|
<a href="../practice/dashboard-addon-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.9.</b>
|
|||
|
|
|||
|
安装dashboard插件
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.10" data-path="../practice/heapster-addon-installation.html">
|
|||
|
|
|||
|
<a href="../practice/heapster-addon-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.10.</b>
|
|||
|
|
|||
|
安装heapster插件
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.2.11" data-path="../practice/efk-addon-installation.html">
|
|||
|
|
|||
|
<a href="../practice/efk-addon-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.2.11.</b>
|
|||
|
|
|||
|
安装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">
|
|||
|
|
|||
|
|
|||
|
<b>5.3.</b>
|
|||
|
|
|||
|
生产级的Kubernetes简化管理工具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>
|
|||
|
|
|||
|
服务发现与负载均衡
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
安装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>
|
|||
|
|
|||
|
分布式负载测试
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
网络和集群性能测试
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
边缘节点配置
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.4.5" data-path="../practice/nginx-ingress-installation.html">
|
|||
|
|
|||
|
<a href="../practice/nginx-ingress-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.4.5.</b>
|
|||
|
|
|||
|
安装Nginx ingress
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.4.6" data-path="../practice/dns-installation.html">
|
|||
|
|
|||
|
<a href="../practice/dns-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.4.6.</b>
|
|||
|
|
|||
|
安装配置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>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.5" data-path="../practice/operation.html">
|
|||
|
|
|||
|
<a href="../practice/operation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.5.</b>
|
|||
|
|
|||
|
运维管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.5.1" data-path="../practice/master-ha.html">
|
|||
|
|
|||
|
<a href="../practice/master-ha.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.5.1.</b>
|
|||
|
|
|||
|
Master节点高可用
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.5.2" data-path="../practice/service-rolling-update.html">
|
|||
|
|
|||
|
<a href="../practice/service-rolling-update.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.5.2.</b>
|
|||
|
|
|||
|
服务滚动升级
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
应用日志收集
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
配置最佳实践
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
集群及应用监控
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
数据持久化问题
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.5.7" data-path="../practice/manage-compute-resources-container.html">
|
|||
|
|
|||
|
<a href="../practice/manage-compute-resources-container.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.5.7.</b>
|
|||
|
|
|||
|
管理容器的计算资源
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.5.8" data-path="../practice/federation.html">
|
|||
|
|
|||
|
<a href="../practice/federation.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.5.8.</b>
|
|||
|
|
|||
|
集群联邦
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6" data-path="../practice/storage.html">
|
|||
|
|
|||
|
<a href="../practice/storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.</b>
|
|||
|
|
|||
|
存储管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.1" data-path="../practice/glusterfs.html">
|
|||
|
|
|||
|
<a href="../practice/glusterfs.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.1.</b>
|
|||
|
|
|||
|
GlusterFS
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.1.1" data-path="../practice/using-glusterfs-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-glusterfs-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.1.1.</b>
|
|||
|
|
|||
|
使用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>
|
|||
|
|
|||
|
使用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>
|
|||
|
|
|||
|
在OpenShift中使用GlusterFS做持久化存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.2" data-path="../practice/glusterd-2.0.html">
|
|||
|
|
|||
|
<a href="../practice/glusterd-2.0.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.2.</b>
|
|||
|
|
|||
|
GlusterD-2.0
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.3" data-path="../practice/ceph.html">
|
|||
|
|
|||
|
<a href="../practice/ceph.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.3.</b>
|
|||
|
|
|||
|
Ceph
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.3.1" data-path="../practice/ceph-helm-install-guide-zh.html">
|
|||
|
|
|||
|
<a href="../practice/ceph-helm-install-guide-zh.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.3.1.</b>
|
|||
|
|
|||
|
用Helm托管安装Ceph集群并提供后端存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.3.2" data-path="../practice/using-ceph-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-ceph-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.3.2.</b>
|
|||
|
|
|||
|
使用Ceph做持久化存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.3.3" data-path="../practice/rbd-provisioner.html">
|
|||
|
|
|||
|
<a href="../practice/rbd-provisioner.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.3.3.</b>
|
|||
|
|
|||
|
使用rbd-provisioner提供rbd持久化存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.4" data-path="../practice/openebs.html">
|
|||
|
|
|||
|
<a href="../practice/openebs.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.4.</b>
|
|||
|
|
|||
|
OpenEBS
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.4.1" data-path="../practice/using-openebs-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-openebs-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.4.1.</b>
|
|||
|
|
|||
|
使用OpenEBS做持久化存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.5" data-path="../practice/rook.html">
|
|||
|
|
|||
|
<a href="../practice/rook.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.5.</b>
|
|||
|
|
|||
|
Rook
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.6" data-path="../practice/nfs.html">
|
|||
|
|
|||
|
<a href="../practice/nfs.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.6.</b>
|
|||
|
|
|||
|
NFS
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.6.1" data-path="../practice/using-nfs-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-nfs-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.6.1.</b>
|
|||
|
|
|||
|
利用NFS动态提供Kubernetes后端存储卷
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7" data-path="../practice/monitoring.html">
|
|||
|
|
|||
|
<a href="../practice/monitoring.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.</b>
|
|||
|
|
|||
|
集群与应用监控
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7.1" data-path="../practice/heapster.html">
|
|||
|
|
|||
|
<a href="../practice/heapster.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.1.</b>
|
|||
|
|
|||
|
Heapster
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7.1.1" data-path="../practice/using-heapster-to-get-object-metrics.html">
|
|||
|
|
|||
|
<a href="../practice/using-heapster-to-get-object-metrics.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.1.1.</b>
|
|||
|
|
|||
|
使用Heapster获取集群和对象的metric数据
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7.2" data-path="../practice/prometheus.html">
|
|||
|
|
|||
|
<a href="../practice/prometheus.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.2.</b>
|
|||
|
|
|||
|
Prometheus
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7.2.1" data-path="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
|
|||
|
|
|||
|
<a href="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.2.1.</b>
|
|||
|
|
|||
|
使用Prometheus监控kubernetes集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7.2.2" data-path="../practice/promql.html">
|
|||
|
|
|||
|
<a href="../practice/promql.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.2.2.</b>
|
|||
|
|
|||
|
Prometheus查询语言PromQL使用说明
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.7.3" data-path="../practice/vistio-visualize-your-istio-mesh.html">
|
|||
|
|
|||
|
<a href="../practice/vistio-visualize-your-istio-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.7.3.</b>
|
|||
|
|
|||
|
使用Vistio监控Istio服务网格中的流量
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.8" data-path="../practice/distributed-tracing.html">
|
|||
|
|
|||
|
<a href="../practice/distributed-tracing.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.8.</b>
|
|||
|
|
|||
|
分布式跟踪
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.8.1" data-path="../practice/opentracing.html">
|
|||
|
|
|||
|
<a href="../practice/opentracing.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.8.1.</b>
|
|||
|
|
|||
|
OpenTracing
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.9" data-path="../practice/services-management-tool.html">
|
|||
|
|
|||
|
<a href="../practice/services-management-tool.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.9.</b>
|
|||
|
|
|||
|
服务编排管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.9.1" data-path="../practice/helm.html">
|
|||
|
|
|||
|
<a href="../practice/helm.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.9.1.</b>
|
|||
|
|
|||
|
使用Helm管理Kubernetes应用
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.9.2" data-path="../practice/create-private-charts-repo.html">
|
|||
|
|
|||
|
<a href="../practice/create-private-charts-repo.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.9.2.</b>
|
|||
|
|
|||
|
构建私有Chart仓库
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.10" data-path="../practice/ci-cd.html">
|
|||
|
|
|||
|
<a href="../practice/ci-cd.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.10.</b>
|
|||
|
|
|||
|
持续集成与发布
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.10.1" data-path="../practice/jenkins-ci-cd.html">
|
|||
|
|
|||
|
<a href="../practice/jenkins-ci-cd.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.10.1.</b>
|
|||
|
|
|||
|
使用Jenkins进行持续集成与发布
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.10.2" data-path="../practice/drone-ci-cd.html">
|
|||
|
|
|||
|
<a href="../practice/drone-ci-cd.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.10.2.</b>
|
|||
|
|
|||
|
使用Drone进行持续集成与发布
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.11" data-path="../practice/update-and-upgrade.html">
|
|||
|
|
|||
|
<a href="../practice/update-and-upgrade.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.11.</b>
|
|||
|
|
|||
|
更新与升级
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.11.1" data-path="../practice/manually-upgrade.html">
|
|||
|
|
|||
|
<a href="../practice/manually-upgrade.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.11.1.</b>
|
|||
|
|
|||
|
手动升级Kubernetes集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.11.2" data-path="../practice/dashboard-upgrade.html">
|
|||
|
|
|||
|
<a href="../practice/dashboard-upgrade.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.11.2.</b>
|
|||
|
|
|||
|
升级dashboard
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">领域应用</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.1" data-path="./">
|
|||
|
|
|||
|
<a href="./">
|
|||
|
|
|||
|
|
|||
|
<b>6.1.</b>
|
|||
|
|
|||
|
领域应用概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.2" data-path="microservices.html">
|
|||
|
|
|||
|
<a href="microservices.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.2.</b>
|
|||
|
|
|||
|
微服务架构
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.2.1" data-path="service-discovery-in-microservices.html">
|
|||
|
|
|||
|
<a href="service-discovery-in-microservices.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.2.1.</b>
|
|||
|
|
|||
|
微服务中的服务发现
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3" data-path="service-mesh.html">
|
|||
|
|
|||
|
<a href="service-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.</b>
|
|||
|
|
|||
|
Service Mesh 服务网格
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1" data-path="the-enterprise-path-to-service-mesh-architectures.html">
|
|||
|
|
|||
|
<a href="the-enterprise-path-to-service-mesh-architectures.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.</b>
|
|||
|
|
|||
|
企业级服务网格架构
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.1" data-path="service-mesh-fundamental.html">
|
|||
|
|
|||
|
<a href="service-mesh-fundamental.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.1.</b>
|
|||
|
|
|||
|
Service Mesh基础
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.2" data-path="comparing-service-mesh-technologies.html">
|
|||
|
|
|||
|
<a href="comparing-service-mesh-technologies.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.2.</b>
|
|||
|
|
|||
|
Service Mesh技术对比
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.3" data-path="service-mesh-adoption-and-evolution.html">
|
|||
|
|
|||
|
<a href="service-mesh-adoption-and-evolution.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.3.</b>
|
|||
|
|
|||
|
采纳和演进
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.4" data-path="service-mesh-customization-and-integration.html">
|
|||
|
|
|||
|
<a href="service-mesh-customization-and-integration.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.4.</b>
|
|||
|
|
|||
|
定制和集成
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.5" data-path="service-mesh-conclusion.html">
|
|||
|
|
|||
|
<a href="service-mesh-conclusion.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.5.</b>
|
|||
|
|
|||
|
总结
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2" data-path="istio.html">
|
|||
|
|
|||
|
<a href="istio.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.</b>
|
|||
|
|
|||
|
Istio
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.1" data-path="istio-installation.html">
|
|||
|
|
|||
|
<a href="istio-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.1.</b>
|
|||
|
|
|||
|
安装并试用Istio service mesh
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.2" data-path="configuring-request-routing.html">
|
|||
|
|
|||
|
<a href="configuring-request-routing.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.2.</b>
|
|||
|
|
|||
|
配置请求的路由规则
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.3" data-path="install-and-expand-istio-mesh.html">
|
|||
|
|
|||
|
<a href="install-and-expand-istio-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.3.</b>
|
|||
|
|
|||
|
安装和拓展Istio service mesh
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.4" data-path="integrating-vms.html">
|
|||
|
|
|||
|
<a href="integrating-vms.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.4.</b>
|
|||
|
|
|||
|
集成虚拟机
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.5" data-path="sidecar-spec-in-istio.html">
|
|||
|
|
|||
|
<a href="sidecar-spec-in-istio.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.5.</b>
|
|||
|
|
|||
|
Istio中sidecar的注入规范及示例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.6" data-path="istio-community-tips.html">
|
|||
|
|
|||
|
<a href="istio-community-tips.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.6.</b>
|
|||
|
|
|||
|
如何参与Istio社区及注意事项
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.7" data-path="istio-tutorial.html">
|
|||
|
|
|||
|
<a href="istio-tutorial.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.7.</b>
|
|||
|
|
|||
|
Istio教程
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.8" data-path="istio-tutorials-collection.html">
|
|||
|
|
|||
|
<a href="istio-tutorials-collection.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.8.</b>
|
|||
|
|
|||
|
Istio免费学习资源汇总
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.9" data-path="understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.html">
|
|||
|
|
|||
|
<a href="understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.9.</b>
|
|||
|
|
|||
|
深入理解Istio Service Mesh中的Envoy Sidecar注入与流量劫持
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter active" data-level="6.3.2.10" data-path="envoy-sidecar-routing-of-istio-service-mesh-deep-dive.html">
|
|||
|
|
|||
|
<a href="envoy-sidecar-routing-of-istio-service-mesh-deep-dive.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.10.</b>
|
|||
|
|
|||
|
深入理解Istio Service Mesh中的Envoy Sidecar代理的路由转发
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.3" data-path="linkerd.html">
|
|||
|
|
|||
|
<a href="linkerd.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.3.</b>
|
|||
|
|
|||
|
Linkerd
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.3.1" data-path="linkerd-user-guide.html">
|
|||
|
|
|||
|
<a href="linkerd-user-guide.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.3.1.</b>
|
|||
|
|
|||
|
Linkerd 使用指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4" data-path="conduit.html">
|
|||
|
|
|||
|
<a href="conduit.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.</b>
|
|||
|
|
|||
|
Conduit
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4.1" data-path="conduit-overview.html">
|
|||
|
|
|||
|
<a href="conduit-overview.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.1.</b>
|
|||
|
|
|||
|
Condiut概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4.2" data-path="conduit-installation.html">
|
|||
|
|
|||
|
<a href="conduit-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.2.</b>
|
|||
|
|
|||
|
安装Conduit
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.5" data-path="envoy.html">
|
|||
|
|
|||
|
<a href="envoy.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.5.</b>
|
|||
|
|
|||
|
Envoy
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.5.1" data-path="envoy-terminology.html">
|
|||
|
|
|||
|
<a href="envoy-terminology.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.5.1.</b>
|
|||
|
|
|||
|
Envoy的架构与基本术语
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.5.2" data-path="envoy-front-proxy.html">
|
|||
|
|
|||
|
<a href="envoy-front-proxy.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.5.2.</b>
|
|||
|
|
|||
|
Envoy作为前端代理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.5.3" data-path="envoy-mesh-in-kubernetes-tutorial.html">
|
|||
|
|
|||
|
<a href="envoy-mesh-in-kubernetes-tutorial.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.5.3.</b>
|
|||
|
|
|||
|
Envoy mesh教程
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.6" data-path="sofamesh.html">
|
|||
|
|
|||
|
<a href="sofamesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.6.</b>
|
|||
|
|
|||
|
SOFAMesh
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.6.1" data-path="dubbo-on-x-protocol-in-sofa-mesh.html">
|
|||
|
|
|||
|
<a href="dubbo-on-x-protocol-in-sofa-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.6.1.</b>
|
|||
|
|
|||
|
SOFAMesh中的Dubbo on x-protocol
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.7" data-path="sofamosn.html">
|
|||
|
|
|||
|
<a href="sofamosn.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.7.</b>
|
|||
|
|
|||
|
SOFAMosn
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.7.1" data-path="sofamosn-in-sofamesh.html">
|
|||
|
|
|||
|
<a href="sofamosn-in-sofamesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.7.1.</b>
|
|||
|
|
|||
|
使用 SOFAMosn 构建 SOFAMesh
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.4" data-path="big-data.html">
|
|||
|
|
|||
|
<a href="big-data.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.4.</b>
|
|||
|
|
|||
|
大数据
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.4.1" data-path="spark-standalone-on-kubernetes.html">
|
|||
|
|
|||
|
<a href="spark-standalone-on-kubernetes.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.4.1.</b>
|
|||
|
|
|||
|
Spark standalone on Kubernetes
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.4.2" data-path="running-spark-with-kubernetes-native-scheduler.html">
|
|||
|
|
|||
|
<a href="running-spark-with-kubernetes-native-scheduler.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.4.2.</b>
|
|||
|
|
|||
|
运行支持Kubernetes原生调度的Spark程序
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5" data-path="serverless.html">
|
|||
|
|
|||
|
<a href="serverless.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.</b>
|
|||
|
|
|||
|
Serverless架构
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5.1" data-path="understanding-serverless.html">
|
|||
|
|
|||
|
<a href="understanding-serverless.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.1.</b>
|
|||
|
|
|||
|
理解Serverless
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5.2" data-path="faas.html">
|
|||
|
|
|||
|
<a href="faas.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.2.</b>
|
|||
|
|
|||
|
FaaS-函数即服务
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5.2.1" data-path="openfaas-quick-start.html">
|
|||
|
|
|||
|
<a href="openfaas-quick-start.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.2.1.</b>
|
|||
|
|
|||
|
OpenFaaS快速入门指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.6" data-path="edge-computing.html">
|
|||
|
|
|||
|
<a href="edge-computing.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.6.</b>
|
|||
|
|
|||
|
边缘计算
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.7" data-path="ai.html">
|
|||
|
|
|||
|
<a href="ai.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.7.</b>
|
|||
|
|
|||
|
人工智能
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">开发指南</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="7.1" data-path="../develop/">
|
|||
|
|
|||
|
<a href="../develop/">
|
|||
|
|
|||
|
|
|||
|
<b>7.1.</b>
|
|||
|
|
|||
|
开发指南概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.2" data-path="../develop/sigs-and-working-group.html">
|
|||
|
|
|||
|
<a href="../develop/sigs-and-working-group.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.2.</b>
|
|||
|
|
|||
|
SIG和工作组
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.3" data-path="../develop/developing-environment.html">
|
|||
|
|
|||
|
<a href="../develop/developing-environment.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.3.</b>
|
|||
|
|
|||
|
开发环境搭建
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="7.3.1" data-path="../develop/using-vagrant-and-virtualbox-for-development.html">
|
|||
|
|
|||
|
<a href="../develop/using-vagrant-and-virtualbox-for-development.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.3.1.</b>
|
|||
|
|
|||
|
本地分布式开发环境搭建(使用Vagrant和Virtualbox)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.4" data-path="../develop/testing.html">
|
|||
|
|
|||
|
<a href="../develop/testing.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.4.</b>
|
|||
|
|
|||
|
单元测试和集成测试
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.5" data-path="../develop/client-go-sample.html">
|
|||
|
|
|||
|
<a href="../develop/client-go-sample.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.5.</b>
|
|||
|
|
|||
|
client-go示例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.6" data-path="../develop/operator.html">
|
|||
|
|
|||
|
<a href="../develop/operator.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.6.</b>
|
|||
|
|
|||
|
Operator
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="7.6.1" data-path="../develop/operator-sdk.html">
|
|||
|
|
|||
|
<a href="../develop/operator-sdk.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.6.1.</b>
|
|||
|
|
|||
|
operator-sdk
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.7" data-path="../develop/kubebuilder.html">
|
|||
|
|
|||
|
<a href="../develop/kubebuilder.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.7.</b>
|
|||
|
|
|||
|
kubebuilder
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.8" data-path="../develop/advance-developer.html">
|
|||
|
|
|||
|
<a href="../develop/advance-developer.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.8.</b>
|
|||
|
|
|||
|
高级开发指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.9" data-path="../develop/contribute.html">
|
|||
|
|
|||
|
<a href="../develop/contribute.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.9.</b>
|
|||
|
|
|||
|
社区贡献
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.10" data-path="../develop/minikube.html">
|
|||
|
|
|||
|
<a href="../develop/minikube.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.10.</b>
|
|||
|
|
|||
|
Minikube
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">附录</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="8.1" data-path="../appendix/">
|
|||
|
|
|||
|
<a href="../appendix/">
|
|||
|
|
|||
|
|
|||
|
<b>8.1.</b>
|
|||
|
|
|||
|
附录说明
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.2" data-path="../appendix/debug-kubernetes-services.html">
|
|||
|
|
|||
|
<a href="../appendix/debug-kubernetes-services.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.2.</b>
|
|||
|
|
|||
|
Kubernetes中的应用故障排查
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.3" data-path="../appendix/material-share.html">
|
|||
|
|
|||
|
<a href="../appendix/material-share.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.3.</b>
|
|||
|
|
|||
|
Kubernetes相关资讯和情报链接
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.4" data-path="../appendix/docker-best-practice.html">
|
|||
|
|
|||
|
<a href="../appendix/docker-best-practice.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.4.</b>
|
|||
|
|
|||
|
Docker最佳实践
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.5" data-path="../appendix/tricks.html">
|
|||
|
|
|||
|
<a href="../appendix/tricks.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.5.</b>
|
|||
|
|
|||
|
使用技巧
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.6" data-path="../appendix/issues.html">
|
|||
|
|
|||
|
<a href="../appendix/issues.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.6.</b>
|
|||
|
|
|||
|
问题记录
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7" data-path="../appendix/kubernetes-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.</b>
|
|||
|
|
|||
|
Kubernetes版本更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7.1" data-path="../appendix/kubernetes-1.7-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-1.7-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.1.</b>
|
|||
|
|
|||
|
Kubernetes1.7更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7.2" data-path="../appendix/kubernetes-1.8-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-1.8-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.2.</b>
|
|||
|
|
|||
|
Kubernetes1.8更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7.3" data-path="../appendix/kubernetes-1.9-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-1.9-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.3.</b>
|
|||
|
|
|||
|
Kubernetes1.9更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7.5" data-path="../appendix/kubernetes-1.11-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-1.11-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.5.</b>
|
|||
|
|
|||
|
Kubernetes1.11更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7.6" data-path="../appendix/kubernetes-1.12-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-1.12-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.6.</b>
|
|||
|
|
|||
|
Kubernetes1.12更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.7.7" data-path="../appendix/kubernetes-1.13-changelog.html">
|
|||
|
|
|||
|
<a href="../appendix/kubernetes-1.13-changelog.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.7.7.</b>
|
|||
|
|
|||
|
Kubernetes1.13更新日志
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</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="chapter " data-level="8.9" data-path="../appendix/about-kcsp.html">
|
|||
|
|
|||
|
<a href="../appendix/about-kcsp.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.9.</b>
|
|||
|
|
|||
|
Kubernetes认证服务提供商(KCSP)说明
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="8.10" data-path="../appendix/about-cka-candidate.html">
|
|||
|
|
|||
|
<a href="../appendix/about-cka-candidate.html">
|
|||
|
|
|||
|
|
|||
|
<b>8.10.</b>
|
|||
|
|
|||
|
认证Kubernetes管理员(CKA)说明
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="divider"></li>
|
|||
|
|
|||
|
<li>
|
|||
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|||
|
本书使用 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>
|
|||
|
<a href=".." >深入理解Istio Service Mesh中的Envoy Sidecar代理的路由转发</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">
|
|||
|
|
|||
|
<html><head></head><body><h1 id="深入理解istio-service-mesh中的envoy-sidecar代理的路由转发">深入理解Istio Service Mesh中的Envoy Sidecar代理的路由转发</h1>
|
|||
|
<p><strong>注意:本书中的 Service Mesh 章节已不再维护,请转到 <a href="https://jimmysong.io/istio-handbook" target="_blank">istio-handbook</a> 中浏览。</strong></p>
|
|||
|
<p>本文以 Istio 官方的 <a href="https://preliminary.istio.io/zh/docs/examples/bookinfo" target="_blank">bookinfo 示例</a>来讲解在进入 Pod 的流量被 iptables 转交给 Envoy sidecar 后,Envoy 是如何做路由转发的,详述了 Inbound 和 Outbound 处理过程。关于流量拦截的详细分析请参考<a href="https://jimmysong.io/posts/envoy-sidecar-injection-in-istio-service-mesh-deep-dive/" target="_blank">理解 Istio Service Mesh 中 Envoy 代理 Sidecar 注入及流量劫持</a>。</p>
|
|||
|
<p>下面是 Istio 官方提供的 bookinfo 的请求流程图,假设 bookinfo 应用的所有服务中没有配置 DestinationRule。</p>
|
|||
|
<figure id="fig6.3.2.10.1"><a href="https://ws1.sinaimg.cn/large/006tNbRwgy1fvlwjd3302j31bo0ro0x5.jpg" data-lightbox="e05bb8d7-6c3c-4068-85d5-7a72e7a5ffab" data-title="Bookinfo 示例" target="_blank"><img src="https://ws1.sinaimg.cn/large/006tNbRwgy1fvlwjd3302j31bo0ro0x5.jpg" alt="Bookinfo 示例"></a><figcaption>图片 - Bookinfo 示例</figcaption></figure>
|
|||
|
<p>下面是 Istio 自身组件与 Bookinfo 示例的连接关系图,我们可以看到所有的 HTTP 连接都在 9080 端口监听。</p>
|
|||
|
<figure id="fig6.3.2.10.2"><a href="https://ws4.sinaimg.cn/large/006tNbRwly1fyitp0jsghj31o70u0x6p.jpg" data-lightbox="1c58f3b7-3a09-4646-9ff4-c30f0feabdfb" data-title="Bookinfo 示例与 Istio 组件连接关系图" target="_blank"><img src="https://ws4.sinaimg.cn/large/006tNbRwly1fyitp0jsghj31o70u0x6p.jpg" alt="Bookinfo 示例与 Istio 组件连接关系图"></a><figcaption>图片 - Bookinfo 示例与 Istio 组件连接关系图</figcaption></figure>
|
|||
|
<p>可以在 <a href="https://drive.google.com/open?id=19ed3_tkjf6RgGboxllMdt_Ytd5_cocib" target="_blank">Google Drive</a> 上下载原图。</p>
|
|||
|
<h2 id="sidecar-注入及流量劫持步骤概述">Sidecar 注入及流量劫持步骤概述</h2>
|
|||
|
<p>下面是从 Sidecar 注入、Pod 启动到 Sidecar proxy 拦截流量及 Envoy 处理路由的步骤概览。</p>
|
|||
|
<p><strong>1.</strong> Kubernetes 通过 Admission Controller 自动注入,或者用户使用 <code>istioctl</code> 命令手动注入 sidecar 容器。</p>
|
|||
|
<p><strong>2.</strong> 应用 YAML 配置部署应用,此时 Kubernetes API server 接收到的服务创建配置文件中已经包含了 Init 容器及 sidecar proxy。</p>
|
|||
|
<p><strong>3.</strong> 在 sidecar proxy 容器和应用容器启动之前,首先运行 Init 容器,Init 容器用于设置 iptables(Istio 中默认的流量拦截方式,还可以使用 BPF、IPVS 等方式) 将进入 pod 的流量劫持到 Envoy sidecar proxy。所有 TCP 流量(Envoy 目前只支持 TCP 流量)将被 sidecar 劫持,其他协议的流量将按原来的目的地请求。</p>
|
|||
|
<p><strong>4.</strong> 启动 Pod 中的 Envoy sidecar proxy 和应用程序容器。这一步的过程请参考<a href="https://zhaohuabing.com/post/2018-09-25-istio-traffic-management-impl-intro/#%E9%80%9A%E8%BF%87%E7%AE%A1%E7%90%86%E6%8E%A5%E5%8F%A3%E8%8E%B7%E5%8F%96%E5%AE%8C%E6%95%B4%E9%85%8D%E7%BD%AE" target="_blank">通过管理接口获取完整配置</a>。</p>
|
|||
|
<blockquote>
|
|||
|
<p><strong>Sidecar proxy 与应用容器的启动顺序问题</strong></p>
|
|||
|
<p>启动 sidecar proxy 和应用容器,究竟哪个容器先启动呢?正常情况是 Envoy Sidecar 和应用程序容器全部启动完成后再开始接收流量请求。但是我们无法预料哪个容器会先启动,那么容器启动顺序是否会对 Envoy 劫持流量有影响呢?答案是肯定的,不过分为以下两种情况。</p>
|
|||
|
<p><strong>情况1:应用容器先启动,而 sidecar proxy 仍未就绪</strong></p>
|
|||
|
<p>这种情况下,流量被 iptables 转移到 15001 端口,而 Pod 中没有监听该端口,TCP 链接就无法建立,请求失败。</p>
|
|||
|
<p><strong>情况2:Sidecar 先启动,请求到达而应用程序仍未就绪</strong></p>
|
|||
|
<p>这种情况下请求也肯定会失败,至于是在哪一步开始失败的,留给读者来思考。</p>
|
|||
|
</blockquote>
|
|||
|
<p><strong>问题</strong>:如果为 sidecar proxy 和应用程序容器添加<a href="https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.html" target="_blank">就绪和存活探针</a>是否可以解决该问题呢?</p>
|
|||
|
<p><strong>5.</strong> 不论是进入还是从 Pod 发出的 TCP 请求都会被 iptables 劫持,inbound 流量被劫持后经 Inbound Handler 处理后转交给应用程序容器处理,outbound 流量被 iptables 劫持后转交给 Outbound Handler 处理,并确定转发的 upstream 和 Endpoint。</p>
|
|||
|
<p><strong>6.</strong> Sidecar proxy 请求 Pilot 使用 xDS 协议同步 Envoy 配置,其中包括 LDS、EDS、CDS 等,不过为了保证更新的顺序,Envoy 会直接使用 ADS 向 Pilot 请求配置更新。</p>
|
|||
|
<h2 id="envoy-如何处理路由转发">Envoy 如何处理路由转发</h2>
|
|||
|
<p> 下图展示的是 <code>productpage</code> 服务请求访问 <code>http://reviews.default.svc.cluster.local:9080/</code>,当流量进入 <code>reviews</code> 服务内部时,<code>reviews</code> 服务内部的 Envoy Sidecar 是如何做流量拦截和路由转发的。可以在 <a href="https://drive.google.com/file/d/1n-h235tm8DnL_RqxTTA95rgGtrLkBsyr/view?usp=sharing" target="_blank">Google Drive</a> 上下载原图。</p>
|
|||
|
<figure id="fig6.3.2.10.3"><a href="https://ws2.sinaimg.cn/large/006tNbRwly1fyl39icd27j31c70u04gc.jpg" data-lightbox="7185639a-4e55-48bb-bf27-b0a8f5373178" data-title="Envoy sidecar 流量劫持与路由转发示意图" target="_blank"><img src="https://ws2.sinaimg.cn/large/006tNbRwly1fyl39icd27j31c70u04gc.jpg" alt="Envoy sidecar 流量劫持与路由转发示意图"></a><figcaption>图片 - Envoy sidecar 流量劫持与路由转发示意图</figcaption></figure>
|
|||
|
<p>第一步开始时,<code>productpage</code> Pod 中的 Envoy sidecar 已经通过 EDS 选择出了要请求的 <code>reviews</code> 服务的一个 Pod,知晓了其 IP 地址,发送 TCP 连接请求。</p>
|
|||
|
<p>Istio 官网中的 <a href="https://preliminary.istio.io/zh/help/ops/traffic-management/proxy-cmd/#envoy-%E9%85%8D%E7%BD%AE%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90" target="_blank">Envoy 配置深度解析</a>中是以发起 HTTP 请求的一方来详述 Envoy 做流量转发的过程,而本文中考虑的是接受 downstream 的流量的一方,它既要接收 downstream 发来的请求,自己还需要请求其他服务,例如 <code>reviews</code> 服务中的 Pod 还需要请求 <code>ratings</code> 服务。</p>
|
|||
|
<p><code>reviews</code> 服务有三个版本,每个版本有一个实例,三个版本中的 sidecar 工作步骤类似,下文只以 <code>reviews-v1-cb8655c75-b97zc</code> 这一个 Pod 中的 Sidecar 流量转发步骤来说明。</p>
|
|||
|
<h2 id="理解-inbound-handler">理解 Inbound Handler</h2>
|
|||
|
<p>Inbound handler 的作用是将 iptables 拦截到的 downstream 的流量转交给 localhost,与 Pod 内的应用程序容器建立连接。</p>
|
|||
|
<p>查看下 <code>reviews-v1-cb8655c75-b97zc</code> pod 中的 Listener。</p>
|
|||
|
<p>运行 <code>istioctl pc listener reviews-v1-cb8655c75-b97zc</code> 查看该 Pod 中的具有哪些 Listener。</p>
|
|||
|
<pre class="language-"><code class="lang-ini">ADDRESS PORT TYPE
|
|||
|
172.33.3.3 9080 HTTP <--- 接收所有 Inbound HTTP 流量,该地址即为当前 Pod 的 IP 地址
|
|||
|
10.254.0.1 443 TCP <--+
|
|||
|
10.254.4.253 80 TCP |
|
|||
|
10.254.4.253 8080 TCP |
|
|||
|
10.254.109.182 443 TCP |
|
|||
|
10.254.22.50 15011 TCP |
|
|||
|
10.254.22.50 853 TCP |
|
|||
|
10.254.79.114 443 TCP |
|
|||
|
10.254.143.179 15011 TCP |
|
|||
|
10.254.0.2 53 TCP | 接收与 0.0.0.0_15001 监听器配对的 Outbound 非 HTTP 流量
|
|||
|
10.254.22.50 443 TCP |
|
|||
|
10.254.16.64 42422 TCP |
|
|||
|
10.254.127.202 16686 TCP |
|
|||
|
10.254.22.50 31400 TCP |
|
|||
|
10.254.22.50 8060 TCP |
|
|||
|
10.254.169.13 14267 TCP |
|
|||
|
10.254.169.13 14268 TCP |
|
|||
|
10.254.32.134 8443 TCP |
|
|||
|
10.254.118.196 443 TCP <--+
|
|||
|
0.0.0.0 15004 HTTP <--+
|
|||
|
0.0.0.0 8080 HTTP |
|
|||
|
0.0.0.0 15010 HTTP |
|
|||
|
0.0.0.0 8088 HTTP |
|
|||
|
0.0.0.0 15031 HTTP |
|
|||
|
0.0.0.0 9090 HTTP |
|
|||
|
0.0.0.0 9411 HTTP | 接收与 0.0.0.0_15001 配对的 Outbound HTTP 流量
|
|||
|
0.0.0.0 80 HTTP |
|
|||
|
0.0.0.0 15030 HTTP |
|
|||
|
0.0.0.0 9080 HTTP |
|
|||
|
0.0.0.0 9093 HTTP |
|
|||
|
0.0.0.0 3000 HTTP |
|
|||
|
0.0.0.0 8060 HTTP |
|
|||
|
0.0.0.0 9091 HTTP <--+
|
|||
|
0.0.0.0 15001 TCP <--- 接收所有经 iptables 拦截的 Inbound 和 Outbound 流量并转交给虚拟监听器处理
|
|||
|
</code></pre>
|
|||
|
<p>当来自 <code>productpage</code> 的流量抵达 <code>reviews</code> Pod 的时候已经,downstream 必须明确知道 Pod 的 IP 地址为 <code>172.33.3.3</code> 所以才会访问该 Pod,所以该请求是 <code>172.33.3.3:9080</code>。</p>
|
|||
|
<p><strong><code>virtual</code> Listener</strong></p>
|
|||
|
<p>从该 Pod 的 Listener 列表中可以看到,0.0.0.0:15001/TCP 的 Listener(其实际名字是 <code>virtual</code>)监听所有的 Inbound 流量,下面是该 Listener 的详细配置。</p>
|
|||
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"virtual"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"socketAddress"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token string">"0.0.0.0"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"portValue"</span><span class="token operator">:</span> <span class="token number">15001</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"filterChains"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"filters"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"envoy.tcp_proxy"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"config"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"cluster"</span><span class="token operator">:</span> <span class="token string">"BlackHoleCluster"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"stat_prefix"</span><span class="token operator">:</span> <span class="token string">"BlackHoleCluster"</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"useOriginalDst"</span><span class="token operator">:</span> <span class="token boolean">true</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
</code></pre>
|
|||
|
<p><strong>UseOriginalDst</strong>:从配置中可以看出 <code>useOriginalDst</code> 配置指定为 <code>true</code>,这是一个布尔值,缺省为 false,使用 iptables 重定向连接时,proxy 接收的端口可能与<a href="http://www.servicemesher.com/envoy/configuration/listener_filters/original_dst_filter.html" target="_blank">原始目的地址</a>的端口不一样,如此处 proxy 接收的端口为 15001,而原始目的地端口为 9080。当此标志设置为 true 时,Listener 将连接重定向到与原始目的地址关联的 Listener,此处为 <code>172.33.3.3:9080</code>。如果没有与原始目的地址关联的 Listener,则连接由接收它的 Listener 处理,即该 <code>virtual</code> Listener,经过 <code>envoy.tcp_proxy</code> 过滤器处理转发给 <code>BlackHoleCluster</code>,这个 Cluster 的作用正如它的名字,当 Envoy 找不到匹配的虚拟监听器时,就会将请求发送给它,并返回 404。这个将于下文提到的 Listener 中设置 <code>bindToPort</code> 相呼应。</p>
|
|||
|
<p><strong>注意</strong>:该参数将被废弃,请使用<a href="http://www.servicemesher.com/envoy/configuration/listener_filters/original_dst_filter.html" target="_blank">原始目的地址</a>的 Listener filter 替代。该参数的主要用途是:Envoy 通过监听 15001 端口将 iptables 拦截的流量经由其他 Listener 处理而不是直接转发出去,详情见 <a href="https://zhaohuabing.com/post/2018-09-25-istio-traffic-management-impl-intro/#virtual-listener" target="_blank">Virtual Listener</a>。</p>
|
|||
|
<p><strong>Listener 172.33.3.3_9080</strong></p>
|
|||
|
<p>上文说到进入 Inbound handler 的流量被 <code>virtual</code> Listener 转移到 <code>172.33.3.3_9080</code> Listener,我们在查看下该 Listener 配置。</p>
|
|||
|
<p>运行 <code>istioctl pc listener reviews-v1-cb8655c75-b97zc --address 172.33.3.3 --port 9080 -o json</code> 查看。</p>
|
|||
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">[</span><span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"172.33.3.3_9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"socketAddress"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token string">"172.33.3.3"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"portValue"</span><span class="token operator">:</span> <span class="token number">9080</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"filterChains"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"filterChainMatch"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"transportProtocol"</span><span class="token operator">:</span> <span class="token string">"raw_buffer"</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"filters"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"envoy.http_connection_manager"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"config"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
...
|
|||
|
<span class="token property">"route_config"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"inbound|9080||reviews.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"validate_clusters"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"virtual_hosts"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"domains"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token string">"*"</span>
|
|||
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"inbound|http|9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"routes"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
...
|
|||
|
<span class="token property">"route"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"cluster"</span><span class="token operator">:</span> <span class="token string">"inbound|9080||reviews.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"max_grpc_timeout"</span><span class="token operator">:</span> <span class="token string">"0.000s"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"timeout"</span><span class="token operator">:</span> <span class="token string">"0.000s"</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"use_remote_address"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|||
|
...
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>,
|
|||
|
<span class="token property">"deprecatedV1"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"bindToPort"</span><span class="token operator">:</span> <span class="token boolean">false</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
...
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"filterChainMatch"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"transportProtocol"</span><span class="token operator">:</span> <span class="token string">"tls"</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"tlsContext"</span><span class="token operator">:</span> <span class="token punctuation">{</span>...
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"filters"</span><span class="token operator">:</span> <span class="token punctuation">[</span>...
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|||
|
...
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">]</span>
|
|||
|
</code></pre>
|
|||
|
<p><strong>bindToPort</strong>:注意其中有一个 <a href="https://www.envoyproxy.io/docs/envoy/v1.6.0/api-v1/listeners/listeners" target="_blank"><code>bindToPort</code></a> 的配置,其值为 <code>false</code>,该配置的缺省值为 <code>true</code>,表示将 Listener 绑定到端口上,此处设置为 <code>false</code> 则该 Listener 只能处理其他 Listener 转移过来的流量,即上文所说的 <code>virtual</code> Listener,我们看其中的 filterChains.filters 中的 <code>envoy.http_connection_manager</code> 配置部分:</p>
|
|||
|
<pre class="language-"><code class="lang-json"><span class="token property">"route_config"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"inbound|9080||reviews.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"validate_clusters"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"virtual_hosts"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"domains"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token string">"*"</span>
|
|||
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"inbound|http|9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"routes"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
...
|
|||
|
<span class="token property">"route"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"cluster"</span><span class="token operator">:</span> <span class="token string">"inbound|9080||reviews.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"max_grpc_timeout"</span><span class="token operator">:</span> <span class="token string">"0.000s"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"timeout"</span><span class="token operator">:</span> <span class="token string">"0.000s"</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
</code></pre>
|
|||
|
<p>该配置表示流量将转交给 Cluster <code>inbound|9080||reviews.default.svc.cluster.local</code> 处理。</p>
|
|||
|
<p><strong>Cluster <code>inbound|9080||reviews.default.svc.cluster.local</code></strong></p>
|
|||
|
<p>运行 <code>istioctl pc cluster reviews-v1-cb8655c75-b97zc --fqdn reviews.default.svc.cluster.local --direction inbound -o json</code> 查看该 Cluster 的配置如下。</p>
|
|||
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"inbound|9080||reviews.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"connectTimeout"</span><span class="token operator">:</span> <span class="token string">"1.000s"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"hosts"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"socketAddress"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token string">"127.0.0.1"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"portValue"</span><span class="token operator">:</span> <span class="token number">9080</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"circuitBreakers"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"thresholds"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span><span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
</code></pre>
|
|||
|
<p>可以看到该 Cluster 的 Endpoint 直接对应的就是 localhost,再经过 iptables 转发流量就被应用程序容器消费了。</p>
|
|||
|
<h2 id="理解-outbound-handler">理解 Outbound Handler</h2>
|
|||
|
<p>因为 <code>reviews</code> 会向 <code>ratings</code> 服务发送 HTTP 请求,请求的地址是:<code>http://ratings.default.svc.cluster.local:9080/</code>,Outbound handler 的作用是将 iptables 拦截到的本地应用程序发出的流量,经由 Envoy 判断如何路由到 upstream。</p>
|
|||
|
<p>应用程序容器发出的请求为 Outbound 流量,被 iptables 劫持后转移给 Envoy Outbound handler 处理,然后经过 <code>virtual</code> Listener、<code>0.0.0.0_9080</code> Listener,然后通过 Route 9080 找到 upstream 的 cluster,进而通过 EDS 找到 Endpoint 执行路由动作。这一部分可以参考 Istio 官网中的 <a href="https://preliminary.istio.io/zh/help/ops/traffic-management/proxy-cmd/#envoy-%E9%85%8D%E7%BD%AE%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90" target="_blank">Envoy 深度配置解析</a>。</p>
|
|||
|
<p><strong>Route 9080</strong></p>
|
|||
|
<p><code>reviews</code> 会请求 <code>ratings</code> 服务,运行 <code>istioctl proxy-config routes reviews-v1-cb8655c75-b97zc --name 9080 -o json</code> 查看 route 配置,因为 Envoy 会根据 HTTP header 中的 domains 来匹配 VirtualHost,所以下面只列举了 <code>ratings.default.svc.cluster.local:9080</code> 这一个 VirtualHost。</p>
|
|||
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">[</span><span class="token punctuation">{</span>
|
|||
|
<span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"ratings.default.svc.cluster.local:9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"domains"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token string">"ratings.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default.svc.cluster.local:9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings:9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default.svc.cluster"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default.svc.cluster:9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default.svc"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default.svc:9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"ratings.default:9080"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"10.254.234.130"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token string">"10.254.234.130:9080"</span>
|
|||
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"routes"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"match"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"prefix"</span><span class="token operator">:</span> <span class="token string">"/"</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"route"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"cluster"</span><span class="token operator">:</span> <span class="token string">"outbound|9080||ratings.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"timeout"</span><span class="token operator">:</span> <span class="token string">"0.000s"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"maxGrpcTimeout"</span><span class="token operator">:</span> <span class="token string">"0.000s"</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"decorator"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"operation"</span><span class="token operator">:</span> <span class="token string">"ratings.default.svc.cluster.local:9080/*"</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"perFilterConfig"</span><span class="token operator">:</span> <span class="token punctuation">{</span>...
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
..<span class="token punctuation">]</span>
|
|||
|
</code></pre>
|
|||
|
<p>从该 Virtual Host 配置中可以看到将流量路由到 Cluster <code>outbound|9080||ratings.default.svc.cluster.local</code>。</p>
|
|||
|
<p><strong>Endpoint <code>outbound|9080||ratings.default.svc.cluster.local</code></strong></p>
|
|||
|
<p>Istio 1.1 以前版本不支持使用 <code>istioctl</code> 命令直接查询 Cluster 的 Endpoint,可以使用查询 Pilot 的 debug 端点的方式折中。</p>
|
|||
|
<pre class="language-"><code class="lang-bash">kubectl <span class="token function">exec</span> reviews-v1-cb8655c75-b97zc -c istio-proxy <span class="token function">curl</span> http://istio-pilot.istio-system.svc.cluster.local:9093/debug/edsz <span class="token operator">></span> endpoints.json
|
|||
|
</code></pre>
|
|||
|
<p><code>endpoints.json</code> 文件中包含了所有 Cluster 的 Endpoint 信息,我们只选取其中的 <code>outbound|9080||ratings.default.svc.cluster.local</code> Cluster 的结果如下。</p>
|
|||
|
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
|
|||
|
<span class="token property">"clusterName"</span><span class="token operator">:</span> <span class="token string">"outbound|9080||ratings.default.svc.cluster.local"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"endpoints"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"locality"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"lbEndpoints"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|||
|
<span class="token punctuation">{</span>
|
|||
|
<span class="token property">"endpoint"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"socketAddress"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"address"</span><span class="token operator">:</span> <span class="token string">"172.33.100.2"</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"portValue"</span><span class="token operator">:</span> <span class="token number">9080</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|||
|
<span class="token property">"metadata"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"filterMetadata"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"istio"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|||
|
<span class="token property">"uid"</span><span class="token operator">:</span> <span class="token string">"kubernetes://ratings-v1-8558d4458d-ns6lk.default"</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">]</span>
|
|||
|
<span class="token punctuation">}</span>
|
|||
|
</code></pre>
|
|||
|
<p>Endpoint 可以是一个或多个,Envoy 将根据一定规则选择适当的 Endpoint 来路由。</p>
|
|||
|
<p><strong>注</strong>:Istio 1.1 将支持 <code>istioctl pc endpoint</code> 命令来查询 Endpoint。</p>
|
|||
|
<h2 id="参考">参考</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="https://preliminary.istio.io/zh/help/ops/traffic-management/proxy-cmd/" target="_blank">调试 Envoy 和 Pilot - istio.io</a></li>
|
|||
|
<li><a href="https://jimmysong.io/posts/envoy-sidecar-injection-in-istio-service-mesh-deep-dive/" target="_blank">理解 Istio Service Mesh 中 Envoy 代理 Sidecar 注入及流量劫持 - jimmysong.io</a></li>
|
|||
|
<li><a href="https://zhaohuabing.com/post/2018-09-25-istio-traffic-management-impl-intro/" target="_blank">Istio流量管理实现机制深度解析 - zhaohuabing.com</a></li>
|
|||
|
</ul>
|
|||
|
<footer class="page-footer"><span class="copyright"><p><a href="https://github.com/alipay/sofa-mesh" target="_blank">SOFAMesh - 基于 Istio 的大规模服务网格解决方案</a> | <a href="https://github.com/alipay/sofa-mosn" target="_blank">SOFAMosn - Golang 版的高性能 Service Mesh Sidecar 代理</a></p><p><a href="https://ws4.sinaimg.cn/large/006tNbRwly1fw3ku0cwuhj304g056dgk.jpg" data-lightbox="2fd927ee-fa64-4eca-8ed5-6bd72b573a3c" target="_blank">点击关注【云原生应用架构】公众号回复【加群】加入学习群</a> | <a href="https://ws1.sinaimg.cn/large/006tNbRwly1fw3fzx37obj30yi1pdk1r.jpg" data-lightbox="2fd927ee-fa64-4eca-8ed5-6bd72b573a33" target="_blank">深入剖析 Kubernetes by 张磊</a></p>Copyright © <a href="https://jimmysong.io" target="_blank">jimmysong.io</a> 2017-2019 all right reserved,powered by Gitbook</span><span class="footer-modification"> Updated at
|
|||
|
2019-01-02 16:32:33
|
|||
|
</span></footer></body></html>
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.html" class="navigation navigation-prev " aria-label="Previous page: 深入理解Istio Service Mesh中的Envoy Sidecar注入与流量劫持">
|
|||
|
<i class="fa fa-angle-left"></i>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
<a href="linkerd.html" class="navigation navigation-next " aria-label="Next page: Linkerd">
|
|||
|
<i class="fa fa-angle-right"></i>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
var gitbook = gitbook || [];
|
|||
|
gitbook.push(function() {
|
|||
|
gitbook.page.hasChanged({"page":{"title":"深入理解Istio Service Mesh中的Envoy Sidecar代理的路由转发","level":"6.3.2.10","depth":3,"next":{"title":"Linkerd","level":"6.3.3","depth":2,"path":"usecases/linkerd.md","ref":"usecases/linkerd.md","articles":[{"title":"Linkerd 使用指南","level":"6.3.3.1","depth":3,"path":"usecases/linkerd-user-guide.md","ref":"usecases/linkerd-user-guide.md","articles":[]}]},"previous":{"title":"深入理解Istio Service Mesh中的Envoy Sidecar注入与流量劫持","level":"6.3.2.9","depth":3,"path":"usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.md","ref":"usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.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","sitemap-general","lightbox","adsense","ga"],"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":"<p><a href=https://github.com/alipay/sofa-mesh>SOFAMesh - 基于 Istio 的大规模服务网格解决方案</a> | <a href=https://github.com/alipay/sofa-mosn>SOFAMosn - Golang 版的高性能 Service Mesh Sidecar 代理</a></p><p><a href=https://ws4.sinaimg.cn/large/006tNbRwly1fw3ku0cwuhj304g056dgk.jpg data-lightbox=2fd927ee-fa64-4eca-8ed5-6bd72b573a3c>点击关注【云原生应用架构】公众号回复【加群】加入学习群</a> | <a href=https://ws1.sinaimg.cn/large/006tNbRwly1fw3fzx37obj30yi1pdk1r.jpg data-lightbox=2fd927ee-fa64-4eca-8ed5-6bd72b573a33>深入剖析 Kubernetes by 张磊</a></p>Copyright © <a href=https://jimmysong.io>jimmysong.io</a> 2017-2019","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":{},"adsense":{"client":"ca-pub-4029167986768912","slot":"2445941692","format":"auto","element":".page-inner section","position":"bottom"},"codesnippet":{},"sitemap-general":{"prefix":"https://jimmysong.io/kubernetes-handbook/"},"fontsettings":{"theme":"white","family":"sans","size":2},"favicon":{"shortcut":"favicon.ico","bookmark":"favicon.ico"},"lightbox":{"jquery":true},"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"},"ga":{"configuration":"auto","token":"UA-93485976-1"},"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":"index.html#fig1.1.1","level":"1.1","list_caption":"Figure: Stargazers over time","alt":"Stargazers over time","nro":1,"url":"https://starcharts.herokuapp.com/rootsongjc/kubernetes-handbook.svg","index":1,"caption_template":"图片 - _CAPTION_","label":"Stargazers over time","at
|
|||
|
});
|
|||
|
</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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-github-buttons/plugin.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-3-ba/plugin.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-lightbox/jquery.min.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-lightbox/lightbox.min.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-adsense/plugin.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-ga/plugin.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|
|||
|
|