3975 lines
203 KiB
HTML
3975 lines
203 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>云原生编程语言Ballerina · Kubernetes Handbook - jimmysong.io</title>
|
|||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|||
|
<meta name="description" content="">
|
|||
|
<meta name="generator" content="GitBook 3.2.2">
|
|||
|
<meta name="author" content="Jimmy Song">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/style.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-page-toc-button/plugin.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-image-captions/image-captions.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<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-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="../concepts/" />
|
|||
|
|
|||
|
|
|||
|
<link rel="prev" href="from-kubernetes-to-cloud-native.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" target="_blank" class="custom-link">Jimmy Song</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="chapter " data-level="1.2" data-path="cncf.html">
|
|||
|
|
|||
|
<a href="cncf.html">
|
|||
|
|
|||
|
|
|||
|
<b>1.2.</b>
|
|||
|
|
|||
|
CNCF - 云原生计算基金会简介
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">云原生</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="2.1" data-path="play-with-kubernetes.html">
|
|||
|
|
|||
|
<a href="play-with-kubernetes.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.1.</b>
|
|||
|
|
|||
|
Play with Kubernetes
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.2" data-path="kubernetes-and-cloud-native-app-overview.html">
|
|||
|
|
|||
|
<a href="kubernetes-and-cloud-native-app-overview.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.2.</b>
|
|||
|
|
|||
|
Kubernetes与云原生应用概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="2.3" data-path="from-kubernetes-to-cloud-native.html">
|
|||
|
|
|||
|
<a href="from-kubernetes-to-cloud-native.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.3.</b>
|
|||
|
|
|||
|
云原生应用之路——从Kubernetes到Cloud Native
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter active" data-level="2.4" data-path="cloud-native-programming-language-ballerina.html">
|
|||
|
|
|||
|
<a href="cloud-native-programming-language-ballerina.html">
|
|||
|
|
|||
|
|
|||
|
<b>2.4.</b>
|
|||
|
|
|||
|
云原生编程语言Ballerina
|
|||
|
|
|||
|
</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" >
|
|||
|
|
|||
|
<span>
|
|||
|
|
|||
|
|
|||
|
<b>3.2.</b>
|
|||
|
|
|||
|
Kubernetes中的网络
|
|||
|
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="3.2.1" data-path="../concepts/networking.html">
|
|||
|
|
|||
|
<a href="../concepts/networking.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>
|
|||
|
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
|
|||
|
</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/aggregated-api-server.html">
|
|||
|
|
|||
|
<a href="../concepts/aggregated-api-server.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.2.</b>
|
|||
|
|
|||
|
Aggregated API Server
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.3" data-path="../concepts/apiservice.html">
|
|||
|
|
|||
|
<a href="../concepts/apiservice.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.3.</b>
|
|||
|
|
|||
|
APIService
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="3.10.4" data-path="../concepts/service-catalog.html">
|
|||
|
|
|||
|
<a href="../concepts/service-catalog.html">
|
|||
|
|
|||
|
|
|||
|
<b>3.10.4.</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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</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>
|
|||
|
|
|||
|
使用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/ceph.html">
|
|||
|
|
|||
|
<a href="../practice/ceph.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.2.</b>
|
|||
|
|
|||
|
Ceph
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.2.1" data-path="../practice/ceph-helm-install-guide-zh.html">
|
|||
|
|
|||
|
<a href="../practice/ceph-helm-install-guide-zh.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.2.1.</b>
|
|||
|
|
|||
|
用Helm托管安装Ceph集群并提供后端存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.2.2" data-path="../practice/using-ceph-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-ceph-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.2.2.</b>
|
|||
|
|
|||
|
使用Ceph做持久化存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.3" data-path="../practice/openebs.html">
|
|||
|
|
|||
|
<a href="../practice/openebs.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.3.</b>
|
|||
|
|
|||
|
OpenEBS
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.3.1" data-path="../practice/using-openebs-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-openebs-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.3.1.</b>
|
|||
|
|
|||
|
使用OpenEBS做持久化存储
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.4" data-path="../practice/rook.html">
|
|||
|
|
|||
|
<a href="../practice/rook.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.4.</b>
|
|||
|
|
|||
|
Rook
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.5" data-path="../practice/nfs.html">
|
|||
|
|
|||
|
<a href="../practice/nfs.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.5.</b>
|
|||
|
|
|||
|
NFS
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.6.5.1" data-path="../practice/using-nfs-for-persistent-storage.html">
|
|||
|
|
|||
|
<a href="../practice/using-nfs-for-persistent-storage.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.6.5.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>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.8" data-path="../practice/services-management-tool.html">
|
|||
|
|
|||
|
<a href="../practice/services-management-tool.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.8.</b>
|
|||
|
|
|||
|
服务编排管理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.8.1" data-path="../practice/helm.html">
|
|||
|
|
|||
|
<a href="../practice/helm.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.8.1.</b>
|
|||
|
|
|||
|
使用Helm管理kubernetes应用
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.8.2" data-path="../practice/create-private-charts-repo.html">
|
|||
|
|
|||
|
<a href="../practice/create-private-charts-repo.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.8.2.</b>
|
|||
|
|
|||
|
构建私有Chart仓库
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.9" data-path="../practice/ci-cd.html">
|
|||
|
|
|||
|
<a href="../practice/ci-cd.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.9.</b>
|
|||
|
|
|||
|
持续集成与发布
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.9.1" data-path="../practice/jenkins-ci-cd.html">
|
|||
|
|
|||
|
<a href="../practice/jenkins-ci-cd.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.9.1.</b>
|
|||
|
|
|||
|
使用Jenkins进行持续集成与发布
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.9.2" data-path="../practice/drone-ci-cd.html">
|
|||
|
|
|||
|
<a href="../practice/drone-ci-cd.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.9.2.</b>
|
|||
|
|
|||
|
使用Drone进行持续集成与发布
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.10" data-path="../practice/update-and-upgrade.html">
|
|||
|
|
|||
|
<a href="../practice/update-and-upgrade.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.10.</b>
|
|||
|
|
|||
|
更新与升级
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="5.10.1" data-path="../practice/manually-upgrade.html">
|
|||
|
|
|||
|
<a href="../practice/manually-upgrade.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.10.1.</b>
|
|||
|
|
|||
|
手动升级Kubernetes集群
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="5.10.2" data-path="../practice/dashboard-upgrade.html">
|
|||
|
|
|||
|
<a href="../practice/dashboard-upgrade.html">
|
|||
|
|
|||
|
|
|||
|
<b>5.10.2.</b>
|
|||
|
|
|||
|
升级dashboard
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="header">领域应用</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.1" data-path="../usecases/">
|
|||
|
|
|||
|
<a href="../usecases/">
|
|||
|
|
|||
|
|
|||
|
<b>6.1.</b>
|
|||
|
|
|||
|
领域应用概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.2" data-path="../usecases/microservices.html">
|
|||
|
|
|||
|
<a href="../usecases/microservices.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.2.</b>
|
|||
|
|
|||
|
微服务架构
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.2.1" data-path="../usecases/service-discovery-in-microservices.html">
|
|||
|
|
|||
|
<a href="../usecases/service-discovery-in-microservices.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.2.1.</b>
|
|||
|
|
|||
|
微服务中的服务发现
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.2.2" data-path="../usecases/microservices-for-java-developers.html">
|
|||
|
|
|||
|
<a href="../usecases/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="../usecases/spring-boot-quick-start-guide.html">
|
|||
|
|
|||
|
<a href="../usecases/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="../usecases/service-mesh.html">
|
|||
|
|
|||
|
<a href="../usecases/service-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.</b>
|
|||
|
|
|||
|
Service Mesh 服务网格
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1" data-path="../usecases/istio.html">
|
|||
|
|
|||
|
<a href="../usecases/istio.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.</b>
|
|||
|
|
|||
|
Istio
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.1" data-path="../usecases/istio-installation.html">
|
|||
|
|
|||
|
<a href="../usecases/istio-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.1.</b>
|
|||
|
|
|||
|
安装并试用Istio service mesh
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.2" data-path="../usecases/configuring-request-routing.html">
|
|||
|
|
|||
|
<a href="../usecases/configuring-request-routing.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.2.</b>
|
|||
|
|
|||
|
配置请求的路由规则
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.3" data-path="../usecases/install-and-expand-istio-mesh.html">
|
|||
|
|
|||
|
<a href="../usecases/install-and-expand-istio-mesh.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.3.</b>
|
|||
|
|
|||
|
安装和拓展Istio service mesh
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.4" data-path="../usecases/integrating-vms.html">
|
|||
|
|
|||
|
<a href="../usecases/integrating-vms.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.4.</b>
|
|||
|
|
|||
|
集成虚拟机
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.5" data-path="../usecases/sidecar-spec-in-istio.html">
|
|||
|
|
|||
|
<a href="../usecases/sidecar-spec-in-istio.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.5.</b>
|
|||
|
|
|||
|
Istio中sidecar的注入规范及示例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.6" data-path="../usecases/istio-community-tips.html">
|
|||
|
|
|||
|
<a href="../usecases/istio-community-tips.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.6.</b>
|
|||
|
|
|||
|
如何参与Istio社区及注意事项
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.1.7" data-path="../usecases/istio-tutorial.html">
|
|||
|
|
|||
|
<a href="../usecases/istio-tutorial.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.1.7.</b>
|
|||
|
|
|||
|
Istio 教程
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2" data-path="../usecases/linkerd.html">
|
|||
|
|
|||
|
<a href="../usecases/linkerd.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.</b>
|
|||
|
|
|||
|
Linkerd
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.2.1" data-path="../usecases/linkerd-user-guide.html">
|
|||
|
|
|||
|
<a href="../usecases/linkerd-user-guide.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.2.1.</b>
|
|||
|
|
|||
|
Linkerd 使用指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.3" data-path="../usecases/conduit.html">
|
|||
|
|
|||
|
<a href="../usecases/conduit.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.3.</b>
|
|||
|
|
|||
|
Conduit
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.3.1" data-path="../usecases/conduit-overview.html">
|
|||
|
|
|||
|
<a href="../usecases/conduit-overview.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.3.1.</b>
|
|||
|
|
|||
|
Condiut概览
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.3.2" data-path="../usecases/conduit-installation.html">
|
|||
|
|
|||
|
<a href="../usecases/conduit-installation.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.3.2.</b>
|
|||
|
|
|||
|
安装Conduit
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4" data-path="../usecases/envoy.html">
|
|||
|
|
|||
|
<a href="../usecases/envoy.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.</b>
|
|||
|
|
|||
|
Envoy
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4.1" data-path="../usecases/envoy-terminology.html">
|
|||
|
|
|||
|
<a href="../usecases/envoy-terminology.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.1.</b>
|
|||
|
|
|||
|
Envoy的架构与基本术语
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4.2" data-path="../usecases/envoy-front-proxy.html">
|
|||
|
|
|||
|
<a href="../usecases/envoy-front-proxy.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.2.</b>
|
|||
|
|
|||
|
Envoy作为前端代理
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.3.4.3" data-path="../usecases/envoy-mesh-in-kubernetes-tutorial.html">
|
|||
|
|
|||
|
<a href="../usecases/envoy-mesh-in-kubernetes-tutorial.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.3.4.3.</b>
|
|||
|
|
|||
|
Envoy mesh教程
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.4" data-path="../usecases/big-data.html">
|
|||
|
|
|||
|
<a href="../usecases/big-data.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.4.</b>
|
|||
|
|
|||
|
大数据
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.4.1" data-path="../usecases/spark-standalone-on-kubernetes.html">
|
|||
|
|
|||
|
<a href="../usecases/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="../usecases/running-spark-with-kubernetes-native-scheduler.html">
|
|||
|
|
|||
|
<a href="../usecases/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="../usecases/serverless.html">
|
|||
|
|
|||
|
<a href="../usecases/serverless.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.</b>
|
|||
|
|
|||
|
Serverless架构
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5.1" data-path="../usecases/understanding-serverless.html">
|
|||
|
|
|||
|
<a href="../usecases/understanding-serverless.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.1.</b>
|
|||
|
|
|||
|
理解Serverless
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5.2" data-path="../usecases/faas.html">
|
|||
|
|
|||
|
<a href="../usecases/faas.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.5.2.</b>
|
|||
|
|
|||
|
FaaS-函数即服务
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<ul class="articles">
|
|||
|
|
|||
|
|
|||
|
<li class="chapter " data-level="6.5.2.1" data-path="../usecases/openfaas-quick-start.html">
|
|||
|
|
|||
|
<a href="../usecases/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="../usecases/edge-computing.html">
|
|||
|
|
|||
|
<a href="../usecases/edge-computing.html">
|
|||
|
|
|||
|
|
|||
|
<b>6.6.</b>
|
|||
|
|
|||
|
边缘计算
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="6.7" data-path="../usecases/ai.html">
|
|||
|
|
|||
|
<a href="../usecases/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>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.4" data-path="../develop/using-vagrant-and-virtualbox-for-development.html">
|
|||
|
|
|||
|
<a href="../develop/using-vagrant-and-virtualbox-for-development.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.4.</b>
|
|||
|
|
|||
|
本地分布式开发环境搭建(使用Vagrant和Virtualbox)
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.5" data-path="../develop/testing.html">
|
|||
|
|
|||
|
<a href="../develop/testing.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.5.</b>
|
|||
|
|
|||
|
单元测试和集成测试
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.6" data-path="../develop/client-go-sample.html">
|
|||
|
|
|||
|
<a href="../develop/client-go-sample.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.6.</b>
|
|||
|
|
|||
|
client-go示例
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.7" data-path="../develop/operator.html">
|
|||
|
|
|||
|
<a href="../develop/operator.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.7.</b>
|
|||
|
|
|||
|
Operator
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.8" data-path="../develop/operator-sdk.html">
|
|||
|
|
|||
|
<a href="../develop/operator-sdk.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.8.</b>
|
|||
|
|
|||
|
operator-sdk
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.9" data-path="../develop/advance-developer.html">
|
|||
|
|
|||
|
<a href="../develop/advance-developer.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.9.</b>
|
|||
|
|
|||
|
高级开发指南
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.10" data-path="../develop/contribute.html">
|
|||
|
|
|||
|
<a href="../develop/contribute.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.10.</b>
|
|||
|
|
|||
|
社区贡献
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="chapter " data-level="7.11" data-path="../develop/minikube.html">
|
|||
|
|
|||
|
<a href="../develop/minikube.html">
|
|||
|
|
|||
|
|
|||
|
<b>7.11.</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>
|
|||
|
|
|||
|
|
|||
|
</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=".." >云原生编程语言Ballerina</a>
|
|||
|
</h1>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="page-wrapper" tabindex="-1" role="main">
|
|||
|
<div class="page-inner">
|
|||
|
|
|||
|
<div class="search-plus" id="book-search-results">
|
|||
|
<div class="search-noresults">
|
|||
|
|
|||
|
<section class="normal markdown-section">
|
|||
|
|
|||
|
<h1 id="云原生编程语言-ballerina">云原生编程语言 Ballerina</h1>
|
|||
|
<p>当我第一眼看到 <a href="https://ballerina.io" target="_blank">Ballerina</a> 还真有点惊艳的感觉。Ballerina 这个单词的意思是“芭蕾舞女演员”。我想他们之所以给公司和这们语言起这个名字,可能是希望它成为云原生这个大舞台中,Ballerina 能像一个灵活的芭蕾舞者一样轻松自如吧!</p>
|
|||
|
<p>Ballerina 是一款开源的编译式的强类型语言,该语言本身的代码可以通过 <a href="https://github.com/ballerina-platform/ballerina-lang" target="_blank">GitHub</a> 上获取。我们可以通过 Ballerina 官网上的<a href="https://ballerina.io/philosophy/" target="_blank">设计哲学</a>页面来对这门云原生编程语言一探究竟。</p>
|
|||
|
<figure id="fig2.4.1"><img src="../images/philosophy-page-diagrams-top.png" alt="云原生编程语言ballerina"><figcaption>图片 - 云原生编程语言ballerina</figcaption></figure>
|
|||
|
<p>未来的应用程序应该是基于 API 的,而众多 API 之间的通讯和集成就成了关键问题。Ballerina 是一款使用文本和图形语法编译的、事务的、静态和强类型编程语言。Ballerina 包含分布式系统集成到语言的基本概念,并提供类型安全,并发环境下实现的分布式事务,可靠的消息传递,流处理和工作流。</p>
|
|||
|
<h2 id="为什么创建-ballerina?">为什么创建 Ballerina?</h2>
|
|||
|
<p>与 ESB 集成仍然是瀑布式开发。你必须部署服务器,配置连接器,使用 XML 编程服务逻辑以及使用 XPath 查询和转换数据。这不是开发者友好的。</p>
|
|||
|
<p>带有 Spring 和 Node.js 等框架的编程语言提供了灵活性,但是它没有使适合于序列并行化、并发模型编程的分布式系统结构变得简单。</p>
|
|||
|
<p>ESB、EAI、BPM 和 DSL 需要 XML 和配置来中断迭代开发流程:编辑、构建、运行和测试。这与运行实际应用之间是有一条鸿沟的,而云原生编程语言 Ballerina 的出现就是为了解决这条“集成鸿沟”的。</p>
|
|||
|
<h2 id="ballerina-设计理念">Ballerina 设计理念</h2>
|
|||
|
<h3 id="序列图">序列图</h3>
|
|||
|
<figure id="fig2.4.2"><img src="../images/philosophy-principle-diagrams-01.png" alt="云原生编程语言Ballerina的序列图设计理念"><figcaption>图片 - 云原生编程语言Ballerina的序列图设计理念</figcaption></figure>
|
|||
|
<p><strong>语言灵感</strong></p>
|
|||
|
<p>序列图反映了设计开发人员记录的互联的系统。Ballerina 的语法和高效的编码模式要求开发人员使用强大的交互最佳实践来编码。</p>
|
|||
|
<p><strong>序列图可视化</strong></p>
|
|||
|
<p>Ballerina 的语言语义模型旨在定义独立的各方如何通过结构化的交互沟通。接着,每个 Ballerina 程序都可以显示为其流程的序列图。IntelliJ 和 VS Code 的插件中提供了这些可视化。Ballerina Composer 是一款通过序列图创建 Ballerina 服务的工具。</p>
|
|||
|
<p><strong>Actor 与 action</strong></p>
|
|||
|
<p>客户端、worker 和远程系统在 Ballerina 的序列图中以不同的 actor 表示。在代码中,远程端点通过连接器进行连接,连接器提供类型安全操作。在图形上,每个连接器在序列图中表示为一个 actor(即一条垂直线),action 表示为与这些actor 的交互。</p>
|
|||
|
<h3 id="并发">并发</h3>
|
|||
|
<figure id="fig2.4.3"><img src="../images/philosophy-principle-diagrams-02.png" alt="云原生编程语言Ballerina的并发理念"><figcaption>图片 - 云原生编程语言Ballerina的并发理念</figcaption></figure>
|
|||
|
<p><strong>序列图和并发</strong></p>
|
|||
|
<p>Ballerina 的并发模型是并行优先的,因为与远程方的交互总是涉及多个 worker。Worker 之间的交互作为消息传递进行处理,它们之间没有共享状态。</p>
|
|||
|
<p><strong>Worker 语义</strong></p>
|
|||
|
<p>Ballerina 的执行模型由称为 woker 的轻量级并行执行单元组成。Worker 使用非阻塞策略来确保没有函数锁定正在执行的线程,例如等待响应的 HTTP I/O调用。</p>
|
|||
|
<p><strong>编程模型</strong></p>
|
|||
|
<p>Worker 和 fork/join 语义抽象了底层非阻塞方法,以启用更简单的并发编程模型。</p>
|
|||
|
<h3 id="类型系统">类型系统</h3>
|
|||
|
<p>下面是 Ballerina 中支持的类型。</p>
|
|||
|
<pre class="language-"><code class="lang-java">any anything<span class="token punctuation">;</span>
|
|||
|
<span class="token keyword">int</span> integer <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
|
|||
|
<span class="token keyword">float</span> floatingPoint <span class="token operator">=</span> <span class="token number">0.0</span><span class="token punctuation">;</span>
|
|||
|
<span class="token keyword">boolean</span> b <span class="token operator">=</span> <span class="token boolean">true</span><span class="token punctuation">;</span>
|
|||
|
string hi <span class="token operator">=</span> <span class="token string">"hello"</span><span class="token punctuation">;</span>
|
|||
|
blob bl <span class="token operator">=</span> hi<span class="token punctuation">.</span><span class="token function">toBlob</span><span class="token punctuation">(</span><span class="token string">"UTF-8"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|||
|
json jsonNative <span class="token operator">=</span> <span class="token punctuation">{</span> a<span class="token operator">:</span> <span class="token string">"hello"</span><span class="token punctuation">,</span> b<span class="token operator">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
|
|||
|
xml x <span class="token operator">=</span> xml `<span class="token operator"><</span>ballerina<span class="token operator">></span>
|
|||
|
<span class="token operator"><</span>supports<span class="token operator">></span>XML natively<span class="token operator"><</span><span class="token operator">/</span>supports<span class="token operator">></span>
|
|||
|
<span class="token operator"><</span><span class="token operator">/</span>ballerina<span class="token operator">></span>`<span class="token punctuation">;</span>
|
|||
|
string<span class="token punctuation">[</span><span class="token punctuation">]</span> stringArray <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"hi"</span><span class="token punctuation">,</span> <span class="token string">"there"</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
|||
|
<span class="token keyword">int</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">]</span> arrayOfArrays <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">,</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
|||
|
json <span class="token operator">|</span> xml <span class="token operator">|</span> string unionType<span class="token punctuation">;</span>
|
|||
|
<span class="token punctuation">(</span>string<span class="token punctuation">,</span> <span class="token keyword">int</span><span class="token punctuation">)</span> tuple <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token string">"hello"</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|||
|
<span class="token punctuation">(</span><span class="token punctuation">)</span> n <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment" spellcheck="true">// the empty tuple acts as "null"</span>
|
|||
|
string <span class="token operator">|</span> <span class="token keyword">int</span> stringOrInt <span class="token operator">=</span> <span class="token string">"this is a union type"</span><span class="token punctuation">;</span>
|
|||
|
<span class="token keyword">int</span> <span class="token operator">|</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> intOrNull <span class="token operator">=</span> <span class="token number">5</span><span class="token punctuation">;</span>
|
|||
|
var inferred <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token string">"hello"</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|||
|
map<span class="token operator"><</span><span class="token keyword">boolean</span><span class="token operator">></span> myMap <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">"ballerina"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
|||
|
type myRecord <span class="token punctuation">{</span> string a<span class="token punctuation">;</span> <span class="token keyword">int</span> b<span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
|
|||
|
type myObject object <span class="token punctuation">{</span>
|
|||
|
<span class="token keyword">public</span> <span class="token punctuation">{</span> string x<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">private</span> <span class="token punctuation">{</span> string y<span class="token punctuation">;</span> <span class="token punctuation">}</span>
|
|||
|
<span class="token keyword">new</span> <span class="token punctuation">(</span>string xi<span class="token punctuation">,</span> string yi<span class="token punctuation">)</span> <span class="token punctuation">{</span> x <span class="token operator">=</span> xi<span class="token punctuation">;</span> y <span class="token operator">=</span> yi<span class="token punctuation">;</span> <span class="token punctuation">}</span>
|
|||
|
function <span class="token function">getX</span><span class="token punctuation">(</span><span class="token punctuation">)</span> returns <span class="token punctuation">(</span>string<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">return</span> x<span class="token punctuation">;</span> <span class="token punctuation">}</span>
|
|||
|
<span class="token punctuation">}</span><span class="token punctuation">;</span>
|
|||
|
</code></pre>
|
|||
|
<p><strong>类型安全</strong></p>
|
|||
|
<p>Ballerina 有一个结构化的类型系统,包括 primitive、recored、object、tuple 和 union 类型。该类型安全模型在赋值时包含了类型推断,并为连接器、逻辑和网络绑定的有效负载提供了大量的编译时完整性检查。</p>
|
|||
|
<p><strong>Union 类型和显式 Null</strong></p>
|
|||
|
<p>各个网络端点通常会根据其输入和逻辑返回具有不同有效负载类型消息或 error。Ballerina 的类型系统采用了基于 union 类型的方法。Union 类型明确地采用了这种语义,不需要开发人员创建不必要的“包装”类型。这种方法也增强了对 null 值的处理。默认情况下,类型不支持 null 值。开发人员必须明确创建 union 类型来处理 null 值。结果是 null 的异常不会发生,并且语言语法和编译器会识别是否需要 null 处理逻辑。</p>
|
|||
|
<p><strong>异构数据处理</strong></p>
|
|||
|
<p>Ballerina 类型系统内置丰富的对 JSON、XML、流和表格的支持以及对 ProtoBuf 和 gRPC 的直接支持。这样做的结果是可以获得处理网络负载、SQL 编程和流处理的干净可读的代码。数据转换逻辑不受复杂的生成类型、第三方库代码或其他混淆因素的影响——简单明了的可读代码捕捉与异构数据和转换逻辑的交互。</p>
|
|||
|
<h2 id="ballerina-如何工作?">Ballerina 如何工作?</h2>
|
|||
|
<p>Ballerina 的语法、代码和编译器创建了运行时服务和部署构件,这些工件都是云原生就绪的,您可以选择将其部署在 IaaS、编排系统或 service mesh 中的。开发人员的体验旨在维护流程,包括快速的编辑、构建、调试周期并集成到团队的生命周期工具链中。</p>
|
|||
|
<h3 id="运行时架构">运行时架构</h3>
|
|||
|
<figure id="fig2.4.4"><img src="../images/philosophy-diagrams-for-site-02.png" alt="云原生编程语言ballerina运行时架构"><figcaption>图片 - 云原生编程语言ballerina运行时架构</figcaption></figure>
|
|||
|
<p><strong>Ballerina API 网关</strong></p>
|
|||
|
<p>强制执行身份策略并保证性能。通过代码注解(类似于 Spring 中的注解)进行配置和部署。可以运行嵌入式服务、作为管理多个服务的容器代理或者使用 API 管理解决方案(如 WSO2 API Manager)。</p>
|
|||
|
<p><strong>Ballerina service</strong></p>
|
|||
|
<p>表示您的 API 和执行逻辑。服务通过不同的协议运行,内部代码结构被编译为支持 OpenAPI 和 Swagger 的API接口。服务与端点进行通信,无论它们是调用客户端还是其他服务。</p>
|
|||
|
<p><strong>Ballerina bridge</strong></p>
|
|||
|
<p>允许传统代码和服务参与分布式事务中的 Ballerina 服务。Bridge 将您现有服务与本地代理包装起来,通过调用 Ballerina 服务参与和代理分布式事务。</p>
|
|||
|
<p><strong>消息代理、事务协调者和身份代理</strong></p>
|
|||
|
<p>为参与事务、事件驱动的通信和为认证流程的 Ballerina 服务提供代理基础设施功能。这些组件可以嵌入到单个服务部署中或者进行单独部署和扩展以管理多个服务。</p>
|
|||
|
<h3 id="部署架构">部署架构</h3>
|
|||
|
<figure id="fig2.4.5"><img src="../images/philosophy-diagrams-for-site-03.png" alt="云原生编程语言ballerina部署架构图"><figcaption>图片 - 云原生编程语言ballerina部署架构图</figcaption></figure>
|
|||
|
<p><strong>IaaS</strong></p>
|
|||
|
<p>使用代码注解和构建系统,可以打包 Ballerina 服务和其他运行时组件(如 API 网关)以部署到任何云原生环境中。在 IaaS 环境中,Ballerina 服务可以以虚拟机或容器的方式运行,也可以在构建期间将镜像推送到 registry 中。</p>
|
|||
|
<p><strong>编排器</strong></p>
|
|||
|
<p>代码注解会触发编译器扩展,从而为不同的编排器(如 Kubernetes 或 Cloud Foundry)生成 Ballerina 组件的工件包。供应商或 DevOps 可以添加自定义代码注解以生成特定于环境的部署,例如自定义蓝色部署算法。</p>
|
|||
|
<p><strong>Service mesh</strong></p>
|
|||
|
<p>Ballerina 可以选择断路器和事务流程逻辑委托给像 Istio 或 Envoy 这样的 service mesh(如果有的话)。如果没有 service mesh 的话,Ballerina 服务将嵌入相应的功能。</p>
|
|||
|
<h3 id="生命周期">生命周期</h3>
|
|||
|
<figure id="fig2.4.6"><img src="../images/philosophy-diagrams-for-site-04.png" alt="云原生编程语言ballerina生命周期架构图"><figcaption>图片 - 云原生编程语言ballerina生命周期架构图</figcaption></figure>
|
|||
|
<p><strong>Ballerina 工具</strong></p>
|
|||
|
<p>使用我们的语言服务器可以在 VS Code 和 IntelliJ 中获取自动补全和调试等智能感知。Ballerina 的关键字和语法结构可以用序列图的方式来表示。使用 Ballerina Composer 可以可视化的编辑 Ballerina 代码。另外它也可以做可视化得运行时和开发环境追踪。</p>
|
|||
|
<p><strong>Ballerina 构建</strong></p>
|
|||
|
<p>将服务编译为经过优化的字节码,以便使用内存调优后的 BVM 运行。提供了使用Testerina 的项目结构、依赖管理、包管理和单元测试。构建锁可以轻松地重新创建服务和部署。生成可执行文件(.balx)或库(.balo)。</p>
|
|||
|
<p><strong>CI/CD</strong></p>
|
|||
|
<p>部署代码注解会触发构建扩展,从而为持续集成、持续交付或编排器环境生成工件。将构建工件推送到您的 CI/CD 系统或完全跳过。</p>
|
|||
|
<p><strong>Registry</strong></p>
|
|||
|
<p>将端点连接器、自定义注解和代码功能作为可共享软件包组合在一起。可以在全球共享资源库——Ballerina Central 中 pull 或 push 版本化的软件包。</p>
|
|||
|
<h2 id="ballerina-的语言特性">Ballerina 的语言特性</h2>
|
|||
|
<p>Ballerina 设计为云优先,内置对现代 Web 协议和数据格式的支持,完全支持图灵完备编程语言,以及对微服务架构的原生支持。</p>
|
|||
|
<ul>
|
|||
|
<li>API 构造</li>
|
|||
|
<li>逻辑语言</li>
|
|||
|
<li>异步</li>
|
|||
|
<li>Json 和 XML</li>
|
|||
|
<li>注解</li>
|
|||
|
<li>稳定和强大的类型</li>
|
|||
|
<li>stream</li>
|
|||
|
</ul>
|
|||
|
<h2 id="ballerina-中集成了哪些内容?">Ballerina 中集成了哪些内容?</h2>
|
|||
|
<p>Ballerina 是一种旨在<strong>集成简化</strong>的语言。基于顺序图的交互,Ballerina 内置了对通用集成模式和连接器的支持,包括分布式事务、补偿和断路器。凭借对 JSON 和 XML 的一流支持,Ballerina 能够简单有效地构建跨网络终端的强大集成。</p>
|
|||
|
<ul>
|
|||
|
<li>类型安全端点集成</li>
|
|||
|
<li>类型安全连接器</li>
|
|||
|
<li>可靠的消息传递</li>
|
|||
|
<li>分布式事务</li>
|
|||
|
<li>断路器</li>
|
|||
|
<li>注入攻击防护</li>
|
|||
|
<li>Docker 和 Kubernetes</li>
|
|||
|
</ul>
|
|||
|
<p>关于 Ballerina 中各个功能的示例代码请查阅 <a href="https://github.com/ballerina-platform/ballerina-examples" target="_blank">ballerina-example</a>。</p>
|
|||
|
<h2 id="参考">参考</h2>
|
|||
|
<ul>
|
|||
|
<li><a href="https://ballerina.io" target="_blank">https://ballerina.io</a></li>
|
|||
|
<li><a href="https://dzone.com/articles/microservices-docker-kubernetes-serverless-service" target="_blank">Microservices, Docker, Kubernetes, Serverless, Service Mesh, and Beyond</a> </li>
|
|||
|
</ul>
|
|||
|
<footer class="page-footer"><span class="copyright">Copyright © jimmysong.io 2017-2018 all right reserved,powered by Gitbook</span><span class="footer-modification">Updated at
|
|||
|
2018-05-12 23:25:53
|
|||
|
</span></footer>
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="search-results">
|
|||
|
<div class="has-results">
|
|||
|
|
|||
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|||
|
<ul class="search-results-list"></ul>
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="no-results">
|
|||
|
|
|||
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="from-kubernetes-to-cloud-native.html" class="navigation navigation-prev " aria-label="Previous page: 云原生应用之路——从Kubernetes到Cloud Native">
|
|||
|
<i class="fa fa-angle-left"></i>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
<a href="../concepts/" class="navigation navigation-next " aria-label="Next page: Kubernetes架构">
|
|||
|
<i class="fa fa-angle-right"></i>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
var gitbook = gitbook || [];
|
|||
|
gitbook.push(function() {
|
|||
|
gitbook.page.hasChanged({"page":{"title":"云原生编程语言Ballerina","level":"2.4","depth":1,"next":{"title":"Kubernetes架构","level":"3.1","depth":1,"path":"concepts/index.md","ref":"concepts/index.md","articles":[{"title":"设计理念","level":"3.1.1","depth":2,"path":"concepts/concepts.md","ref":"concepts/concepts.md","articles":[]},{"title":"Etcd解析","level":"3.1.2","depth":2,"path":"concepts/etcd.md","ref":"concepts/etcd.md","articles":[]},{"title":"开放接口","level":"3.1.3","depth":2,"path":"concepts/open-interfaces.md","ref":"concepts/open-interfaces.md","articles":[{"title":"CRI - Container Runtime Interface(容器运行时接口)","level":"3.1.3.1","depth":3,"path":"concepts/cri.md","ref":"concepts/cri.md","articles":[]},{"title":"CNI - Container Network Interface(容器网络接口)","level":"3.1.3.2","depth":3,"path":"concepts/cni.md","ref":"concepts/cni.md","articles":[]},{"title":"CSI - Container Storage Interface(容器存储接口)","level":"3.1.3.3","depth":3,"path":"concepts/csi.md","ref":"concepts/csi.md","articles":[]}]}]},"previous":{"title":"云原生应用之路——从Kubernetes到Cloud Native","level":"2.3","depth":1,"path":"cloud-native/from-kubernetes-to-cloud-native.md","ref":"cloud-native/from-kubernetes-to-cloud-native.md","articles":[]},"dir":"ltr"},"config":{"plugins":["github","codesnippet","splitter","page-toc-button","image-captions","editlink","back-to-top-button","-lunr","-search","search-plus","github-buttons@2.1.0","favicon@^0.0.2","tbfed-pagefooter@^0.0.1","3-ba","theme-default","-highlight","prism","prism-themes"],"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright © jimmysong.io 2017-2018","modify_label":"Updated at ","modify_format":"YYYY-MM-DD HH:mm:ss"},"prism":{"css":["prism-themes/themes/prism-ghcolors.css"]},"github":{"url":"https://github.com/rootsongjc/kubernetes-handbook"},"editlink":{"label":"编辑本页","multilingual":false,"base":"https://github.com/rootsongjc/kubernetes-handbook/blob/master/"},"splitter":{},"codesnippet":{},"fontsettings":{"theme":"white","family":"sans","size":2},"favicon":{"shortcut":"favicon.ico","bookmark":"favicon.ico"},"page-toc-button":{},"back-to-top-button":{},"prism-themes":{},"github-buttons":{"repo":"rootsongjc/kubernetes-handbook","types":["star"],"size":"small"},"3-ba":{"configuration":"auto","token":"11f7d254cfa4e0ca44b175c66d379ecc"},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"showLevel":true,"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"}},"search-plus":{},"image-captions":{"caption":"图片 - _CAPTION_","variable_name":"_pictures"}},"theme":"default","author":"Jimmy Song","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{"_pictures":[{"backlink":"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","attributes":{},"skip":false,"key":"1.1.1"},{"backlink":"cloud-native/cncf.html#fig1.2.1","level":"1.2","list_caption":"Figure: CNCF landscape","alt":"CNCF landscape","nro":2,"url":"https://github.com/cncf/landscape/raw/master/landscape/CloudNativeLandscape_latest.png","index":1,"caption_template":"图片 - _CAPTION_","label":"CNCF landscape","attributes":{},"skip":false,"key":"1.2.1"},{"backlink":"cloud-native/c
|
|||
|
});
|
|||
|
</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-sharing/buttons.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|
|||
|
|