kubernetes-handbook/guide/using-etcdctl-to-access-kub...

4912 lines
251 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML>
<html lang="zh-hans" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>使用 etcdctl 访问 Kubernetes 数据 · Kubernetes Handbook - Kubernetes 中文指南/云原生应用架构实践手册 · Jimmy Song</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<meta name="author" content="Jimmy Song宋净超">
<link rel="stylesheet" href="../gitbook/style.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-page-toc-button/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-image-captions/image-captions.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-back-to-top-button/plugin.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search-plus/search.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism-ghcolors.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-lightbox/css/lightbox.min.css">
<link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="cluster-security-management.html" />
<link rel="prev" href="kubectl-cheatsheet.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">回到主页</a>
</li>
<li>
<a href="https://jimmysong.io/awesome-cloud-native" target="_blank" class="custom-link">云原生开源项目大全</a>
</li>
<li>
<a href="https://cloudnative.to" target="_blank" class="custom-link">云原生社区</a>
</li>
<li class="divider"></li>
<li class="header">前言</li>
<li class="chapter " data-level="1.1" data-path="../">
<a href="../">
<b>1.1.</b>
序言
</a>
</li>
<li class="header">云原生</li>
<li class="chapter " data-level="2.1" data-path="../cloud-native/cloud-native-definition.html">
<a href="../cloud-native/cloud-native-definition.html">
<b>2.1.</b>
云原生的定义
</a>
</li>
<li class="chapter " data-level="2.2" data-path="../cloud-native/cloud-native-philosophy.html">
<a href="../cloud-native/cloud-native-philosophy.html">
<b>2.2.</b>
云原生的设计哲学
</a>
</li>
<li class="chapter " data-level="2.3" data-path="../cloud-native/kubernetes-history.html">
<a href="../cloud-native/kubernetes-history.html">
<b>2.3.</b>
Kubernetes 的诞生
</a>
</li>
<li class="chapter " data-level="2.4" data-path="../cloud-native/kubernetes-and-cloud-native-app-overview.html">
<a href="../cloud-native/kubernetes-and-cloud-native-app-overview.html">
<b>2.4.</b>
Kubernetes 与云原生应用概览
</a>
</li>
<li class="chapter " data-level="2.5" data-path="../cloud-native/from-kubernetes-to-cloud-native.html">
<a href="../cloud-native/from-kubernetes-to-cloud-native.html">
<b>2.5.</b>
云原生应用之路 —— 从 Kubernetes 到云原生
</a>
</li>
<li class="chapter " data-level="2.6" data-path="../cloud-native/define-cloud-native-app.html">
<a href="../cloud-native/define-cloud-native-app.html">
<b>2.6.</b>
定义云原生应用
</a>
<ul class="articles">
<li class="chapter " data-level="2.6.1" data-path="../cloud-native/oam.html">
<a href="../cloud-native/oam.html">
<b>2.6.1.</b>
OAM
</a>
<ul class="articles">
<li class="chapter " data-level="2.6.1.1" data-path="../cloud-native/workload.html">
<a href="../cloud-native/workload.html">
<b>2.6.1.1.</b>
Workload
</a>
</li>
<li class="chapter " data-level="2.6.1.2" data-path="../cloud-native/component.html">
<a href="../cloud-native/component.html">
<b>2.6.1.2.</b>
Component
</a>
</li>
<li class="chapter " data-level="2.6.1.3" data-path="../cloud-native/trait.html">
<a href="../cloud-native/trait.html">
<b>2.6.1.3.</b>
Trait
</a>
</li>
<li class="chapter " data-level="2.6.1.4" data-path="../cloud-native/application-scope.html">
<a href="../cloud-native/application-scope.html">
<b>2.6.1.4.</b>
Application Scope
</a>
</li>
<li class="chapter " data-level="2.6.1.5" data-path="../cloud-native/application-configuration.html">
<a href="../cloud-native/application-configuration.html">
<b>2.6.1.5.</b>
Application Configuration
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="2.6.2" data-path="../cloud-native/crossplane.html">
<a href="../cloud-native/crossplane.html">
<b>2.6.2.</b>
Crossplane
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="2.7" data-path="../cloud-native/cloud-native-programming-languages.html">
<a href="../cloud-native/cloud-native-programming-languages.html">
<b>2.7.</b>
云原生平台配置语言
</a>
<ul class="articles">
<li class="chapter " data-level="2.7.1" data-path="../cloud-native/cloud-native-programming-language-ballerina.html">
<a href="../cloud-native/cloud-native-programming-language-ballerina.html">
<b>2.7.1.</b>
Ballerina
</a>
</li>
<li class="chapter " data-level="2.7.2" data-path="../cloud-native/cloud-native-programming-language-pulumi.html">
<a href="../cloud-native/cloud-native-programming-language-pulumi.html">
<b>2.7.2.</b>
Pulumi
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="2.8" data-path="../cloud-native/the-future-of-cloud-native.html">
<a href="../cloud-native/the-future-of-cloud-native.html">
<b>2.8.</b>
云原生的未来
</a>
</li>
<li class="header">快速入门</li>
<li class="chapter " data-level="3.1" data-path="../cloud-native/quick-start.html">
<a href="../cloud-native/quick-start.html">
<b>3.1.</b>
云原生新手入门指南
</a>
</li>
<li class="chapter " data-level="3.2" data-path="../cloud-native/play-with-kubernetes.html">
<a href="../cloud-native/play-with-kubernetes.html">
<b>3.2.</b>
Play with Kubernetes
</a>
</li>
<li class="chapter " data-level="3.3" data-path="../cloud-native/cloud-native-local-quick-start.html">
<a href="../cloud-native/cloud-native-local-quick-start.html">
<b>3.3.</b>
快速部署一个云原生本地实验环境
</a>
</li>
<li class="chapter " data-level="3.4" data-path="../cloud-native/setup-kubernetes-with-rancher-and-aliyun.html">
<a href="../cloud-native/setup-kubernetes-with-rancher-and-aliyun.html">
<b>3.4.</b>
使用 Rancher 在阿里云上部署 Kubenretes 集群
</a>
</li>
<li class="header">概念与原理</li>
<li class="chapter " data-level="4.1" data-path="../concepts/">
<a href="../concepts/">
<b>4.1.</b>
Kubernetes 架构
</a>
<ul class="articles">
<li class="chapter " data-level="4.1.1" data-path="../concepts/concepts.html">
<a href="../concepts/concepts.html">
<b>4.1.1.</b>
Kubernetes 的设计理念
</a>
</li>
<li class="chapter " data-level="4.1.2" data-path="../concepts/etcd.html">
<a href="../concepts/etcd.html">
<b>4.1.2.</b>
Etcd 解析
</a>
</li>
<li class="chapter " data-level="4.1.3" data-path="../concepts/open-interfaces.html">
<a href="../concepts/open-interfaces.html">
<b>4.1.3.</b>
开放接口
</a>
<ul class="articles">
<li class="chapter " data-level="4.1.3.1" data-path="../concepts/cri.html">
<a href="../concepts/cri.html">
<b>4.1.3.1.</b>
容器运行时接口CRI
</a>
</li>
<li class="chapter " data-level="4.1.3.2" data-path="../concepts/cni.html">
<a href="../concepts/cni.html">
<b>4.1.3.2.</b>
容器网络接口CNI
</a>
</li>
<li class="chapter " data-level="4.1.3.3" data-path="../concepts/csi.html">
<a href="../concepts/csi.html">
<b>4.1.3.3.</b>
容器存储接口CSI
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.1.4" data-path="../concepts/objects.html">
<a href="../concepts/objects.html">
<b>4.1.4.</b>
Kubernetes 中的资源对象
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.2" data-path="../concepts/pod-state-and-lifecycle.html">
<a href="../concepts/pod-state-and-lifecycle.html">
<b>4.2.</b>
Pod 状态与生命周期管理
</a>
<ul class="articles">
<li class="chapter " data-level="4.2.1" data-path="../concepts/pod-overview.html">
<a href="../concepts/pod-overview.html">
<b>4.2.1.</b>
Pod 概览
</a>
</li>
<li class="chapter " data-level="4.2.2" data-path="../concepts/pod.html">
<a href="../concepts/pod.html">
<b>4.2.2.</b>
Pod 解析
</a>
</li>
<li class="chapter " data-level="4.2.3" data-path="../concepts/init-containers.html">
<a href="../concepts/init-containers.html">
<b>4.2.3.</b>
Init 容器
</a>
</li>
<li class="chapter " data-level="4.2.4" data-path="../concepts/pause-container.html">
<a href="../concepts/pause-container.html">
<b>4.2.4.</b>
Pause 容器
</a>
</li>
<li class="chapter " data-level="4.2.5" data-path="../concepts/pod-security-policy.html">
<a href="../concepts/pod-security-policy.html">
<b>4.2.5.</b>
Pod 安全策略
</a>
</li>
<li class="chapter " data-level="4.2.6" data-path="../concepts/pod-lifecycle.html">
<a href="../concepts/pod-lifecycle.html">
<b>4.2.6.</b>
Pod 的生命周期
</a>
</li>
<li class="chapter " data-level="4.2.7" data-path="../concepts/pod-hook.html">
<a href="../concepts/pod-hook.html">
<b>4.2.7.</b>
Pod Hook
</a>
</li>
<li class="chapter " data-level="4.2.8" data-path="../concepts/pod-preset.html">
<a href="../concepts/pod-preset.html">
<b>4.2.8.</b>
Pod Preset
</a>
</li>
<li class="chapter " data-level="4.2.9" data-path="../concepts/pod-disruption-budget.html">
<a href="../concepts/pod-disruption-budget.html">
<b>4.2.9.</b>
Pod 中断与 PDBPod 中断预算)
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.3" data-path="../concepts/cluster.html">
<a href="../concepts/cluster.html">
<b>4.3.</b>
集群资源管理
</a>
<ul class="articles">
<li class="chapter " data-level="4.3.1" data-path="../concepts/node.html">
<a href="../concepts/node.html">
<b>4.3.1.</b>
Node
</a>
</li>
<li class="chapter " data-level="4.3.2" data-path="../concepts/namespace.html">
<a href="../concepts/namespace.html">
<b>4.3.2.</b>
Namespace
</a>
</li>
<li class="chapter " data-level="4.3.3" data-path="../concepts/label.html">
<a href="../concepts/label.html">
<b>4.3.3.</b>
Label
</a>
</li>
<li class="chapter " data-level="4.3.4" data-path="../concepts/annotation.html">
<a href="../concepts/annotation.html">
<b>4.3.4.</b>
Annotation
</a>
</li>
<li class="chapter " data-level="4.3.5" data-path="../concepts/taint-and-toleration.html">
<a href="../concepts/taint-and-toleration.html">
<b>4.3.5.</b>
Taint 和 Toleration污点和容忍
</a>
</li>
<li class="chapter " data-level="4.3.6" data-path="../concepts/garbage-collection.html">
<a href="../concepts/garbage-collection.html">
<b>4.3.6.</b>
垃圾收集
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.4" data-path="../concepts/controllers.html">
<a href="../concepts/controllers.html">
<b>4.4.</b>
控制器
</a>
<ul class="articles">
<li class="chapter " data-level="4.4.1" data-path="../concepts/deployment.html">
<a href="../concepts/deployment.html">
<b>4.4.1.</b>
Deployment
</a>
</li>
<li class="chapter " data-level="4.4.2" data-path="../concepts/statefulset.html">
<a href="../concepts/statefulset.html">
<b>4.4.2.</b>
StatefulSet
</a>
</li>
<li class="chapter " data-level="4.4.3" data-path="../concepts/daemonset.html">
<a href="../concepts/daemonset.html">
<b>4.4.3.</b>
DaemonSet
</a>
</li>
<li class="chapter " data-level="4.4.4" data-path="../concepts/replicaset.html">
<a href="../concepts/replicaset.html">
<b>4.4.4.</b>
ReplicationController 和 ReplicaSet
</a>
</li>
<li class="chapter " data-level="4.4.5" data-path="../concepts/job.html">
<a href="../concepts/job.html">
<b>4.4.5.</b>
Job
</a>
</li>
<li class="chapter " data-level="4.4.6" data-path="../concepts/cronjob.html">
<a href="../concepts/cronjob.html">
<b>4.4.6.</b>
CronJob
</a>
</li>
<li class="chapter " data-level="4.4.7" data-path="../concepts/horizontal-pod-autoscaling.html">
<a href="../concepts/horizontal-pod-autoscaling.html">
<b>4.4.7.</b>
Horizontal Pod Autoscaling
</a>
<ul class="articles">
<li class="chapter " data-level="4.4.7.1" data-path="../concepts/custom-metrics-hpa.html">
<a href="../concepts/custom-metrics-hpa.html">
<b>4.4.7.1.</b>
自定义指标 HPA
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.4.8" data-path="../concepts/admission-controller.html">
<a href="../concepts/admission-controller.html">
<b>4.4.8.</b>
准入控制器Admission Controller
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.5" data-path="../concepts/service-discovery.html">
<a href="../concepts/service-discovery.html">
<b>4.5.</b>
服务发现与路由
</a>
<ul class="articles">
<li class="chapter " data-level="4.5.1" data-path="../concepts/service.html">
<a href="../concepts/service.html">
<b>4.5.1.</b>
Service
</a>
</li>
<li class="chapter " data-level="4.5.2" data-path="../concepts/topology-aware-routing.html">
<a href="../concepts/topology-aware-routing.html">
<b>4.5.2.</b>
拓扑感知路由
</a>
</li>
<li class="chapter " data-level="4.5.3" data-path="../concepts/ingress.html">
<a href="../concepts/ingress.html">
<b>4.5.3.</b>
Ingress
</a>
<ul class="articles">
<li class="chapter " data-level="4.5.3.1" data-path="../concepts/traefik-ingress-controller.html">
<a href="../concepts/traefik-ingress-controller.html">
<b>4.5.3.1.</b>
Traefik Ingress Controller
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.5.4" data-path="../concepts/gateway.html">
<a href="../concepts/gateway.html">
<b>4.5.4.</b>
Gateway
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.6" data-path="../concepts/authentication-and-permission.html">
<a href="../concepts/authentication-and-permission.html">
<b>4.6.</b>
身份与权限控制
</a>
<ul class="articles">
<li class="chapter " data-level="4.6.1" data-path="../concepts/serviceaccount.html">
<a href="../concepts/serviceaccount.html">
<b>4.6.1.</b>
ServiceAccount
</a>
</li>
<li class="chapter " data-level="4.6.2" data-path="../concepts/rbac.html">
<a href="../concepts/rbac.html">
<b>4.6.2.</b>
基于角色的访问控制RBAC
</a>
</li>
<li class="chapter " data-level="4.6.3" data-path="../concepts/network-policy.html">
<a href="../concepts/network-policy.html">
<b>4.6.3.</b>
NetworkPolicy
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.7" data-path="../concepts/networking.html">
<a href="../concepts/networking.html">
<b>4.7.</b>
网络
</a>
<ul class="articles">
<li class="chapter " data-level="4.7.1" data-path="../concepts/flannel.html">
<a href="../concepts/flannel.html">
<b>4.7.1.</b>
扁平网络 Flannel
</a>
</li>
<li class="chapter " data-level="4.7.2" data-path="../concepts/calico.html">
<a href="../concepts/calico.html">
<b>4.7.2.</b>
非 Overlay 扁平网络 Calico
</a>
</li>
<li class="chapter " data-level="4.7.3" data-path="../concepts/cilium.html">
<a href="../concepts/cilium.html">
<b>4.7.3.</b>
基于 eBPF 的网络 Cilium
</a>
<ul class="articles">
<li class="chapter " data-level="4.7.3.1" data-path="../concepts/cilium-concepts.html">
<a href="../concepts/cilium-concepts.html">
<b>4.7.3.1.</b>
Cilium 架构设计与概念解析
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="4.8" data-path="../concepts/storage.html">
<a href="../concepts/storage.html">
<b>4.8.</b>
存储
</a>
<ul class="articles">
<li class="chapter " data-level="4.8.1" data-path="../concepts/secret.html">
<a href="../concepts/secret.html">
<b>4.8.1.</b>
Secret
</a>
</li>
<li class="chapter " data-level="4.8.2" data-path="../concepts/configmap.html">
<a href="../concepts/configmap.html">
<b>4.8.2.</b>
ConfigMap
</a>
<ul class="articles">
<li class="chapter " data-level="4.8.2.1" data-path="../concepts/configmap-hot-update.html">
<a href="../concepts/configmap-hot-update.html">
<b>4.8.2.1.</b>
ConfigMap 的热更新
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.8.3" data-path="../concepts/volume.html">
<a href="../concepts/volume.html">
<b>4.8.3.</b>
Volume
</a>
</li>
<li class="chapter " data-level="4.8.4" data-path="../concepts/persistent-volume.html">
<a href="../concepts/persistent-volume.html">
<b>4.8.4.</b>
持久化卷Persistent Volume
</a>
</li>
<li class="chapter " data-level="4.8.5" data-path="../concepts/storageclass.html">
<a href="../concepts/storageclass.html">
<b>4.8.5.</b>
Storage Class
</a>
</li>
<li class="chapter " data-level="4.8.6" data-path="../concepts/local-persistent-storage.html">
<a href="../concepts/local-persistent-storage.html">
<b>4.8.6.</b>
本地持久化存储
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.9" data-path="../concepts/extension.html">
<a href="../concepts/extension.html">
<b>4.9.</b>
集群扩展
</a>
<ul class="articles">
<li class="chapter " data-level="4.9.1" data-path="../concepts/custom-resource.html">
<a href="../concepts/custom-resource.html">
<b>4.9.1.</b>
使用自定义资源扩展 API
</a>
</li>
<li class="chapter " data-level="4.9.2" data-path="../concepts/crd.html">
<a href="../concepts/crd.html">
<b>4.9.2.</b>
使用 CRD 扩展 Kubernetes API
</a>
</li>
<li class="chapter " data-level="4.9.3" data-path="../concepts/aggregated-api-server.html">
<a href="../concepts/aggregated-api-server.html">
<b>4.9.3.</b>
Aggregated API Server
</a>
</li>
<li class="chapter " data-level="4.9.4" data-path="../concepts/apiservice.html">
<a href="../concepts/apiservice.html">
<b>4.9.4.</b>
APIService
</a>
</li>
<li class="chapter " data-level="4.9.5" data-path="../concepts/service-catalog.html">
<a href="../concepts/service-catalog.html">
<b>4.9.5.</b>
服务目录Service Catalog
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.10" data-path="../concepts/multicluster.html">
<a href="../concepts/multicluster.html">
<b>4.10.</b>
多集群管理
</a>
<ul class="articles">
<li class="chapter " data-level="4.10.1" data-path="../concepts/multi-cluster-services-api.html">
<a href="../concepts/multi-cluster-services-api.html">
<b>4.10.1.</b>
多集群服务 APIMulti-Cluster Services API
</a>
</li>
<li class="chapter " data-level="4.10.2" data-path="../practice/federation.html">
<a href="../practice/federation.html">
<b>4.10.2.</b>
集群联邦Cluster Federation
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="4.11" data-path="../concepts/scheduling.html">
<a href="../concepts/scheduling.html">
<b>4.11.</b>
资源调度
</a>
<ul class="articles">
<li class="chapter " data-level="4.11.1" data-path="../concepts/qos.html">
<a href="../concepts/qos.html">
<b>4.11.1.</b>
服务质量等级QoS
</a>
</li>
</ul>
</li>
<li class="header">用户指南</li>
<li class="chapter " data-level="5.1" data-path="./">
<a href="./">
<b>5.1.</b>
用户指南概览
</a>
</li>
<li class="chapter " data-level="5.2" data-path="resource-configuration.html">
<a href="resource-configuration.html">
<b>5.2.</b>
资源对象配置
</a>
<ul class="articles">
<li class="chapter " data-level="5.2.1" data-path="configure-liveness-readiness-probes.html">
<a href="configure-liveness-readiness-probes.html">
<b>5.2.1.</b>
配置 Pod 的 liveness 和 readiness 探针
</a>
</li>
<li class="chapter " data-level="5.2.2" data-path="configure-pod-service-account.html">
<a href="configure-pod-service-account.html">
<b>5.2.2.</b>
配置 Pod 的 Service Account
</a>
</li>
<li class="chapter " data-level="5.2.3" data-path="secret-configuration.html">
<a href="secret-configuration.html">
<b>5.2.3.</b>
Secret 配置
</a>
</li>
<li class="chapter " data-level="5.2.4" data-path="resource-quota-management.html">
<a href="resource-quota-management.html">
<b>5.2.4.</b>
管理 namespace 中的资源配额
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.3" data-path="command-usage.html">
<a href="command-usage.html">
<b>5.3.</b>
命令使用
</a>
<ul class="articles">
<li class="chapter " data-level="5.3.1" data-path="docker-cli-to-kubectl.html">
<a href="docker-cli-to-kubectl.html">
<b>5.3.1.</b>
Docker 用户过渡到 kubectl 命令行指南
</a>
</li>
<li class="chapter " data-level="5.3.2" data-path="using-kubectl.html">
<a href="using-kubectl.html">
<b>5.3.2.</b>
kubectl 命令概览
</a>
</li>
<li class="chapter " data-level="5.3.3" data-path="kubectl-cheatsheet.html">
<a href="kubectl-cheatsheet.html">
<b>5.3.3.</b>
kubectl 命令技巧大全
</a>
</li>
<li class="chapter active" data-level="5.3.4" data-path="using-etcdctl-to-access-kubernetes-data.html">
<a href="using-etcdctl-to-access-kubernetes-data.html">
<b>5.3.4.</b>
使用 etcdctl 访问 Kubernetes 数据
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.4" data-path="cluster-security-management.html">
<a href="cluster-security-management.html">
<b>5.4.</b>
集群安全性管理
</a>
<ul class="articles">
<li class="chapter " data-level="5.4.1" data-path="managing-tls-in-a-cluster.html">
<a href="managing-tls-in-a-cluster.html">
<b>5.4.1.</b>
管理集群中的 TLS
</a>
</li>
<li class="chapter " data-level="5.4.2" data-path="kubelet-authentication-authorization.html">
<a href="kubelet-authentication-authorization.html">
<b>5.4.2.</b>
kubelet 的认证授权
</a>
</li>
<li class="chapter " data-level="5.4.3" data-path="tls-bootstrapping.html">
<a href="tls-bootstrapping.html">
<b>5.4.3.</b>
TLS Bootstrap
</a>
</li>
<li class="chapter " data-level="5.4.4" data-path="kubectl-user-authentication-authorization.html">
<a href="kubectl-user-authentication-authorization.html">
<b>5.4.4.</b>
创建用户认证授权的 kubeconfig 文件
</a>
</li>
<li class="chapter " data-level="5.4.5" data-path="ip-masq-agent.html">
<a href="ip-masq-agent.html">
<b>5.4.5.</b>
IP 伪装代理
</a>
</li>
<li class="chapter " data-level="5.4.6" data-path="auth-with-kubeconfig-or-token.html">
<a href="auth-with-kubeconfig-or-token.html">
<b>5.4.6.</b>
使用 kubeconfig 或 token 进行用户身份认证
</a>
</li>
<li class="chapter " data-level="5.4.7" data-path="authentication.html">
<a href="authentication.html">
<b>5.4.7.</b>
Kubernetes 中的用户与身份认证授权
</a>
</li>
<li class="chapter " data-level="5.4.8" data-path="kubernetes-security-best-practice.html">
<a href="kubernetes-security-best-practice.html">
<b>5.4.8.</b>
Kubernetes 集群安全性配置最佳实践
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.5" data-path="access-kubernetes-cluster.html">
<a href="access-kubernetes-cluster.html">
<b>5.5.</b>
访问 Kubernetes 集群
</a>
<ul class="articles">
<li class="chapter " data-level="5.5.1" data-path="access-cluster.html">
<a href="access-cluster.html">
<b>5.5.1.</b>
访问集群
</a>
</li>
<li class="chapter " data-level="5.5.2" data-path="authenticate-across-clusters-kubeconfig.html">
<a href="authenticate-across-clusters-kubeconfig.html">
<b>5.5.2.</b>
使用 kubeconfig 文件配置跨集群认证
</a>
</li>
<li class="chapter " data-level="5.5.3" data-path="connecting-to-applications-port-forward.html">
<a href="connecting-to-applications-port-forward.html">
<b>5.5.3.</b>
通过端口转发访问集群中的应用程序
</a>
</li>
<li class="chapter " data-level="5.5.4" data-path="service-access-application-cluster.html">
<a href="service-access-application-cluster.html">
<b>5.5.4.</b>
使用 service 访问群集中的应用程序
</a>
</li>
<li class="chapter " data-level="5.5.5" data-path="accessing-kubernetes-pods-from-outside-of-the-cluster.html">
<a href="accessing-kubernetes-pods-from-outside-of-the-cluster.html">
<b>5.5.5.</b>
从外部访问 Kubernetes 中的 Pod
</a>
</li>
<li class="chapter " data-level="5.5.6" data-path="kubernetes-desktop-client.html">
<a href="kubernetes-desktop-client.html">
<b>5.5.6.</b>
Lens - Kubernetes IDE
</a>
</li>
<li class="chapter " data-level="5.5.7" data-path="kubernator-kubernetes-ui.html">
<a href="kubernator-kubernetes-ui.html">
<b>5.5.7.</b>
Kubernator - 更底层的 Kubernetes UI
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="5.6" data-path="application-development-deployment-flow.html">
<a href="application-development-deployment-flow.html">
<b>5.6.</b>
在 Kubernetes 中开发部署应用
</a>
<ul class="articles">
<li class="chapter " data-level="5.6.1" data-path="deploy-applications-in-kubernetes.html">
<a href="deploy-applications-in-kubernetes.html">
<b>5.6.1.</b>
适用于 Kubernetes 的应用开发部署流程
</a>
</li>
<li class="chapter " data-level="5.6.2" data-path="migrating-hadoop-yarn-to-kubernetes.html">
<a href="migrating-hadoop-yarn-to-kubernetes.html">
<b>5.6.2.</b>
迁移传统应用到 Kubernetes 中 —— 以 Hadoop YARN 为例
</a>
</li>
<li class="chapter " data-level="5.6.3" data-path="using-statefulset.html">
<a href="using-statefulset.html">
<b>5.6.3.</b>
使用 StatefulSet 部署用状态应用
</a>
</li>
</ul>
</li>
<li class="header">最佳实践</li>
<li class="chapter " data-level="6.1" data-path="../practice/">
<a href="../practice/">
<b>6.1.</b>
最佳实践概览
</a>
</li>
<li class="chapter " data-level="6.2" data-path="../practice/install-kubernetes-on-centos.html">
<a href="../practice/install-kubernetes-on-centos.html">
<b>6.2.</b>
在 CentOS 上部署 Kubernetes 集群
</a>
<ul class="articles">
<li class="chapter " data-level="6.2.1" data-path="../practice/create-tls-and-secret-key.html">
<a href="../practice/create-tls-and-secret-key.html">
<b>6.2.1.</b>
创建 TLS 证书和秘钥
</a>
</li>
<li class="chapter " data-level="6.2.2" data-path="../practice/create-kubeconfig.html">
<a href="../practice/create-kubeconfig.html">
<b>6.2.2.</b>
创建 kubeconfig 文件
</a>
</li>
<li class="chapter " data-level="6.2.3" data-path="../practice/etcd-cluster-installation.html">
<a href="../practice/etcd-cluster-installation.html">
<b>6.2.3.</b>
创建高可用 etcd 集群
</a>
</li>
<li class="chapter " data-level="6.2.4" data-path="../practice/kubectl-installation.html">
<a href="../practice/kubectl-installation.html">
<b>6.2.4.</b>
安装 kubectl 命令行工具
</a>
</li>
<li class="chapter " data-level="6.2.5" data-path="../practice/master-installation.html">
<a href="../practice/master-installation.html">
<b>6.2.5.</b>
部署 master 节点
</a>
</li>
<li class="chapter " data-level="6.2.6" data-path="../practice/flannel-installation.html">
<a href="../practice/flannel-installation.html">
<b>6.2.6.</b>
安装 flannel 网络插件
</a>
</li>
<li class="chapter " data-level="6.2.7" data-path="../practice/node-installation.html">
<a href="../practice/node-installation.html">
<b>6.2.7.</b>
部署 node 节点
</a>
</li>
<li class="chapter " data-level="6.2.8" data-path="../practice/kubedns-addon-installation.html">
<a href="../practice/kubedns-addon-installation.html">
<b>6.2.8.</b>
安装 kubedns 插件
</a>
</li>
<li class="chapter " data-level="6.2.9" data-path="../practice/dashboard-addon-installation.html">
<a href="../practice/dashboard-addon-installation.html">
<b>6.2.9.</b>
安装 dashboard 插件
</a>
</li>
<li class="chapter " data-level="6.2.10" data-path="../practice/heapster-addon-installation.html">
<a href="../practice/heapster-addon-installation.html">
<b>6.2.10.</b>
安装 heapster 插件
</a>
</li>
<li class="chapter " data-level="6.2.11" data-path="../practice/efk-addon-installation.html">
<a href="../practice/efk-addon-installation.html">
<b>6.2.11.</b>
安装 EFK 插件
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.3" data-path="../practice/install-kubernetes-with-kubeadm.html">
<a href="../practice/install-kubernetes-with-kubeadm.html">
<b>6.3.</b>
生产级的 Kubernetes 简化管理工具 kubeadm
</a>
<ul class="articles">
<li class="chapter " data-level="6.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>6.3.1.</b>
使用 kubeadm 在 Ubuntu Server 16.04 上快速构建测试集群
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.4" data-path="../practice/service-discovery-and-loadbalancing.html">
<a href="../practice/service-discovery-and-loadbalancing.html">
<b>6.4.</b>
服务发现与负载均衡
</a>
<ul class="articles">
<li class="chapter " data-level="6.4.1" data-path="../practice/traefik-ingress-installation.html">
<a href="../practice/traefik-ingress-installation.html">
<b>6.4.1.</b>
安装 Traefik ingress
</a>
</li>
<li class="chapter " data-level="6.4.2" data-path="../practice/distributed-load-test.html">
<a href="../practice/distributed-load-test.html">
<b>6.4.2.</b>
分布式负载测试
</a>
</li>
<li class="chapter " data-level="6.4.3" data-path="../practice/network-and-cluster-perfermance-test.html">
<a href="../practice/network-and-cluster-perfermance-test.html">
<b>6.4.3.</b>
网络和集群性能测试
</a>
</li>
<li class="chapter " data-level="6.4.4" data-path="../practice/edge-node-configuration.html">
<a href="../practice/edge-node-configuration.html">
<b>6.4.4.</b>
边缘节点配置
</a>
</li>
<li class="chapter " data-level="6.4.5" data-path="../practice/nginx-ingress-installation.html">
<a href="../practice/nginx-ingress-installation.html">
<b>6.4.5.</b>
安装 Nginx ingress
</a>
</li>
<li class="chapter " data-level="6.4.6" data-path="../practice/dns-installation.html">
<a href="../practice/dns-installation.html">
<b>6.4.6.</b>
安装配置 DNS
</a>
<ul class="articles">
<li class="chapter " data-level="6.4.6.1" data-path="../practice/configuring-dns.html">
<a href="../practice/configuring-dns.html">
<b>6.4.6.1.</b>
安装配置 Kube-dns
</a>
</li>
<li class="chapter " data-level="6.4.6.2" data-path="../practice/coredns.html">
<a href="../practice/coredns.html">
<b>6.4.6.2.</b>
安装配置 CoreDNS
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="6.5" data-path="../practice/operation.html">
<a href="../practice/operation.html">
<b>6.5.</b>
运维管理
</a>
<ul class="articles">
<li class="chapter " data-level="6.5.1" data-path="../practice/master-ha.html">
<a href="../practice/master-ha.html">
<b>6.5.1.</b>
Master 节点高可用
</a>
</li>
<li class="chapter " data-level="6.5.2" data-path="../practice/service-rolling-update.html">
<a href="../practice/service-rolling-update.html">
<b>6.5.2.</b>
服务滚动升级
</a>
</li>
<li class="chapter " data-level="6.5.3" data-path="../practice/app-log-collection.html">
<a href="../practice/app-log-collection.html">
<b>6.5.3.</b>
应用日志收集
</a>
</li>
<li class="chapter " data-level="6.5.4" data-path="../practice/configuration-best-practice.html">
<a href="../practice/configuration-best-practice.html">
<b>6.5.4.</b>
配置最佳实践
</a>
</li>
<li class="chapter " data-level="6.5.5" data-path="../practice/monitor.html">
<a href="../practice/monitor.html">
<b>6.5.5.</b>
集群及应用监控
</a>
</li>
<li class="chapter " data-level="6.5.6" data-path="../practice/data-persistence-problem.html">
<a href="../practice/data-persistence-problem.html">
<b>6.5.6.</b>
数据持久化问题
</a>
</li>
<li class="chapter " data-level="6.5.7" data-path="../practice/manage-compute-resources-container.html">
<a href="../practice/manage-compute-resources-container.html">
<b>6.5.7.</b>
管理容器的计算资源
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.6" data-path="../practice/storage.html">
<a href="../practice/storage.html">
<b>6.6.</b>
存储管理
</a>
<ul class="articles">
<li class="chapter " data-level="6.6.1" data-path="../practice/glusterfs.html">
<a href="../practice/glusterfs.html">
<b>6.6.1.</b>
GlusterFS
</a>
<ul class="articles">
<li class="chapter " data-level="6.6.1.1" data-path="../practice/using-glusterfs-for-persistent-storage.html">
<a href="../practice/using-glusterfs-for-persistent-storage.html">
<b>6.6.1.1.</b>
使用 GlusterFS 做持久化存储
</a>
</li>
<li class="chapter " data-level="6.6.1.2" data-path="../practice/using-heketi-gluster-for-persistent-storage.html">
<a href="../practice/using-heketi-gluster-for-persistent-storage.html">
<b>6.6.1.2.</b>
使用 Heketi 作为 Kubernetes 的持久存储 GlusterFS 的 external provisioner
</a>
</li>
<li class="chapter " data-level="6.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>6.6.1.3.</b>
在 OpenShift 中使用 GlusterFS 做持久化存储
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.6.2" data-path="../practice/glusterd-2.0.html">
<a href="../practice/glusterd-2.0.html">
<b>6.6.2.</b>
GlusterD-2.0
</a>
</li>
<li class="chapter " data-level="6.6.3" data-path="../practice/ceph.html">
<a href="../practice/ceph.html">
<b>6.6.3.</b>
Ceph
</a>
<ul class="articles">
<li class="chapter " data-level="6.6.3.1" data-path="../practice/ceph-helm-install-guide-zh.html">
<a href="../practice/ceph-helm-install-guide-zh.html">
<b>6.6.3.1.</b>
用 Helm 托管安装 Ceph 集群并提供后端存储
</a>
</li>
<li class="chapter " data-level="6.6.3.2" data-path="../practice/using-ceph-for-persistent-storage.html">
<a href="../practice/using-ceph-for-persistent-storage.html">
<b>6.6.3.2.</b>
使用 Ceph 做持久化存储
</a>
</li>
<li class="chapter " data-level="6.6.3.3" data-path="../practice/rbd-provisioner.html">
<a href="../practice/rbd-provisioner.html">
<b>6.6.3.3.</b>
使用 rbd-provisioner 提供 rbd 持久化存储
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.6.4" data-path="../practice/openebs.html">
<a href="../practice/openebs.html">
<b>6.6.4.</b>
OpenEBS
</a>
<ul class="articles">
<li class="chapter " data-level="6.6.4.1" data-path="../practice/using-openebs-for-persistent-storage.html">
<a href="../practice/using-openebs-for-persistent-storage.html">
<b>6.6.4.1.</b>
使用 OpenEBS 做持久化存储
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.6.5" data-path="../practice/rook.html">
<a href="../practice/rook.html">
<b>6.6.5.</b>
Rook
</a>
</li>
<li class="chapter " data-level="6.6.6" data-path="../practice/nfs.html">
<a href="../practice/nfs.html">
<b>6.6.6.</b>
NFS
</a>
<ul class="articles">
<li class="chapter " data-level="6.6.6.1" data-path="../practice/using-nfs-for-persistent-storage.html">
<a href="../practice/using-nfs-for-persistent-storage.html">
<b>6.6.6.1.</b>
利用 NFS 动态提供 Kubernetes 后端存储卷
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="6.7" data-path="../practice/monitoring.html">
<a href="../practice/monitoring.html">
<b>6.7.</b>
集群与应用监控
</a>
<ul class="articles">
<li class="chapter " data-level="6.7.1" data-path="../practice/heapster.html">
<a href="../practice/heapster.html">
<b>6.7.1.</b>
Heapster
</a>
<ul class="articles">
<li class="chapter " data-level="6.7.1.1" data-path="../practice/using-heapster-to-get-object-metrics.html">
<a href="../practice/using-heapster-to-get-object-metrics.html">
<b>6.7.1.1.</b>
使用 Heapster 获取集群和对象的 metric 数据
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.7.2" data-path="../practice/prometheus.html">
<a href="../practice/prometheus.html">
<b>6.7.2.</b>
Prometheus
</a>
<ul class="articles">
<li class="chapter " data-level="6.7.2.1" data-path="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
<a href="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
<b>6.7.2.1.</b>
使用 Prometheus 监控 Kubernetes 集群
</a>
</li>
<li class="chapter " data-level="6.7.2.2" data-path="../practice/promql.html">
<a href="../practice/promql.html">
<b>6.7.2.2.</b>
Prometheus 查询语言 PromQL 使用说明
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="6.8" data-path="../practice/distributed-tracing.html">
<a href="../practice/distributed-tracing.html">
<b>6.8.</b>
分布式追踪
</a>
<ul class="articles">
<li class="chapter " data-level="6.8.1" data-path="../practice/opentracing.html">
<a href="../practice/opentracing.html">
<b>6.8.1.</b>
OpenTracing
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.9" data-path="../practice/services-management-tool.html">
<a href="../practice/services-management-tool.html">
<b>6.9.</b>
服务编排管理
</a>
<ul class="articles">
<li class="chapter " data-level="6.9.1" data-path="../practice/helm.html">
<a href="../practice/helm.html">
<b>6.9.1.</b>
使用 Helm 管理 Kubernetes 应用
</a>
</li>
<li class="chapter " data-level="6.9.2" data-path="../practice/create-private-charts-repo.html">
<a href="../practice/create-private-charts-repo.html">
<b>6.9.2.</b>
构建私有 Chart 仓库
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.10" data-path="../practice/ci-cd.html">
<a href="../practice/ci-cd.html">
<b>6.10.</b>
持续集成与发布CI/CD
</a>
<ul class="articles">
<li class="chapter " data-level="6.10.1" data-path="../practice/jenkins-ci-cd.html">
<a href="../practice/jenkins-ci-cd.html">
<b>6.10.1.</b>
使用 Jenkins 进行持续集成与发布
</a>
</li>
<li class="chapter " data-level="6.10.2" data-path="../practice/drone-ci-cd.html">
<a href="../practice/drone-ci-cd.html">
<b>6.10.2.</b>
使用 Drone 进行持续集成与发布
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.11" data-path="../practice/update-and-upgrade.html">
<a href="../practice/update-and-upgrade.html">
<b>6.11.</b>
更新与升级
</a>
<ul class="articles">
<li class="chapter " data-level="6.11.1" data-path="../practice/manually-upgrade.html">
<a href="../practice/manually-upgrade.html">
<b>6.11.1.</b>
手动升级 Kubernetes 集群
</a>
</li>
<li class="chapter " data-level="6.11.2" data-path="../practice/dashboard-upgrade.html">
<a href="../practice/dashboard-upgrade.html">
<b>6.11.2.</b>
升级 dashboard
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="6.12" data-path="../practice/controller-extended.html">
<a href="../practice/controller-extended.html">
<b>6.12.</b>
扩展控制器
</a>
<ul class="articles">
<li class="chapter " data-level="6.12.1" data-path="../practice/openkruise.html">
<a href="../practice/openkruise.html">
<b>6.12.1.</b>
OpenKruise
</a>
<ul class="articles">
<li class="chapter " data-level="6.12.1.1" data-path="../practice/in-place-update.html">
<a href="../practice/in-place-update.html">
<b>6.12.1.1.</b>
原地升级
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="6.13" data-path="../practice/security-policy.html">
<a href="../practice/security-policy.html">
<b>6.13.</b>
安全策略
</a>
<ul class="articles">
<li class="chapter " data-level="6.13.1" data-path="../practice/open-policy-agent.html">
<a href="../practice/open-policy-agent.html">
<b>6.13.1.</b>
开放策略代理OPA
</a>
</li>
<li class="chapter " data-level="6.13.2" data-path="../practice/cloud-native-security.html">
<a href="../practice/cloud-native-security.html">
<b>6.13.2.</b>
云原生安全
</a>
</li>
</ul>
</li>
<li class="header">服务网格</li>
<li class="chapter " data-level="7.1" data-path="../usecases/service-mesh.html">
<a href="../usecases/service-mesh.html">
<b>7.1.</b>
服务网格Service Mesh
</a>
</li>
<li class="chapter " data-level="7.2" data-path="../usecases/the-enterprise-path-to-service-mesh-architectures.html">
<a href="../usecases/the-enterprise-path-to-service-mesh-architectures.html">
<b>7.2.</b>
企业级服务网格架构
</a>
<ul class="articles">
<li class="chapter " data-level="7.2.1" data-path="../usecases/service-mesh-fundamental.html">
<a href="../usecases/service-mesh-fundamental.html">
<b>7.2.1.</b>
服务网格基础
</a>
</li>
<li class="chapter " data-level="7.2.2" data-path="../usecases/comparing-service-mesh-technologies.html">
<a href="../usecases/comparing-service-mesh-technologies.html">
<b>7.2.2.</b>
服务网格技术对比
</a>
</li>
<li class="chapter " data-level="7.2.3" data-path="../usecases/service-mesh-vs-api-gateway.html">
<a href="../usecases/service-mesh-vs-api-gateway.html">
<b>7.2.3.</b>
服务网格对比 API 网关
</a>
</li>
<li class="chapter " data-level="7.2.4" data-path="../usecases/service-mesh-adoption-and-evolution.html">
<a href="../usecases/service-mesh-adoption-and-evolution.html">
<b>7.2.4.</b>
采纳和演进
</a>
</li>
<li class="chapter " data-level="7.2.5" data-path="../usecases/service-mesh-customization-and-integration.html">
<a href="../usecases/service-mesh-customization-and-integration.html">
<b>7.2.5.</b>
定制和集成
</a>
</li>
<li class="chapter " data-level="7.2.6" data-path="../usecases/service-mesh-conclusion.html">
<a href="../usecases/service-mesh-conclusion.html">
<b>7.2.6.</b>
总结
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="7.3" data-path="../usecases/istio.html">
<a href="../usecases/istio.html">
<b>7.3.</b>
Istio
</a>
<ul class="articles">
<li class="chapter " data-level="7.3.1" data-path="../usecases/before-using-istio.html">
<a href="../usecases/before-using-istio.html">
<b>7.3.1.</b>
使用 Istio 前需要考虑的问题
</a>
</li>
<li class="chapter " data-level="7.3.2" data-path="../usecases/sidecar-spec-in-istio.html">
<a href="../usecases/sidecar-spec-in-istio.html">
<b>7.3.2.</b>
Istio 中 sidecar 的注入规范及示例
</a>
</li>
<li class="chapter " data-level="7.3.3" data-path="../usecases/istio-community-tips.html">
<a href="../usecases/istio-community-tips.html">
<b>7.3.3.</b>
如何参与 Istio 社区及注意事项
</a>
</li>
<li class="chapter " data-level="7.3.4" data-path="../usecases/istio-tutorials-collection.html">
<a href="../usecases/istio-tutorials-collection.html">
<b>7.3.4.</b>
Istio 免费学习资源汇总
</a>
</li>
<li class="chapter " data-level="7.3.5" data-path="../usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.html">
<a href="../usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.html">
<b>7.3.5.</b>
Sidecar 的注入与流量劫持
</a>
</li>
<li class="chapter " data-level="7.3.6" data-path="../usecases/envoy-sidecar-routing-of-istio-service-mesh-deep-dive.html">
<a href="../usecases/envoy-sidecar-routing-of-istio-service-mesh-deep-dive.html">
<b>7.3.6.</b>
Envoy Sidecar 代理的路由转发
</a>
</li>
<li class="chapter " data-level="7.3.7" data-path="../usecases/how-to-integrate-istio-with-vm.html">
<a href="../usecases/how-to-integrate-istio-with-vm.html">
<b>7.3.7.</b>
Istio 如何支持虚拟机
</a>
</li>
<li class="chapter " data-level="7.3.8" data-path="../usecases/istio-vm-support.html">
<a href="../usecases/istio-vm-support.html">
<b>7.3.8.</b>
Istio 支持虚拟机的历史
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="7.4" data-path="../usecases/envoy.html">
<a href="../usecases/envoy.html">
<b>7.4.</b>
Envoy
</a>
<ul class="articles">
<li class="chapter " data-level="7.4.1" data-path="../usecases/envoy-terminology.html">
<a href="../usecases/envoy-terminology.html">
<b>7.4.1.</b>
Envoy 的架构与基本术语
</a>
</li>
<li class="chapter " data-level="7.4.2" data-path="../usecases/envoy-front-proxy.html">
<a href="../usecases/envoy-front-proxy.html">
<b>7.4.2.</b>
Envoy 作为前端代理
</a>
</li>
<li class="chapter " data-level="7.4.3" data-path="../usecases/envoy-mesh-in-kubernetes-tutorial.html">
<a href="../usecases/envoy-mesh-in-kubernetes-tutorial.html">
<b>7.4.3.</b>
Envoy mesh 教程
</a>
</li>
</ul>
</li>
<li class="header">领域应用</li>
<li class="chapter " data-level="8.1" data-path="../usecases/">
<a href="../usecases/">
<b>8.1.</b>
领域应用概览
</a>
</li>
<li class="chapter " data-level="8.2" data-path="../usecases/microservices.html">
<a href="../usecases/microservices.html">
<b>8.2.</b>
微服务架构
</a>
<ul class="articles">
<li class="chapter " data-level="8.2.1" data-path="../usecases/service-discovery-in-microservices.html">
<a href="../usecases/service-discovery-in-microservices.html">
<b>8.2.1.</b>
微服务中的服务发现
</a>
</li>
<li class="chapter " data-level="8.2.2" data-path="../usecases/microservices-for-java-developers.html">
<a href="../usecases/microservices-for-java-developers.html">
<b>8.2.2.</b>
使用 Java 构建微服务并发布到 Kubernetes 平台
</a>
<ul class="articles">
<li class="chapter " data-level="8.2.2.1" data-path="../usecases/spring-boot-quick-start-guide.html">
<a href="../usecases/spring-boot-quick-start-guide.html">
<b>8.2.2.1.</b>
Spring Boot 快速开始指南
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="8.3" data-path="../usecases/big-data.html">
<a href="../usecases/big-data.html">
<b>8.3.</b>
大数据
</a>
<ul class="articles">
<li class="chapter " data-level="8.3.1" data-path="../usecases/spark-on-kubernetes.html">
<a href="../usecases/spark-on-kubernetes.html">
<b>8.3.1.</b>
Spark 与 Kubernetes
</a>
<ul class="articles">
<li class="chapter " data-level="8.3.1.1" data-path="../usecases/spark-standalone-on-kubernetes.html">
<a href="../usecases/spark-standalone-on-kubernetes.html">
<b>8.3.1.1.</b>
Spark standalone on Kubernetes
</a>
</li>
<li class="chapter " data-level="8.3.1.2" data-path="../usecases/running-spark-with-kubernetes-native-scheduler.html">
<a href="../usecases/running-spark-with-kubernetes-native-scheduler.html">
<b>8.3.1.2.</b>
运行支持 Kubernetes 原生调度的 Spark 程序
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="8.4" data-path="../usecases/serverless.html">
<a href="../usecases/serverless.html">
<b>8.4.</b>
Serverless 架构
</a>
<ul class="articles">
<li class="chapter " data-level="8.4.1" data-path="../usecases/understanding-serverless.html">
<a href="../usecases/understanding-serverless.html">
<b>8.4.1.</b>
理解 Serverless
</a>
</li>
<li class="chapter " data-level="8.4.2" data-path="../usecases/faas.html">
<a href="../usecases/faas.html">
<b>8.4.2.</b>
FaaS函数即服务
</a>
<ul class="articles">
<li class="chapter " data-level="8.4.2.1" data-path="../usecases/openfaas-quick-start.html">
<a href="../usecases/openfaas-quick-start.html">
<b>8.4.2.1.</b>
OpenFaaS 快速入门指南
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="8.4.3" data-path="../usecases/knative.html">
<a href="../usecases/knative.html">
<b>8.4.3.</b>
Knative
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="8.5" data-path="../usecases/edge-computing.html">
<a href="../usecases/edge-computing.html">
<b>8.5.</b>
边缘计算
</a>
</li>
<li class="chapter " data-level="8.6" data-path="../usecases/ai.html">
<a href="../usecases/ai.html">
<b>8.6.</b>
人工智能
</a>
</li>
<li class="chapter " data-level="8.7" data-path="../usecases/observability.html">
<a href="../usecases/observability.html">
<b>8.7.</b>
可观察性
</a>
</li>
<li class="header">开发指南</li>
<li class="chapter " data-level="9.1" data-path="../develop/">
<a href="../develop/">
<b>9.1.</b>
开发指南概览
</a>
</li>
<li class="chapter " data-level="9.2" data-path="../develop/sigs-and-working-group.html">
<a href="../develop/sigs-and-working-group.html">
<b>9.2.</b>
SIG 和工作组
</a>
</li>
<li class="chapter " data-level="9.3" data-path="../develop/developing-environment.html">
<a href="../develop/developing-environment.html">
<b>9.3.</b>
开发环境搭建
</a>
<ul class="articles">
<li class="chapter " data-level="9.3.1" data-path="../develop/using-vagrant-and-virtualbox-for-development.html">
<a href="../develop/using-vagrant-and-virtualbox-for-development.html">
<b>9.3.1.</b>
本地分布式开发环境搭建(使用 Vagrant 和 Virtualbox
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="9.4" data-path="../develop/testing.html">
<a href="../develop/testing.html">
<b>9.4.</b>
单元测试和集成测试
</a>
</li>
<li class="chapter " data-level="9.5" data-path="../develop/client-go-sample.html">
<a href="../develop/client-go-sample.html">
<b>9.5.</b>
client-go 示例
</a>
<ul class="articles">
<li class="chapter " data-level="9.5.1" data-path="../develop/client-go-informer-sourcecode-analyse.html">
<a href="../develop/client-go-informer-sourcecode-analyse.html">
<b>9.5.1.</b>
client-go 中的 informer 源码分析
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="9.6" data-path="../develop/operator.html">
<a href="../develop/operator.html">
<b>9.6.</b>
Operator
</a>
<ul class="articles">
<li class="chapter " data-level="9.6.1" data-path="../develop/operator-sdk.html">
<a href="../develop/operator-sdk.html">
<b>9.6.1.</b>
operator-sdk
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="9.7" data-path="../develop/kubebuilder.html">
<a href="../develop/kubebuilder.html">
<b>9.7.</b>
kubebuilder
</a>
<ul class="articles">
<li class="chapter " data-level="9.7.1" data-path="../develop/kubebuilder-example.html">
<a href="../develop/kubebuilder-example.html">
<b>9.7.1.</b>
使用 kubebuilder 创建 operator 示例
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="9.8" data-path="../develop/advance-developer.html">
<a href="../develop/advance-developer.html">
<b>9.8.</b>
高级开发指南
</a>
</li>
<li class="chapter " data-level="9.9" data-path="../develop/contribute.html">
<a href="../develop/contribute.html">
<b>9.9.</b>
社区贡献
</a>
</li>
<li class="chapter " data-level="9.10" data-path="../develop/minikube.html">
<a href="../develop/minikube.html">
<b>9.10.</b>
Minikube
</a>
</li>
<li class="header">社区及生态</li>
<li class="chapter " data-level="10.1" data-path="../cloud-native/cncf.html">
<a href="../cloud-native/cncf.html">
<b>10.1.</b>
云原生计算基金会CNCF
</a>
<ul class="articles">
<li class="chapter " data-level="10.1.1" data-path="../cloud-native/cncf-charter.html">
<a href="../cloud-native/cncf-charter.html">
<b>10.1.1.</b>
CNCF 章程
</a>
</li>
<li class="chapter " data-level="10.1.2" data-path="../cloud-native/cncf-sig.html">
<a href="../cloud-native/cncf-sig.html">
<b>10.1.2.</b>
CNCF 特别兴趣小组SIG说明
</a>
</li>
<li class="chapter " data-level="10.1.3" data-path="../cloud-native/cncf-sandbox-criteria.html">
<a href="../cloud-native/cncf-sandbox-criteria.html">
<b>10.1.3.</b>
开源项目加入 CNCF Sandbox 的要求
</a>
</li>
<li class="chapter " data-level="10.1.4" data-path="../cloud-native/cncf-project-governing.html">
<a href="../cloud-native/cncf-project-governing.html">
<b>10.1.4.</b>
CNCF 中的项目治理
</a>
</li>
<li class="chapter " data-level="10.1.5" data-path="../cloud-native/cncf-ambassador.html">
<a href="../cloud-native/cncf-ambassador.html">
<b>10.1.5.</b>
CNCF Ambassador
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="10.2" data-path="../cloud-native/certification.html">
<a href="../cloud-native/certification.html">
<b>10.2.</b>
认证及培训
</a>
<ul class="articles">
<li class="chapter " data-level="10.2.1" data-path="../appendix/about-kcsp.html">
<a href="../appendix/about-kcsp.html">
<b>10.2.1.</b>
认证 Kubernetes 服务提供商KCSP说明
</a>
</li>
<li class="chapter " data-level="10.2.2" data-path="../appendix/about-cka-candidate.html">
<a href="../appendix/about-cka-candidate.html">
<b>10.2.2.</b>
认证 Kubernetes 管理员CKA说明
</a>
</li>
</ul>
</li>
<li class="header">附录</li>
<li class="chapter " data-level="11.1" data-path="../appendix/">
<a href="../appendix/">
<b>11.1.</b>
附录说明
</a>
</li>
<li class="chapter " data-level="11.2" data-path="../appendix/debug-kubernetes-services.html">
<a href="../appendix/debug-kubernetes-services.html">
<b>11.2.</b>
Kubernetes 中的应用故障排查
</a>
</li>
<li class="chapter " data-level="11.3" data-path="../appendix/material-share.html">
<a href="../appendix/material-share.html">
<b>11.3.</b>
Kubernetes 相关资讯和情报链接
</a>
</li>
<li class="chapter " data-level="11.4" data-path="../appendix/docker-best-practice.html">
<a href="../appendix/docker-best-practice.html">
<b>11.4.</b>
Docker 最佳实践
</a>
</li>
<li class="chapter " data-level="11.5" data-path="../appendix/tricks.html">
<a href="../appendix/tricks.html">
<b>11.5.</b>
Kubernetes 使用技巧
</a>
</li>
<li class="chapter " data-level="11.6" data-path="../appendix/issues.html">
<a href="../appendix/issues.html">
<b>11.6.</b>
Kubernetes 相关问题记录
</a>
</li>
<li class="chapter " data-level="11.7" data-path="../appendix/summary-and-outlook.html">
<a href="../appendix/summary-and-outlook.html">
<b>11.7.</b>
Kubernetes 及云原生年度总结及展望
</a>
<ul class="articles">
<li class="chapter " data-level="11.7.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>11.7.1.</b>
Kubernetes 与云原生 2017 年年终总结及 2018 年展望
</a>
</li>
<li class="chapter " data-level="11.7.2" data-path="../appendix/kubernetes-and-cloud-native-summary-in-2018-and-outlook-for-2019.html">
<a href="../appendix/kubernetes-and-cloud-native-summary-in-2018-and-outlook-for-2019.html">
<b>11.7.2.</b>
Kubernetes 与云原生 2018 年年终总结及 2019 年展望
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="11.8" data-path="../appendix/cncf-annual-report.html">
<a href="../appendix/cncf-annual-report.html">
<b>11.8.</b>
CNCF 年度报告解读
</a>
<ul class="articles">
<li class="chapter " data-level="11.8.1" data-path="../appendix/cncf-annual-report-2018.html">
<a href="../appendix/cncf-annual-report-2018.html">
<b>11.8.1.</b>
CNCF 2018 年年度报告解读
</a>
</li>
<li class="chapter " data-level="11.8.2" data-path="../appendix/cncf-annual-report-2020.html">
<a href="../appendix/cncf-annual-report-2020.html">
<b>11.8.2.</b>
CNCF 2020 年年度报告解读
</a>
</li>
</ul>
</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=".." >使用 etcdctl 访问 Kubernetes 数据</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="&#x4F7F;&#x7528;-etcdctl-&#x8BBF;&#x95EE;-kubernetes-&#x6570;&#x636E;">&#x4F7F;&#x7528; etcdctl &#x8BBF;&#x95EE; Kubernetes &#x6570;&#x636E;</h1>
<p>Kubenretes1.6 &#x4E2D;&#x4F7F;&#x7528; etcd V3 &#x7248;&#x672C;&#x7684; API&#xFF0C;&#x4F7F;&#x7528; <code>etcdctl</code> &#x76F4;&#x63A5; <code>ls</code> &#x7684;&#x8BDD;&#x53EA;&#x80FD;&#x770B;&#x5230; <code>/kube-centos</code> &#x4E00;&#x4E2A;&#x8DEF;&#x5F84;&#x3002;&#x9700;&#x8981;&#x5728;&#x547D;&#x4EE4;&#x524D;&#x52A0;&#x4E0A; <code>ETCDCTL_API=3</code> &#x8FD9;&#x4E2A;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x624D;&#x80FD;&#x770B;&#x5230; kuberentes &#x5728; etcd &#x4E2D;&#x4FDD;&#x5B58;&#x7684;&#x6570;&#x636E;&#x3002;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">ETCDCTL_API</span><span class="token operator">=</span><span class="token number">3</span> etcdctl get /registry/namespaces/default -w<span class="token operator">=</span>json<span class="token operator">|</span>python -m json.tool
</code></pre>
<p>&#x5982;&#x679C;&#x662F;&#x4F7F;&#x7528; kubeadm &#x521B;&#x5EFA;&#x7684;&#x96C6;&#x7FA4;&#xFF0C;&#x5728; Kubenretes 1.11 &#x4E2D;&#xFF0C;etcd &#x9ED8;&#x8BA4;&#x4F7F;&#x7528; tls &#xFF0C;&#x8FD9;&#x65F6;&#x4F60;&#x53EF;&#x4EE5;&#x5728; master &#x8282;&#x70B9;&#x4E0A;&#x4F7F;&#x7528;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#x6765;&#x8BBF;&#x95EE; etcd &#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">ETCDCTL_API</span><span class="token operator">=</span><span class="token number">3</span> etcdctl --cacert<span class="token operator">=</span>/etc/kubernetes/pki/etcd/ca.crt <span class="token punctuation">\</span>
--cert<span class="token operator">=</span>/etc/kubernetes/pki/etcd/peer.crt <span class="token punctuation">\</span>
--key<span class="token operator">=</span>/etc/kubernetes/pki/etcd/peer.key <span class="token punctuation">\</span>
get /registry/namespaces/default -w<span class="token operator">=</span>json <span class="token operator">|</span> jq <span class="token builtin class-name">.</span>
</code></pre>
<ul>
<li><code>-w</code> &#x6307;&#x5B9A;&#x8F93;&#x51FA;&#x683C;&#x5F0F;</li>
</ul>
<p>&#x5C06;&#x5F97;&#x5230;&#x8FD9;&#x6837;&#x7684; json &#x7684;&#x7ED3;&#x679C;&#xFF1A;</p>
<pre class="language-"><code class="lang-json"><span class="token punctuation">{</span>
<span class="token property">&quot;count&quot;</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
<span class="token property">&quot;header&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;cluster_id&quot;</span><span class="token operator">:</span> <span class="token number">12091028579527406772</span><span class="token punctuation">,</span>
<span class="token property">&quot;member_id&quot;</span><span class="token operator">:</span> <span class="token number">16557816780141026208</span><span class="token punctuation">,</span>
<span class="token property">&quot;raft_term&quot;</span><span class="token operator">:</span> <span class="token number">36</span><span class="token punctuation">,</span>
<span class="token property">&quot;revision&quot;</span><span class="token operator">:</span> <span class="token number">29253467</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token property">&quot;kvs&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token property">&quot;create_revision&quot;</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
<span class="token property">&quot;key&quot;</span><span class="token operator">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZGVmYXVsdA==&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;mod_revision&quot;</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
<span class="token property">&quot;value&quot;</span><span class="token operator">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmIKSAoHZGVmYXVsdBIAGgAiACokZTU2YzMzMDgtMWVhOC0xMWU3LThjZDctZjRlOWQ0OWY4ZWQwMgA4AEILCIn4sscFEKOg9xd6ABIMCgprdWJlcm5ldGVzGggKBkFjdGl2ZRoAIgA=&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;version&quot;</span><span class="token operator">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span>
</code></pre>
<p>&#x4F7F;&#x7528; <code>--prefix</code> &#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6240;&#x6709;&#x7684;&#x5B50;&#x76EE;&#x5F55;&#xFF0C;&#x5982;&#x67E5;&#x770B;&#x96C6;&#x7FA4;&#x4E2D;&#x7684; namespace&#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">ETCDCTL_API</span><span class="token operator">=</span><span class="token number">3</span> etcdctl get /registry/namespaces --prefix -w<span class="token operator">=</span>json<span class="token operator">|</span>python -m json.tool
</code></pre>
<p>&#x8F93;&#x51FA;&#x7ED3;&#x679C;&#x4E2D;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6240;&#x6709;&#x7684; namespace&#x3002;</p>
<pre class="language-"><code class="lang-bash"><span class="token punctuation">{</span>
<span class="token string">&quot;count&quot;</span><span class="token builtin class-name">:</span> <span class="token number">8</span>,
<span class="token string">&quot;header&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">{</span>
<span class="token string">&quot;cluster_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">12091028579527406772</span>,
<span class="token string">&quot;member_id&quot;</span><span class="token builtin class-name">:</span> <span class="token number">16557816780141026208</span>,
<span class="token string">&quot;raft_term&quot;</span><span class="token builtin class-name">:</span> <span class="token number">36</span>,
<span class="token string">&quot;revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">29253722</span>
<span class="token punctuation">}</span>,
<span class="token string">&quot;kvs&quot;</span><span class="token builtin class-name">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">24310883</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMvYXV0b21vZGVs&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">24310883</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmQKSgoJYXV0b21vZGVsEgAaACIAKiQ1MjczOTU1ZC1iMzEyLTExZTctOTcwYy1mNGU5ZDQ5ZjhlZDAyADgAQgsI7fSWzwUQ6Jv1Z3oAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA==&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">21387676</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMvYnJhbmQ=&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">21387676</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmEKRwoFYnJhbmQSABoAIgAqJGNkZmQ1Y2NmLWExYzktMTFlNy05NzBjLWY0ZTlkNDlmOGVkMDIAOABCDAjR9qLOBRDYn83XAXoAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA==&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">5</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZGVmYXVsdA==&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">5</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmIKSAoHZGVmYXVsdBIAGgAiACokZTU2YzMzMDgtMWVhOC0xMWU3LThjZDctZjRlOWQ0OWY4ZWQwMgA4AEILCIn4sscFEKOg9xd6ABIMCgprdWJlcm5ldGVzGggKBkFjdGl2ZRoAIgA=&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">18504694</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZGV2&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">24310213</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmwKUgoDZGV2EgAaACIAKiQyOGRlMGVjNS04ZTEzLTExZTctOTcwYy1mNGU5ZDQ5ZjhlZDAyADgAQgwI89CezQUQ0v2fuQNaCwoEbmFtZRIDZGV2egASDAoKa3ViZXJuZXRlcxoICgZBY3RpdmUaACIA&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">4</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">10</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMva3ViZS1wdWJsaWM=&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">10</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmcKTQoLa3ViZS1wdWJsaWMSABoAIgAqJGU1ZjhkY2I1LTFlYTgtMTFlNy04Y2Q3LWY0ZTlkNDlmOGVkMDIAOABCDAiJ+LLHBRDdrsDPA3oAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA==&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">2</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMva3ViZS1zeXN0ZW0=&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">2</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmYKTAoLa3ViZS1zeXN0ZW0SABoAIgAqJGU1NmFhMDVkLTFlYTgtMTFlNy04Y2Q3LWY0ZTlkNDlmOGVkMDIAOABCCwiJ+LLHBRDoq9ASegASDAoKa3ViZXJuZXRlcxoICgZBY3RpdmUaACIA&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">3774247</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMvc3BhcmstY2x1c3Rlcg==&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">3774247</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEoABCmYKDXNwYXJrLWNsdXN0ZXISABoAIgAqJDMyNjY3ZDVjLTM0YWMtMTFlNy1iZmJkLThhZjFlM2E3YzViZDIAOABCDAiA1cbIBRDU3YuAAVoVCgRuYW1lEg1zcGFyay1jbHVzdGVyegASDAoKa3ViZXJuZXRlcxoICgZBY3RpdmUaACIA&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>,
<span class="token punctuation">{</span>
<span class="token string">&quot;create_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">15212191</span>,
<span class="token string">&quot;key&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;L3JlZ2lzdHJ5L25hbWVzcGFjZXMveWFybi1jbHVzdGVy&quot;</span>,
<span class="token string">&quot;mod_revision&quot;</span><span class="token builtin class-name">:</span> <span class="token number">15212191</span>,
<span class="token string">&quot;value&quot;</span><span class="token builtin class-name">:</span> <span class="token string">&quot;azhzAAoPCgJ2MRIJTmFtZXNwYWNlEn0KYwoMeWFybi1jbHVzdGVyEgAaACIAKiQ2YWNhNjk1Yi03N2Y5LTExZTctYmZiZC04YWYxZTNhN2M1YmQyADgAQgsI1qiKzAUQkoqxDloUCgRuYW1lEgx5YXJuLWNsdXN0ZXJ6ABIMCgprdWJlcm5ldGVzGggKBkFjdGl2ZRoAIgA=&quot;</span>,
<span class="token string">&quot;version&quot;</span><span class="token builtin class-name">:</span> <span class="token number">1</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span>
</code></pre>
<p>key &#x7684;&#x503C;&#x662F;&#x7ECF;&#x8FC7; base64 &#x7F16;&#x7801;&#xFF0C;&#x9700;&#x8981;&#x89E3;&#x7801;&#x540E;&#x624D;&#x80FD;&#x770B;&#x5230;&#x5B9E;&#x9645;&#x503C;&#xFF0C;&#x5982;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash">$ <span class="token builtin class-name">echo</span> L3JlZ2lzdHJ5L25hbWVzcGFjZXMvYXV0b21vZGVs<span class="token operator">|</span>base64 -d
/registry/namespaces/automodel
</code></pre>
<h2 id="etcd-&#x4E2D;-kubernetes-&#x7684;&#x5143;&#x6570;&#x636E;">etcd &#x4E2D; kubernetes &#x7684;&#x5143;&#x6570;&#x636E;</h2>
<p>&#x6211;&#x4EEC;&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#x83B7;&#x53D6;&#x7684; kubernetes &#x7684;&#x5BF9;&#x8C61;&#x72B6;&#x6001;&#x5B9E;&#x9645;&#x4E0A;&#x662F;&#x4FDD;&#x5B58;&#x5728; etcd &#x4E2D;&#x7684;&#xFF0C;&#x4F7F;&#x7528;&#x4E0B;&#x9762;&#x7684;&#x811A;&#x672C;&#x53EF;&#x4EE5;&#x83B7;&#x53D6; etcd &#x4E2D;&#x7684;&#x6240;&#x6709; kubernetes &#x5BF9;&#x8C61;&#x7684; key&#xFF1A;</p>
<blockquote>
<p>&#x6CE8;&#x610F;&#xFF0C;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x4E86; ETCD v3 &#x7248;&#x672C;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x547D;&#x4EE4;&#x6765;&#x8BBF;&#x95EE; etcd&#x3002;</p>
</blockquote>
<pre class="language-"><code class="lang-bash"><span class="token shebang important">#!/bin/bash</span>
<span class="token comment"># Get kubernetes keys from etcd</span>
<span class="token builtin class-name">export</span> <span class="token assign-left variable">ETCDCTL_API</span><span class="token operator">=</span><span class="token number">3</span>
<span class="token assign-left variable">keys</span><span class="token operator">=</span><span class="token variable"><span class="token variable">`</span>etcdctl get /registry --prefix -w json<span class="token operator">|</span>python -m json.tool<span class="token operator">|</span><span class="token function">grep</span> key<span class="token operator">|</span><span class="token function">cut</span> -d <span class="token string">&quot;:&quot;</span> -f2<span class="token operator">|</span><span class="token function">tr</span> -d <span class="token string">&apos;&quot;&apos;</span><span class="token operator">|</span><span class="token function">tr</span> -d <span class="token string">&quot;,&quot;</span><span class="token variable">`</span></span>
<span class="token keyword">for</span> <span class="token for-or-select variable">x</span> <span class="token keyword">in</span> <span class="token variable">$keys</span><span class="token punctuation">;</span><span class="token keyword">do</span>
<span class="token builtin class-name">echo</span> <span class="token variable">$x</span><span class="token operator">|</span>base64 -d<span class="token operator">|</span><span class="token function">sort</span>
<span class="token keyword">done</span>
</code></pre>
<p>&#x901A;&#x8FC7;&#x8F93;&#x51FA;&#x7684;&#x7ED3;&#x679C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x770B;&#x5230; kubernetes &#x7684;&#x539F;&#x6570;&#x636E;&#x662F;&#x6309;&#x4F55;&#x79CD;&#x7ED3;&#x6784;&#x5305;&#x62EC;&#x5728; kuberentes &#x4E2D;&#x7684;&#xFF0C;&#x8F93;&#x51FA;&#x7ED3;&#x679C;&#x5982;&#x4E0B;&#x6240;&#x793A;&#xFF1A;</p>
<pre class="language-"><code class="lang-ini">/registry/ThirdPartyResourceData/istio.io/istioconfigs/default/route-rule-details-default
/registry/ThirdPartyResourceData/istio.io/istioconfigs/default/route-rule-productpage-default
/registry/ThirdPartyResourceData/istio.io/istioconfigs/default/route-rule-ratings-default
...
/registry/configmaps/default/namerctl-script
/registry/configmaps/default/namerd-config
/registry/configmaps/default/nginx-config
...
/registry/deployments/default/sdmk-page-sdmk
/registry/deployments/default/sdmk-payment-web
/registry/deployments/default/sdmk-report
...
</code></pre>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6240;&#x6709;&#x7684; Kuberentes &#x7684;&#x6240;&#x6709;&#x5143;&#x6570;&#x636E;&#x90FD;&#x4FDD;&#x5B58;&#x5728; <code>/registry</code> &#x76EE;&#x5F55;&#x4E0B;&#xFF0C;&#x4E0B;&#x4E00;&#x5C42;&#x5C31;&#x662F; API &#x5BF9;&#x8C61;&#x7C7B;&#x578B;&#xFF08;&#x590D;&#x6570;&#x5F62;&#x5F0F;&#xFF09;&#xFF0C;&#x518D;&#x4E0B;&#x4E00;&#x5C42;&#x662F; <code>namespace</code>&#xFF0C;&#x6700;&#x540E;&#x4E00;&#x5C42;&#x662F;&#x5BF9;&#x8C61;&#x7684;&#x540D;&#x5B57;&#x3002;</p>
<p>&#x4EE5;&#x4E0B;&#x662F; etcd &#x4E2D;&#x5B58;&#x50A8;&#x7684; kubernetes &#x6240;&#x6709;&#x7684;&#x5143;&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF1A;</p>
<pre class="language-"><code class="lang-ini">ThirdPartyResourceData
apiextensions.k8s.io
apiregistration.k8s.io
certificatesigningrequests
clusterrolebindings
clusterroles
configmaps
controllerrevisions
controllers
daemonsets
deployments
events
horizontalpodautoscalers
ingress
limitranges
minions
monitoring.coreos.com
namespaces
persistentvolumeclaims
persistentvolumes
poddisruptionbudgets
pods
ranges
replicasets
resourcequotas
rolebindings
roles
secrets
serviceaccounts
services
statefulsets
storageclasses
thirdpartyresources
</code></pre>
<footer class="page-footer"><span class="copyright"><a href="https://mp.weixin.qq.com/s/vWlSdzz2MNdXRr0sd2-LFg" target="_blank">&#x52A0;&#x5165;&#x4E91;&#x539F;&#x751F;&#x793E;&#x533A;</a><p></p>Copyright &#xA9; 2017-2022 | Distributed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh" target="_blank">CC BY 4.0</a> | <a href="https://jimmysong.io" target="_blank">jimmysong.io</a> all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification"> Updated at
2022-01-26 08:03:32
</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="kubectl-cheatsheet.html" class="navigation navigation-prev " aria-label="Previous page: kubectl 命令技巧大全">
<i class="fa fa-angle-left"></i>
</a>
<a href="cluster-security-management.html" class="navigation navigation-next " aria-label="Next page: 集群安全性管理">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"使用 etcdctl 访问 Kubernetes 数据","level":"5.3.4","depth":2,"next":{"title":"集群安全性管理","level":"5.4","depth":1,"path":"guide/cluster-security-management.md","ref":"guide/cluster-security-management.md","articles":[{"title":"管理集群中的 TLS","level":"5.4.1","depth":2,"path":"guide/managing-tls-in-a-cluster.md","ref":"guide/managing-tls-in-a-cluster.md","articles":[]},{"title":"kubelet 的认证授权","level":"5.4.2","depth":2,"path":"guide/kubelet-authentication-authorization.md","ref":"guide/kubelet-authentication-authorization.md","articles":[]},{"title":"TLS Bootstrap","level":"5.4.3","depth":2,"path":"guide/tls-bootstrapping.md","ref":"guide/tls-bootstrapping.md","articles":[]},{"title":"创建用户认证授权的 kubeconfig 文件","level":"5.4.4","depth":2,"path":"guide/kubectl-user-authentication-authorization.md","ref":"guide/kubectl-user-authentication-authorization.md","articles":[]},{"title":"IP 伪装代理","level":"5.4.5","depth":2,"path":"guide/ip-masq-agent.md","ref":"guide/ip-masq-agent.md","articles":[]},{"title":"使用 kubeconfig 或 token 进行用户身份认证","level":"5.4.6","depth":2,"path":"guide/auth-with-kubeconfig-or-token.md","ref":"guide/auth-with-kubeconfig-or-token.md","articles":[]},{"title":"Kubernetes 中的用户与身份认证授权","level":"5.4.7","depth":2,"path":"guide/authentication.md","ref":"guide/authentication.md","articles":[]},{"title":"Kubernetes 集群安全性配置最佳实践","level":"5.4.8","depth":2,"path":"guide/kubernetes-security-best-practice.md","ref":"guide/kubernetes-security-best-practice.md","articles":[]}]},"previous":{"title":"kubectl 命令技巧大全","level":"5.3.3","depth":2,"path":"guide/kubectl-cheatsheet.md","ref":"guide/kubectl-cheatsheet.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","lightbox","ga","sitemap-general"],"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":"<a href=https://mp.weixin.qq.com/s/vWlSdzz2MNdXRr0sd2-LFg>加入云原生社区</a></p>Copyright © 2017-2022 | Distributed under <a href=https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh>CC BY 4.0</a> | <a href=https://jimmysong.io>jimmysong.io</a>","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":{},"sitemap-general":{"prefix":"https://jimmysong.io/kubernetes-handbook/"},"fontsettings":{"theme":"white","family":"sans","size":2},"favicon":{"shortcut":"favicon.ico","bookmark":"favicon.ico"},"lightbox":{"jquery":true,"sameUuid":false},"page-toc-button":{},"back-to-top-button":{},"prism-themes":{},"github-buttons":{"repo":"rootsongjc/kubernetes-handbook","types":["star"],"size":"small"},"3-ba":{"configuration":"auto","token":"11f7d254cfa4e0ca44b175c66d379ecc"},"ga":{"configuration":"auto","token":"UA-93485976-1"},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"showLevel":true,"styles":{"ebook":"styles/ebook.css","epub":"styles/epub.css","mobi":"styles/mobi.css","pdf":"styles/pdf.css","print":"styles/print.css","website":"styles/website.css"}},"search-plus":{},"image-captions":{"caption":"图 _PAGE_LEVEL_._PAGE_IMAGE_NUMBER__CAPTION_","variable_name":"_pictures"}},"theme":"default","author":"Jimmy Song宋净超","pdf":{"pageNumbers"
});
</script>
</div>
<script src="../gitbook/gitbook.js"></script>
<script src="../gitbook/theme.js"></script>
<script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>
<script src="../gitbook/gitbook-plugin-page-toc-button/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-editlink/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-back-to-top-button/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
<script src="../gitbook/gitbook-plugin-search-plus/search.js"></script>
<script src="../gitbook/gitbook-plugin-github-buttons/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-3-ba/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-lightbox/js/lightbox.min.js"></script>
<script src="../gitbook/gitbook-plugin-ga/plugin.js"></script>
<script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>