kubernetes-handbook/guide/docker-cli-to-kubectl.html

2016 lines
94 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE HTML>
<html lang="zh-hans" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>3.2.2 docker用户过度到kubectl命令行指南 · Kubernetes Handbook</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-highlight/website.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="using-kubectl.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">Home</a>
</li>
<li class="divider"></li>
<li class="chapter " data-level="1.1" data-path="../">
<a href="../">
1. 前言
</a>
</li>
<li class="chapter " data-level="1.2" data-path="../concepts/">
<a href="../concepts/">
2. 概念原理
</a>
<ul class="articles">
<li class="chapter " data-level="1.2.1" data-path="../concepts/concepts.html">
<a href="../concepts/concepts.html">
2.1 设计理念
</a>
</li>
<li class="chapter " data-level="1.2.2" data-path="../concepts/objects.html">
<a href="../concepts/objects.html">
2.2 Objects
</a>
<ul class="articles">
<li class="chapter " data-level="1.2.2.1" data-path="../concepts/pod-overview.html">
<a href="../concepts/pod-overview.html">
2.2.1 Pod
</a>
<ul class="articles">
<li class="chapter " data-level="1.2.2.1.1" data-path="../concepts/pod.html">
<a href="../concepts/pod.html">
2.2.1.1 Pod解析
</a>
</li>
<li class="chapter " data-level="1.2.2.1.2" data-path="../concepts/init-containers.html">
<a href="../concepts/init-containers.html">
2.2.1.2 Init容器
</a>
</li>
<li class="chapter " data-level="1.2.2.1.3" data-path="../concepts/pod-security-policy.html">
<a href="../concepts/pod-security-policy.html">
2.2.1.3 Pod安全策略
</a>
</li>
<li class="chapter " data-level="1.2.2.1.4" data-path="../concepts/pod-lifecycle.html">
<a href="../concepts/pod-lifecycle.html">
2.2.1.4 Pod的生命周期
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.2.2.2" data-path="../concepts/node.html">
<a href="../concepts/node.html">
2.2.2 Node
</a>
</li>
<li class="chapter " data-level="1.2.2.3" data-path="../concepts/namespace.html">
<a href="../concepts/namespace.html">
2.2.3 Namespace
</a>
</li>
<li class="chapter " data-level="1.2.2.4" data-path="../concepts/service.html">
<a href="../concepts/service.html">
2.2.4 Service
</a>
</li>
<li class="chapter " data-level="1.2.2.5" data-path="../concepts/volume.html">
<a href="../concepts/volume.html">
2.2.5 Volume和Persistent Volume
</a>
</li>
<li class="chapter " data-level="1.2.2.6" data-path="../concepts/deployment.html">
<a href="../concepts/deployment.html">
2.2.6 Deployment
</a>
</li>
<li class="chapter " data-level="1.2.2.7" data-path="../concepts/secret.html">
<a href="../concepts/secret.html">
2.2.7 Secret
</a>
</li>
<li class="chapter " data-level="1.2.2.8" data-path="../concepts/statefulset.html">
<a href="../concepts/statefulset.html">
2.2.8 StatefulSet
</a>
</li>
<li class="chapter " data-level="1.2.2.9" data-path="../concepts/daemonset.html">
<a href="../concepts/daemonset.html">
2.2.9 DaemonSet
</a>
</li>
<li class="chapter " data-level="1.2.2.10" data-path="../concepts/serviceaccount.html">
<a href="../concepts/serviceaccount.html">
2.2.10 ServiceAccount
</a>
</li>
<li class="chapter " data-level="1.2.2.11" data-path="../concepts/replicaset.html">
<a href="../concepts/replicaset.html">
2.2.11 ReplicationController和ReplicaSet
</a>
</li>
<li class="chapter " data-level="1.2.2.12" data-path="../concepts/job.html">
<a href="../concepts/job.html">
2.2.12 Job
</a>
</li>
<li class="chapter " data-level="1.2.2.13" data-path="../concepts/cronjob.html">
<a href="../concepts/cronjob.html">
2.2.13 CronJob
</a>
</li>
<li class="chapter " data-level="1.2.2.14" data-path="../concepts/ingress.html">
<a href="../concepts/ingress.html">
2.2.14 Ingress
</a>
</li>
<li class="chapter " data-level="1.2.2.15" data-path="../concepts/configmap.html">
<a href="../concepts/configmap.html">
2.2.15 ConfigMap
</a>
</li>
<li class="chapter " data-level="1.2.2.16" data-path="../concepts/horizontal-pod-autoscaling.html">
<a href="../concepts/horizontal-pod-autoscaling.html">
2.2.16 Horizontal Pod Autoscaling
</a>
</li>
<li class="chapter " data-level="1.2.2.17" data-path="../concepts/label.html">
<a href="../concepts/label.html">
2.2.17 Label
</a>
</li>
<li class="chapter " data-level="1.2.2.18" data-path="../concepts/garbage-collection.html">
<a href="../concepts/garbage-collection.html">
2.2.18 垃圾收集
</a>
</li>
<li class="chapter " data-level="1.2.2.19" data-path="../concepts/network-policy.html">
<a href="../concepts/network-policy.html">
2.2.19 NetworkPolicy
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="1.3" data-path="./">
<a href="./">
3. 用户指南
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.1" data-path="resource-configuration.html">
<a href="resource-configuration.html">
3.1 资源对象配置
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.1.1" data-path="configure-liveness-readiness-probes.html">
<a href="configure-liveness-readiness-probes.html">
3.1.1 配置Pod的liveness和readiness探针
</a>
</li>
<li class="chapter " data-level="1.3.1.2" data-path="configure-pod-service-account.html">
<a href="configure-pod-service-account.html">
3.1.2 配置Pod的Service Account
</a>
</li>
<li class="chapter " data-level="1.3.1.3" data-path="secret-configuration.html">
<a href="secret-configuration.html">
3.1.3 Secret配置
</a>
</li>
<li class="chapter " data-level="1.3.1.4" data-path="resource-quota-management.html">
<a href="resource-quota-management.html">
3.2.3 管理namespace中的资源配额
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.3.2" data-path="command-usage.html">
<a href="command-usage.html">
3.2 命令使用
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.2.1" data-path="using-kubectl.html">
<a href="using-kubectl.html">
3.2.1 使用kubectl
</a>
</li>
<li class="chapter active" data-level="1.3.2.2" data-path="docker-cli-to-kubectl.html">
<a href="docker-cli-to-kubectl.html">
3.2.2 docker用户过度到kubectl命令行指南
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.3.3" data-path="cluster-security-management.html">
<a href="cluster-security-management.html">
3.3 集群安全性管理
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.3.1" data-path="managing-tls-in-a-cluster.html">
<a href="managing-tls-in-a-cluster.html">
3.3.1 管理集群中的TLS
</a>
</li>
<li class="chapter " data-level="1.3.3.2" data-path="kubelet-authentication-authorization.html">
<a href="kubelet-authentication-authorization.html">
3.3.2 kubelet的认证授权
</a>
</li>
<li class="chapter " data-level="1.3.3.3" data-path="tls-bootstrapping.html">
<a href="tls-bootstrapping.html">
3.3.3 TLS bootstrap
</a>
</li>
<li class="chapter " data-level="1.3.3.4" data-path="kubectl-user-authentication-authorization.html">
<a href="kubectl-user-authentication-authorization.html">
3.3.4 kubectl的用户认证授权
</a>
</li>
<li class="chapter " data-level="1.3.3.5" data-path="rbac.html">
<a href="rbac.html">
3.3.5 RBAC——基于角色的访问控制
</a>
</li>
<li class="chapter " data-level="1.3.3.6" data-path="ip-masq-agent.html">
<a href="ip-masq-agent.html">
3.3.6 IP伪装代理
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.3.4" data-path="access-kubernetes-cluster.html">
<a href="access-kubernetes-cluster.html">
3.4 访问 Kubernetes 集群
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.4.1" data-path="access-cluster.html">
<a href="access-cluster.html">
3.4.1 访问集群
</a>
</li>
<li class="chapter " data-level="1.3.4.2" data-path="authenticate-across-clusters-kubeconfig.html">
<a href="authenticate-across-clusters-kubeconfig.html">
3.4.2 使用 kubeconfig 文件配置跨集群认证
</a>
</li>
<li class="chapter " data-level="1.3.4.3" data-path="connecting-to-applications-port-forward.html">
<a href="connecting-to-applications-port-forward.html">
3.4.3 通过端口转发访问集群中的应用程序
</a>
</li>
<li class="chapter " data-level="1.3.4.4" data-path="service-access-application-cluster.html">
<a href="service-access-application-cluster.html">
3.4.4 使用 service 访问群集中的应用程序
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.3.5" data-path="application-development-deployment-flow.html">
<a href="application-development-deployment-flow.html">
3.5 在kubernetes中开发部署应用
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.5.1" data-path="deploy-applications-in-kubernetes.html">
<a href="deploy-applications-in-kubernetes.html">
3.5.1 适用于kubernetes的应用开发部署流程
</a>
</li>
<li class="chapter " data-level="1.3.5.2" data-path="migrating-hadoop-yarn-to-kubernetes.html">
<a href="migrating-hadoop-yarn-to-kubernetes.html">
3.5.2 迁移传统应用到kubernetes中——以Hadoop YARN为例
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4" data-path="../practice/">
<a href="../practice/">
4. 最佳实践
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.1" data-path="../practice/install-kbernetes1.6-on-centos.html">
<a href="../practice/install-kbernetes1.6-on-centos.html">
4.1 在CentOS上部署kubernetes1.6集群
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.1.1" data-path="../practice/create-tls-and-secret-key.html">
<a href="../practice/create-tls-and-secret-key.html">
4.1.1 创建TLS证书和秘钥
</a>
</li>
<li class="chapter " data-level="1.4.1.2" data-path="../practice/create-kubeconfig.html">
<a href="../practice/create-kubeconfig.html">
4.1.2 创建kubeconfig文件
</a>
</li>
<li class="chapter " data-level="1.4.1.3" data-path="../practice/etcd-cluster-installation.html">
<a href="../practice/etcd-cluster-installation.html">
4.1.3 创建高可用etcd集群
</a>
</li>
<li class="chapter " data-level="1.4.1.4" data-path="../practice/kubectl-installation.html">
<a href="../practice/kubectl-installation.html">
4.1.4 安装kubectl命令行工具
</a>
</li>
<li class="chapter " data-level="1.4.1.5" data-path="../practice/master-installation.html">
<a href="../practice/master-installation.html">
4.1.5 部署master节点
</a>
</li>
<li class="chapter " data-level="1.4.1.6" data-path="../practice/node-installation.html">
<a href="../practice/node-installation.html">
4.1.6 部署node节点
</a>
</li>
<li class="chapter " data-level="1.4.1.7" data-path="../practice/kubedns-addon-installation.html">
<a href="../practice/kubedns-addon-installation.html">
4.1.7 安装kubedns插件
</a>
</li>
<li class="chapter " data-level="1.4.1.8" data-path="../practice/dashboard-addon-installation.html">
<a href="../practice/dashboard-addon-installation.html">
4.1.8 安装dashboard插件
</a>
</li>
<li class="chapter " data-level="1.4.1.9" data-path="../practice/heapster-addon-installation.html">
<a href="../practice/heapster-addon-installation.html">
4.1.9 安装heapster插件
</a>
</li>
<li class="chapter " data-level="1.4.1.10" data-path="../practice/efk-addon-installation.html">
<a href="../practice/efk-addon-installation.html">
4.1.10 安装EFK插件
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4.2" data-path="../practice/service-discovery-and-loadbalancing.html">
<a href="../practice/service-discovery-and-loadbalancing.html">
4.2 服务发现与负载均衡
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.2.1" data-path="../practice/traefik-ingress-installation.html">
<a href="../practice/traefik-ingress-installation.html">
4.2.1 安装Traefik ingress
</a>
</li>
<li class="chapter " data-level="1.4.2.2" data-path="../practice/distributed-load-test.html">
<a href="../practice/distributed-load-test.html">
4.2.2 分布式负载测试
</a>
</li>
<li class="chapter " data-level="1.4.2.3" data-path="../practice/network-and-cluster-perfermance-test.html">
<a href="../practice/network-and-cluster-perfermance-test.html">
4.2.3 网络和集群性能测试
</a>
</li>
<li class="chapter " data-level="1.4.2.4" data-path="../practice/edge-node-configuration.html">
<a href="../practice/edge-node-configuration.html">
4.2.4 边缘节点配置
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4.3" data-path="../practice/operation.html">
<a href="../practice/operation.html">
4.3 运维管理
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.3.1" data-path="../practice/service-rolling-update.html">
<a href="../practice/service-rolling-update.html">
4.3.1 服务滚动升级
</a>
</li>
<li class="chapter " data-level="1.4.3.2" data-path="../practice/app-log-collection.html">
<a href="../practice/app-log-collection.html">
4.3.2 应用日志收集
</a>
</li>
<li class="chapter " data-level="1.4.3.3" data-path="../practice/configuration-best-practice.html">
<a href="../practice/configuration-best-practice.html">
4.3.3 配置最佳实践
</a>
</li>
<li class="chapter " data-level="1.4.3.4" data-path="../practice/monitor.html">
<a href="../practice/monitor.html">
4.3.4 集群及应用监控
</a>
</li>
<li class="chapter " data-level="1.4.3.5" data-path="../practice/jenkins-ci-cd.html">
<a href="../practice/jenkins-ci-cd.html">
4.3.5 使用Jenkins进行持续构建与发布
</a>
</li>
<li class="chapter " data-level="1.4.3.6" data-path="../practice/data-persistence-problem.html">
<a href="../practice/data-persistence-problem.html">
4.3.6 数据持久化问题
</a>
</li>
<li class="chapter " data-level="1.4.3.7" data-path="../practice/manage-compute-resources-container.html">
<a href="../practice/manage-compute-resources-container.html">
4.3.7 管理容器的计算资源
</a>
</li>
<li class="chapter " data-level="1.4.3.8" data-path="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
<a href="../practice/using-prometheus-to-monitor-kuberentes-cluster.html">
4.3.8 使用Prometheus监控kubernetes集群
</a>
</li>
<li class="chapter " data-level="1.4.3.9" data-path="../practice/using-heapster-to-get-object-metrics.html">
<a href="../practice/using-heapster-to-get-object-metrics.html">
4.3.9 使用Heapster获取集群和对象的metric数据
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4.4" data-path="../practice/storage.html">
<a href="../practice/storage.html">
4.4 存储管理
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.4.1" data-path="../practice/glusterfs.html">
<a href="../practice/glusterfs.html">
4.4.1 GlusterFS
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.4.1.1" data-path="../practice/using-glusterfs-for-persistent-storage.html">
<a href="../practice/using-glusterfs-for-persistent-storage.html">
4.4.1.1 使用GlusterFS做持久化存储
</a>
</li>
<li class="chapter " data-level="1.4.4.1.2" data-path="../practice/storage-for-containers-using-glusterfs-with-openshift.html">
<a href="../practice/storage-for-containers-using-glusterfs-with-openshift.html">
4.4.1.2 在OpenShift中使用GlusterFS做持久化存储
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4.4.2" data-path="../practice/cephfs.html">
<a href="../practice/cephfs.html">
4.4.2 CephFS
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.4.2.1" data-path="../practice/using-ceph-for-persistent-storage.html">
<a href="../practice/using-ceph-for-persistent-storage.html">
4.4.2.1 使用Ceph做持久化存储
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5" data-path="../usecases/">
<a href="../usecases/">
5. 领域应用
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.1" data-path="../usecases/microservices.html">
<a href="../usecases/microservices.html">
5.1 微服务架构
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.1.1" data-path="../usecases/service-discovery-in-microservices.html">
<a href="../usecases/service-discovery-in-microservices.html">
5.1.1 微服务中的服务发现
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5.2" data-path="../usecases/service-mesh.html">
<a href="../usecases/service-mesh.html">
5.2 Service Mesh 服务网格
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.2.1" data-path="../usecases/istio.html">
<a href="../usecases/istio.html">
5.1.1 Istio
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.2.1.1" data-path="../usecases/istio-installation.html">
<a href="../usecases/istio-installation.html">
5.1.1.1 安装istio
</a>
</li>
<li class="chapter " data-level="1.5.2.1.2" data-path="../usecases/configuring-request-routing.html">
<a href="../usecases/configuring-request-routing.html">
5.1.1.2 配置请求的路由规则
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5.2.2" data-path="../usecases/linkerd.html">
<a href="../usecases/linkerd.html">
5.1.2 Linkerd
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.2.2.1" data-path="../usecases/linkerd-user-guide.html">
<a href="../usecases/linkerd-user-guide.html">
5.1.2.1 Linkerd 使用指南
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5.3" data-path="../usecases/big-data.html">
<a href="../usecases/big-data.html">
5.2 大数据
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.3.1" data-path="../usecases/spark-standalone-on-kubernetes.html">
<a href="../usecases/spark-standalone-on-kubernetes.html">
5.2.1 Spark standalone on Kubernetes
</a>
</li>
<li class="chapter " data-level="1.5.3.2" data-path="../usecases/running-spark-with-kubernetes-native-scheduler.html">
<a href="../usecases/running-spark-with-kubernetes-native-scheduler.html">
5.2.2 运行支持kubernetes原生调度的Spark程序
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5.4" data-path="../usecases/serverless.html">
<a href="../usecases/serverless.html">
5.3 Serverless架构
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.6" data-path="../develop/">
<a href="../develop/">
6. 开发指南
</a>
<ul class="articles">
<li class="chapter " data-level="1.6.1" data-path="../develop/developing-environment.html">
<a href="../develop/developing-environment.html">
6.1 开发环境搭建
</a>
</li>
<li class="chapter " data-level="1.6.2" data-path="../develop/testing.html">
<a href="../develop/testing.html">
6.2 单元测试和集成测试
</a>
</li>
<li class="chapter " data-level="1.6.3" data-path="../develop/client-go-sample.html">
<a href="../develop/client-go-sample.html">
6.3 client-go示例
</a>
</li>
<li class="chapter " data-level="1.6.4" data-path="../develop/contribute.html">
<a href="../develop/contribute.html">
6.4 社区贡献
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.7" data-path="../appendix/">
<a href="../appendix/">
7. 附录
</a>
<ul class="articles">
<li class="chapter " data-level="1.7.1" data-path="../appendix/docker-best-practice.html">
<a href="../appendix/docker-best-practice.html">
7.1 Docker最佳实践
</a>
</li>
<li class="chapter " data-level="1.7.2" data-path="../appendix/issues.html">
<a href="../appendix/issues.html">
7.2 问题记录
</a>
</li>
<li class="chapter " data-level="1.7.3" data-path="../appendix/tricks.html">
<a href="../appendix/tricks.html">
7.3 使用技巧
</a>
</li>
<li class="chapter " data-level="1.7.4" data-path="../appendix/debug-kubernetes-services.html">
<a href="../appendix/debug-kubernetes-services.html">
7.4 kubernetes service中的故障排查
</a>
</li>
<li class="chapter " data-level="1.7.5" data-path="../appendix/material-share.html">
<a href="../appendix/material-share.html">
7.5 相关资料分享
</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=".." >3.2.2 docker用户过度到kubectl命令行指南</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="docker&#x7528;&#x6237;&#x8FC7;&#x5EA6;&#x5230;kubectl&#x547D;&#x4EE4;&#x884C;&#x6307;&#x5357;">docker&#x7528;&#x6237;&#x8FC7;&#x5EA6;&#x5230;kubectl&#x547D;&#x4EE4;&#x884C;&#x6307;&#x5357;</h1>
<p>&#x5BF9;&#x4E8E;&#x6CA1;&#x6709;&#x4F7F;&#x7528;&#x8FC7; kubernetes &#x7684; docker &#x7528;&#x6237;&#xFF0C;&#x5982;&#x4F55;&#x5FEB;&#x901F;&#x638C;&#x63E1; kubectl &#x547D;&#x4EE4;&#xFF1F;</p>
<p>&#x5728;&#x672C;&#x6587;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x5411; docker-cli &#x7528;&#x6237;&#x4ECB;&#x7ECD; Kubernetes &#x547D;&#x4EE4;&#x884C;&#x5982;&#x4F55;&#x4E0E; api &#x8FDB;&#x884C;&#x4EA4;&#x4E92;&#x3002;&#x8BE5;&#x547D;&#x4EE4;&#x884C;&#x5DE5;&#x5177;&#x2014;&#x2014;kubectl&#xFF0C;&#x88AB;&#x8BBE;&#x8BA1;&#x6210; docker-cli &#x7528;&#x6237;&#x6240;&#x719F;&#x6089;&#x7684;&#x6837;&#x5B50;&#xFF0C;&#x4F46;&#x662F;&#x5B83;&#x4EEC;&#x4E4B;&#x95F4;&#x53C8;&#x5B58;&#x5728;&#x4E00;&#x4E9B;&#x5FC5;&#x8981;&#x7684;&#x5DEE;&#x5F02;&#x3002;&#x8BE5;&#x6587;&#x6863;&#x5C06;&#x5411;&#x60A8;&#x5C55;&#x793A;&#x6BCF;&#x4E2A; docker &#x5B50;&#x547D;&#x4EE4;&#x548C; kubectl &#x4E0E;&#x5176;&#x7B49;&#x6548;&#x7684;&#x547D;&#x4EE4;&#x3002;</p>
<p>&#x5728;&#x4F7F;&#x7528; kubernetes &#x96C6;&#x7FA4;&#x7684;&#x65F6;&#x5019;&#xFF0C;docker &#x547D;&#x4EE4;&#x901A;&#x5E38;&#x60C5;&#x51B5;&#x662F;&#x4E0D;&#x9700;&#x8981;&#x7528;&#x5230;&#x7684;&#xFF0C;&#x53EA;&#x6709;&#x5728;&#x8C03;&#x8BD5;&#x7A0B;&#x5E8F;&#x6216;&#x8005;&#x5BB9;&#x5668;&#x7684;&#x65F6;&#x5019;&#x7528;&#x5230;&#xFF0C;&#x6211;&#x4EEC;&#x57FA;&#x672C;&#x4E0A;&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#x5373;&#x53EF;&#xFF0C;&#x6240;&#x4EE5;&#x5728;&#x64CD;&#x4F5C; kubernetes &#x7684;&#x65F6;&#x5019;&#x6211;&#x4EEC;&#x629B;&#x5F03;&#x539F;&#x5148;&#x4F7F;&#x7528; docker &#x65F6;&#x7684;&#x4E00;&#x4E9B;&#x89C2;&#x5FF5;&#x3002;</p>
<h4 id="docker-run">docker run</h4>
<p>&#x5982;&#x4F55;&#x8FD0;&#x884C;&#x4E00;&#x4E2A; nginx Deployment &#x5E76;&#x5C06;&#x5176;&#x66B4;&#x9732;&#x51FA;&#x6765;&#xFF1F; &#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#run" target="_blank">kubectl run</a> &#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker run <span class="hljs-_">-d</span> --restart=always <span class="hljs-_">-e</span> DOMAIN=cluster --name nginx-app -p 80:80 nginx
a9ec34d9878748d2f33dc20cb25c714ff21da8d40558b45bfaec9955859075d0
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9ec34d98787 nginx <span class="hljs-string">&quot;nginx -g &apos;daemon of 2 seconds ago Up 2 seconds 0.0.0.0:80-&gt;80/tcp, 443/tcp nginx-app
</span></code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash"><span class="hljs-comment"># start the pod running nginx</span>
$ kubectl run --image=nginx nginx-app --port=80 --env=<span class="hljs-string">&quot;DOMAIN=cluster&quot;</span>
deployment <span class="hljs-string">&quot;nginx-app&quot;</span> created
</code></pre>
<p>&#x5728;&#x5927;&#x4E8E;&#x7B49;&#x4E8E; 1.2 &#x7248;&#x672C; Kubernetes &#x96C6;&#x7FA4;&#x4E2D;&#xFF0C;&#x4F7F;&#x7528;<code>kubectl run</code> &#x547D;&#x4EE4;&#x5C06;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x540D;&#x4E3A; &quot;nginx-app&quot; &#x7684; Deployment&#x3002;&#x5982;&#x679C;&#x60A8;&#x8FD0;&#x884C;&#x7684;&#x662F;&#x8001;&#x7248;&#x672C;&#xFF0C;&#x5C06;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A; replication controller&#x3002; &#x5982;&#x679C;&#x60A8;&#x60F3;&#x6CBF;&#x7528;&#x65E7;&#x7684;&#x884C;&#x4E3A;&#xFF0C;&#x4F7F;&#x7528; <code>--generation=run/v1</code> &#x53C2;&#x6570;&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x4F1A;&#x521B;&#x5EFA; replication controller&#x3002;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#run" target="_blank"><code>kubectl run</code></a> &#x83B7;&#x53D6;&#x66F4;&#x591A;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x3002;</p>
<pre><code class="lang-bash"><span class="hljs-comment"># expose a port through with a service</span>
$ kubectl expose deployment nginx-app --port=80 --name=nginx-http
service <span class="hljs-string">&quot;nginx-http&quot;</span> exposed
</code></pre>
<p>&#x5728; kubectl &#x547D;&#x4EE4;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x521B;&#x5EFA;&#x4E86;&#x4E00;&#x4E2A; <a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment" target="_blank">Deployment</a>&#xFF0C;&#x8FD9;&#x5C06;&#x4FDD;&#x8BC1;&#x6709; N &#x4E2A;&#x8FD0;&#x884C; nginx &#x7684; pod&#xFF08;N &#x4EE3;&#x8868; spec &#x4E2D;&#x58F0;&#x660E;&#x7684; replica &#x6570;&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A; 1&#xFF09;&#x3002;&#x6211;&#x4EEC;&#x8FD8;&#x521B;&#x5EFA;&#x4E86;&#x4E00;&#x4E2A; <a href="https://kubernetes.io/docs/user-guide/services" target="_blank">service</a>&#xFF0C;&#x4F7F;&#x7528; selector &#x5339;&#x914D;&#x5177;&#x6709;&#x76F8;&#x5E94;&#x7684; selector &#x7684; Deployment&#x3002;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/quick-start" target="_blank">&#x5FEB;&#x901F;&#x5F00;&#x59CB;</a> &#x83B7;&#x53D6;&#x66F4;&#x591A;&#x4FE1;&#x606F;&#x3002;</p>
<p>&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#x955C;&#x50CF;&#x4F1A;&#x5728;&#x540E;&#x53F0;&#x8FD0;&#x884C;&#xFF0C;&#x4E0E;<code>docker run -d ...</code> &#x7C7B;&#x4F3C;&#xFF0C;&#x5982;&#x679C;&#x60A8;&#x60F3;&#x5728;&#x524D;&#x53F0;&#x8FD0;&#x884C;&#xFF0C;&#x4F7F;&#x7528;&#xFF1A;</p>
<pre><code class="lang-bash">kubectl run [-i] [--tty] --attach &lt;name&gt; --image=&lt;image&gt;
</code></pre>
<p>&#x4E0E; <code>docker run ...</code> &#x4E0D;&#x540C;&#x7684;&#x662F;&#xFF0C;&#x5982;&#x679C;&#x6307;&#x5B9A;&#x4E86; <code>--attach</code> &#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x8FDE;&#x63A5;&#x5230; <code>stdin</code>&#xFF0C;<code>stdout</code> &#x548C; <code>stderr</code>&#xFF0C;&#x800C;&#x4E0D;&#x80FD;&#x63A7;&#x5236;&#x5177;&#x4F53;&#x8FDE;&#x63A5;&#x5230;&#x54EA;&#x4E2A;&#x8F93;&#x51FA;&#x6D41;&#xFF08;<code>docker -a ...</code>&#xFF09;&#x3002;</p>
<p>&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x4F7F;&#x7528; Deployment &#x542F;&#x52A8;&#x4E86;&#x5BB9;&#x5668;&#xFF0C;&#x5982;&#x679C;&#x60A8;&#x7EC8;&#x6B62;&#x4E86;&#x8FDE;&#x63A5;&#x5230;&#x7684;&#x8FDB;&#x7A0B;&#xFF08;&#x4F8B;&#x5982; <code>ctrl-c</code>&#xFF09;&#xFF0C;&#x5BB9;&#x5668;&#x5C06;&#x4F1A;&#x91CD;&#x542F;&#xFF0C;&#x8FD9;&#x8DDF; <code>docker run -it</code>&#x4E0D;&#x540C;&#x3002; &#x5982;&#x679C;&#x60F3;&#x9500;&#x6BC1;&#x8BE5; Deployment&#xFF08;&#x548C;&#x5B83;&#x7684; pod&#xFF09;&#xFF0C;&#x60A8;&#x9700;&#x8981;&#x8FD0;&#x884C; <code>kubeclt delete deployment &lt;name&gt;</code>&#x3002;</p>
<h4 id="docker-ps">docker ps</h4>
<p>&#x5982;&#x4F55;&#x5217;&#x51FA;&#x54EA;&#x4E9B;&#x6B63;&#x5728;&#x8FD0;&#x884C;&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#get" target="_blank">kubectl get</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9ec34d98787 nginx <span class="hljs-string">&quot;nginx -g &apos;daemon of About an hour ago Up About an hour 0.0.0.0:80-&gt;80/tcp, 443/tcp nginx-app
</span></code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-app-5jyvm 1/1 Running 0 1h
</code></pre>
<h4 id="docker-attach">docker attach</h4>
<p>&#x5982;&#x4F55;&#x8FDE;&#x63A5;&#x5230;&#x5DF2;&#x7ECF;&#x8FD0;&#x884C;&#x5728;&#x5BB9;&#x5668;&#x4E2D;&#x7684;&#x8FDB;&#x7A0B;&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#attach" target="_blank">kubectl attach</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9ec34d98787 nginx <span class="hljs-string">&quot;nginx -g &apos;daemon of 8 minutes ago Up 8 minutes 0.0.0.0:80-&gt;80/tcp, 443/tcp nginx-app
$ docker attach a9ec34d98787
...
</span></code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-app-5jyvm 1/1 Running 0 10m
$ kubectl attach -it nginx-app-5jyvm
...
</code></pre>
<h4 id="docker-exec">docker exec</h4>
<p>&#x5982;&#x4F55;&#x5728;&#x5BB9;&#x5668;&#x4E2D;&#x6267;&#x884C;&#x547D;&#x4EE4;&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#exec" target="_blank">kubectl exec</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9ec34d98787 nginx <span class="hljs-string">&quot;nginx -g &apos;daemon of 8 minutes ago Up 8 minutes 0.0.0.0:80-&gt;80/tcp, 443/tcp nginx-app
$ docker exec a9ec34d98787 cat /etc/hostname
a9ec34d98787
</span></code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-app-5jyvm 1/1 Running 0 10m
$ kubectl <span class="hljs-built_in">exec</span> nginx-app-5jyvm -- cat /etc/hostname
nginx-app-5jyvm
</code></pre>
<p>&#x6267;&#x884C;&#x4EA4;&#x4E92;&#x5F0F;&#x547D;&#x4EE4;&#x600E;&#x4E48;&#x529E;&#xFF1F;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker <span class="hljs-built_in">exec</span> -ti a9ec34d98787 /bin/sh
<span class="hljs-comment"># exit</span>
</code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl <span class="hljs-built_in">exec</span> -ti nginx-app-5jyvm -- /bin/sh
<span class="hljs-comment"># exit</span>
</code></pre>
<p>&#x66F4;&#x591A;&#x4FE1;&#x606F;&#x8BF7;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/tasks/kubectl/get-shell-running-container" target="_blank">&#x83B7;&#x53D6;&#x8FD0;&#x884C;&#x4E2D;&#x5BB9;&#x5668;&#x7684; Shell &#x73AF;&#x5883;</a>&#x3002;</p>
<h4 id="docker-logs">docker logs</h4>
<p>&#x5982;&#x4F55;&#x67E5;&#x770B;&#x8FD0;&#x884C;&#x4E2D;&#x8FDB;&#x7A0B;&#x7684; stdout/stderr&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#logs" target="_blank">kubectl logs</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker logs <span class="hljs-_">-f</span> a9e
192.168.9.1 - - [14/Jul/2015:01:04:02 +0000] <span class="hljs-string">&quot;GET / HTTP/1.1&quot;</span> 200 612 <span class="hljs-string">&quot;-&quot;</span> <span class="hljs-string">&quot;curl/7.35.0&quot;</span> <span class="hljs-string">&quot;-&quot;</span>
192.168.9.1 - - [14/Jul/2015:01:04:03 +0000] <span class="hljs-string">&quot;GET / HTTP/1.1&quot;</span> 200 612 <span class="hljs-string">&quot;-&quot;</span> <span class="hljs-string">&quot;curl/7.35.0&quot;</span> <span class="hljs-string">&quot;-&quot;</span>
</code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl logs <span class="hljs-_">-f</span> nginx-app-zibvs
10.240.63.110 - - [14/Jul/2015:01:09:01 +0000] <span class="hljs-string">&quot;GET / HTTP/1.1&quot;</span> 200 612 <span class="hljs-string">&quot;-&quot;</span> <span class="hljs-string">&quot;curl/7.26.0&quot;</span> <span class="hljs-string">&quot;-&quot;</span>
10.240.63.110 - - [14/Jul/2015:01:09:02 +0000] <span class="hljs-string">&quot;GET / HTTP/1.1&quot;</span> 200 612 <span class="hljs-string">&quot;-&quot;</span> <span class="hljs-string">&quot;curl/7.26.0&quot;</span> <span class="hljs-string">&quot;-&quot;</span>
</code></pre>
<p>&#x73B0;&#x5728;&#x662F;&#x65F6;&#x5019;&#x63D0;&#x4E00;&#x4E0B; pod &#x548C;&#x5BB9;&#x5668;&#x4E4B;&#x95F4;&#x7684;&#x7EC6;&#x5FAE;&#x5DEE;&#x522B;&#x4E86;&#xFF1B;&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#x5982;&#x679C; pod &#x4E2D;&#x7684;&#x8FDB;&#x7A0B;&#x9000;&#x51FA; pod &#x4E5F;&#x4E0D;&#x4F1A;&#x7EC8;&#x6B62;&#xFF0C;&#x76F8;&#x53CD;&#x5B83;&#x5C06;&#x4F1A;&#x91CD;&#x542F;&#x8BE5;&#x8FDB;&#x7A0B;&#x3002;&#x8FD9;&#x7C7B;&#x4F3C;&#x4E8E; docker run &#x65F6;&#x7684; <code>--restart=always</code> &#x9009;&#x9879;&#xFF0C; &#x8FD9;&#x662F;&#x4E3B;&#x8981;&#x5DEE;&#x522B;&#x3002;&#x5728; docker &#x4E2D;&#xFF0C;&#x8FDB;&#x7A0B;&#x7684;&#x6BCF;&#x4E2A;&#x8C03;&#x7528;&#x7684;&#x8F93;&#x51FA;&#x90FD;&#x662F;&#x88AB;&#x8FDE;&#x63A5;&#x8D77;&#x6765;&#x7684;&#xFF0C;&#x4F46;&#x662F;&#x5BF9;&#x4E8E; kubernetes&#xFF0C;&#x6BCF;&#x4E2A;&#x8C03;&#x7528;&#x90FD;&#x662F;&#x5206;&#x5F00;&#x7684;&#x3002;&#x8981;&#x67E5;&#x770B;&#x4EE5;&#x524D;&#x5728; kubernetes &#x4E2D;&#x6267;&#x884C;&#x7684;&#x8F93;&#x51FA;&#xFF0C;&#x8BF7;&#x6267;&#x884C;&#x4EE5;&#x4E0B;&#x64CD;&#x4F5C;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl logs --previous nginx-app-zibvs
10.240.63.110 - - [14/Jul/2015:01:09:01 +0000] <span class="hljs-string">&quot;GET / HTTP/1.1&quot;</span> 200 612 <span class="hljs-string">&quot;-&quot;</span> <span class="hljs-string">&quot;curl/7.26.0&quot;</span> <span class="hljs-string">&quot;-&quot;</span>
10.240.63.110 - - [14/Jul/2015:01:09:02 +0000] <span class="hljs-string">&quot;GET / HTTP/1.1&quot;</span> 200 612 <span class="hljs-string">&quot;-&quot;</span> <span class="hljs-string">&quot;curl/7.26.0&quot;</span> <span class="hljs-string">&quot;-&quot;</span>
</code></pre>
<p>&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/concepts/cluster-administration/logging" target="_blank">&#x8BB0;&#x5F55;&#x548C;&#x76D1;&#x63A7;&#x96C6;&#x7FA4;&#x6D3B;&#x52A8;</a> &#x83B7;&#x53D6;&#x66F4;&#x591A;&#x4FE1;&#x606F;&#x3002;</p>
<h4 id="docker-stop-&#x548C;-docker-rm">docker stop &#x548C; docker rm</h4>
<p>&#x5982;&#x4F55;&#x505C;&#x6B62;&#x548C;&#x5220;&#x9664;&#x8FD0;&#x884C;&#x4E2D;&#x7684;&#x8FDB;&#x7A0B;&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#delete" target="_blank">kubectl delete</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9ec34d98787 nginx <span class="hljs-string">&quot;nginx -g &apos;daemon of 22 hours ago Up 22 hours 0.0.0.0:80-&gt;80/tcp, 443/tcp nginx-app
$ docker stop a9ec34d98787
a9ec34d98787
$ docker rm a9ec34d98787
a9ec34d98787
</span></code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl get deployment nginx-app
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx-app 1 1 1 1 2m
$ kubectl get po <span class="hljs-_">-l</span> run=nginx-app
NAME READY STATUS RESTARTS AGE
nginx-app-2883164633-aklf7 1/1 Running 0 2m
$ kubectl delete deployment nginx-app
deployment <span class="hljs-string">&quot;nginx-app&quot;</span> deleted
$ kubectl get po <span class="hljs-_">-l</span> run=nginx-app
<span class="hljs-comment"># Return nothing</span>
</code></pre>
<p>&#x8BF7;&#x6CE8;&#x610F;&#xFF0C;&#x6211;&#x4EEC;&#x4E0D;&#x76F4;&#x63A5;&#x5220;&#x9664; pod&#x3002;&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF0C;&#x6211;&#x4EEC;&#x8981;&#x5220;&#x9664;&#x62E5;&#x6709;&#x8BE5; pod &#x7684; Deployment&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x76F4;&#x63A5;&#x5220;&#x9664;pod&#xFF0C;Deployment &#x5C06;&#x4F1A;&#x91CD;&#x65B0;&#x521B;&#x5EFA;&#x8BE5; pod&#x3002;</p>
<h4 id="docker-login">docker login</h4>
<p>&#x5728; kubectl &#x4E2D;&#x6CA1;&#x6709;&#x5BF9; <code>docker login</code> &#x7684;&#x76F4;&#x63A5;&#x6A21;&#x62DF;&#x3002;&#x5982;&#x679C;&#x60A8;&#x6709;&#x5174;&#x8DA3;&#x5728;&#x79C1;&#x6709;&#x955C;&#x50CF;&#x4ED3;&#x5E93;&#x4E2D;&#x4F7F;&#x7528; Kubernetes&#xFF0C;&#x8BF7;&#x53C2;&#x9605; <a href="https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry" target="_blank">&#x4F7F;&#x7528;&#x79C1;&#x6709;&#x955C;&#x50CF;&#x4ED3;&#x5E93;</a>&#x3002;</p>
<h4 id="docker-version">docker version</h4>
<p>&#x5982;&#x4F55;&#x67E5;&#x770B;&#x5BA2;&#x6237;&#x7AEF;&#x548C;&#x670D;&#x52A1;&#x7AEF;&#x7684;&#x7248;&#x672C;&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#version" target="_blank">kubectl version</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker version
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): linux/amd64
Server version: 1.7.0
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 0baf609
OS/Arch (server): linux/amd64
</code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ kubectl version
Client Version: version.Info{Major:<span class="hljs-string">&quot;1&quot;</span>, Minor:<span class="hljs-string">&quot;6&quot;</span>, GitVersion:<span class="hljs-string">&quot;v1.6.9+a3d1dfa6f4335&quot;</span>, GitCommit:<span class="hljs-string">&quot;9b77fed11a9843ce3780f70dd251e92901c43072&quot;</span>, GitTreeState:<span class="hljs-string">&quot;dirty&quot;</span>, BuildDate:<span class="hljs-string">&quot;2017-08-29T20:32:58Z&quot;</span>, OpenPaasKubernetesVersion:<span class="hljs-string">&quot;v1.03.02&quot;</span>, GoVersion:<span class="hljs-string">&quot;go1.7.5&quot;</span>, Compiler:<span class="hljs-string">&quot;gc&quot;</span>, Platform:<span class="hljs-string">&quot;linux/amd64&quot;</span>}
Server Version: version.Info{Major:<span class="hljs-string">&quot;1&quot;</span>, Minor:<span class="hljs-string">&quot;6&quot;</span>, GitVersion:<span class="hljs-string">&quot;v1.6.9+a3d1dfa6f4335&quot;</span>, GitCommit:<span class="hljs-string">&quot;9b77fed11a9843ce3780f70dd251e92901c43072&quot;</span>, GitTreeState:<span class="hljs-string">&quot;dirty&quot;</span>, BuildDate:<span class="hljs-string">&quot;2017-08-29T20:32:58Z&quot;</span>, OpenPaasKubernetesVersion:<span class="hljs-string">&quot;v1.03.02&quot;</span>, GoVersion:<span class="hljs-string">&quot;go1.7.5&quot;</span>, Compiler:<span class="hljs-string">&quot;gc&quot;</span>, Platform:<span class="hljs-string">&quot;linux/amd64&quot;</span>}
</code></pre>
<h4 id="docker-info">docker info</h4>
<p>&#x5982;&#x4F55;&#x83B7;&#x53D6;&#x6709;&#x5173;&#x73AF;&#x5883;&#x548C;&#x914D;&#x7F6E;&#x7684;&#x5404;&#x79CD;&#x4FE1;&#x606F;&#xFF1F;&#x67E5;&#x770B; <a href="https://kubernetes.io/docs/user-guide/kubectl/#cluster-info" target="_blank">kubectl cluster-info</a>&#x3002;</p>
<p>&#x4F7F;&#x7528; docker &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-bash">$ docker info
Containers: 40
Images: 168
Storage Driver: aufs
Root Dir: /usr/<span class="hljs-built_in">local</span>/google/docker/aufs
Backing Filesystem: extfs
Dirs: 248
Dirperm1 Supported: <span class="hljs-literal">false</span>
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-53-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 12
Total Memory: 31.32 GiB
Name: k8s-is-fun.mtv.corp.google.com
ID: ADUV:GCYR:B3VJ:HMPO:LNPQ:KD5S:YKFQ:76VN:IANZ:7TFV:ZBF4:BYJO
WARNING: No swap <span class="hljs-built_in">limit</span> support
</code></pre>
<p>&#x4F7F;&#x7528; kubectl &#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code class="lang-Bash">$ kubectl cluster-info
Kubernetes master is running at https://108.59.85.141
KubeDNS is running at https://108.59.85.141/api/v1/namespaces/kube-system/services/kube-dns/proxy
KubeUI is running at https://108.59.85.141/api/v1/namespaces/kube-system/services/kube-ui/proxy
Grafana is running at https://108.59.85.141/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
Heapster is running at https://108.59.85.141/api/v1/namespaces/kube-system/services/monitoring-heapster/proxy
InfluxDB is running at https://108.59.85.141/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy
</code></pre>
<p>&#x539F;&#x6587;&#x5730;&#x5740;&#xFF1A;<a href="https://github.com/rootsongjc/kubernetes.github.io/blob/master/docs/user-guide/docker-cli-to-kubectl.md" target="_blank">https://github.com/rootsongjc/kubernetes.github.io/blob/master/docs/user-guide/docker-cli-to-kubectl.md</a> </p>
<footer class="page-footer"><span class="copyright">Copyright &#xA9; jimmysong.io 2017 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">Updated:
2017-09-16 20:53:17
</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="using-kubectl.html" class="navigation navigation-prev " aria-label="Previous page: 3.2.1 使用kubectl">
<i class="fa fa-angle-left"></i>
</a>
<a href="cluster-security-management.html" class="navigation navigation-next " aria-label="Next page: 3.3 集群安全性管理">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"3.2.2 docker用户过度到kubectl命令行指南","level":"1.3.2.2","depth":3,"next":{"title":"3.3 集群安全性管理","level":"1.3.3","depth":2,"path":"guide/cluster-security-management.md","ref":"guide/cluster-security-management.md","articles":[{"title":"3.3.1 管理集群中的TLS","level":"1.3.3.1","depth":3,"path":"guide/managing-tls-in-a-cluster.md","ref":"guide/managing-tls-in-a-cluster.md","articles":[]},{"title":"3.3.2 kubelet的认证授权","level":"1.3.3.2","depth":3,"path":"guide/kubelet-authentication-authorization.md","ref":"guide/kubelet-authentication-authorization.md","articles":[]},{"title":"3.3.3 TLS bootstrap","level":"1.3.3.3","depth":3,"path":"guide/tls-bootstrapping.md","ref":"guide/tls-bootstrapping.md","articles":[]},{"title":"3.3.4 kubectl的用户认证授权","level":"1.3.3.4","depth":3,"path":"guide/kubectl-user-authentication-authorization.md","ref":"guide/kubectl-user-authentication-authorization.md","articles":[]},{"title":"3.3.5 RBAC——基于角色的访问控制","level":"1.3.3.5","depth":3,"path":"guide/rbac.md","ref":"guide/rbac.md","articles":[]},{"title":"3.3.6 IP伪装代理","level":"1.3.3.6","depth":3,"path":"guide/ip-masq-agent.md","ref":"guide/ip-masq-agent.md","articles":[]}]},"previous":{"title":"3.2.1 使用kubectl","level":"1.3.2.1","depth":3,"path":"guide/using-kubectl.md","ref":"guide/using-kubectl.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"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright © jimmysong.io 2017","modify_label":"Updated:","modify_format":"YYYY-MM-DD HH:mm:ss"},"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},"highlight":{},"favicon":{"shortcut":"favicon.ico","bookmark":"favicon.ico"},"page-toc-button":{},"back-to-top-button":{},"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":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"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":"concepts/index.html#fig1.2.1","level":"1.2","list_caption":"Figure: Borg架构","alt":"Borg架构","nro":1,"url":"../images/borg.png","index":1,"caption_template":"图片 - _CAPTION_","label":"Borg架构","attributes":{},"skip":false,"key":"1.2.1"},{"backlink":"concepts/index.html#fig1.2.2","level":"1.2","list_caption":"Figure: Kubernetes架构","alt":"Kubernetes架构","nro":2,"url":"../images/architecture.png","index":2,"caption_template":"图片 - _CAPTION_","label":"Kubernetes架构","attributes":{},"skip":false,"key":"1.2.2"},{"backlink":"concepts/index.html#fig1.2.3","level":"1.2","list_caption":"Figure: kubernetes整体架构示意图","alt":"kubernetes整体架构示意图","nro":3,"url":"../images/kubernetes-whole-arch.png","index":3,"caption_template":"图片 - _CAPTION_","label":"kubernetes整体架构示意图","attributes":{},"skip":false,"key":"1.2.3"},{"backlink":"concepts/index.html#fig1.2.4","level":"1.2","list_caption":"Figure: Kubernetes master架构示意图","alt":"Kubernetes master架构示意图","nro":4,"url":"../images/kubernetes-master-arch.png","index":4,"caption_template":"图片 - _CAPTION_","label":"Kubernetes master架构示意图","attributes":{},"skip":false,"key":"1.2.4"},{"backlink":"concepts/index.html#fig1.2.5","level":"1.2","list_caption":"Figure: kubernetes node架构示意图","alt":"kubernetes node架构示意图","nro":5,"url":"../images/kubernetes-node-arch.png","index":5,"caption_template":"图片 - _CAPTION_","label":"kubernetes node架构示意图","attributes":{},"skip":false,"key":"1.2.5"},{"backlink":"concepts/index.html#fig1.2.6","level":"1.2","list_caption":"Figure: Kubernetes分层架构示意图","alt":"Kubernetes分层架构示意图","nro":6,"url":"../images/kubernetes-layers-arch.jpg","index":6,"caption_template":"图片 - _CAPTION_","label":"Kubernetes分层架构示意图","attributes":{},"skip":false,"key":"1.2.6"},{"backlink":"concepts/concepts.html#fig1.2.1.1","level":"1.2.1","list_caption":"Figure: 分层架构示意图","alt":"分层架构示意图","nro":7,"url":"../images/kubernetes-layers-arch.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"分层架构示意图","attributes":{},"skip":false,"key":"1.2.1.1"},{"backlink":"concepts/pod-overview.html#fig1.2.2.1.1","level":"1.2.2.1","list_caption":"Figure: pod diagram","alt":"pod diagram","nro":8,"url":"../images/pod-overview.png","index":1,"caption_template":"图片 - _CAPTION_","label":"pod diagram","attributes":{},"skip":false,"key":"1.2.2.1.1"},{"backlink":"concepts/pod.html#fig1.2.2.1.1.1","level":"1.2.2.1.1","list_caption":"Figure: Pod示意图","alt":"Pod示意图","nro":9,"url":"../images/pod-overview.png","index":1,"caption_template":"图片 - _CAPTION_","label":"Pod示意图","attributes":{},"skip":false,"key":"1.2.2.1.1.1"},{"backlink":"concepts/pod.html#fig1.2.2.1.1.2","level":"1.2.2.1.1","list_caption":"Figure: Pod Cheatsheet","alt":"Pod Cheatsheet","nro":10,"url":"../images/kubernetes-pod-cheatsheet.png","index":2,"caption_template":"图片 - _CAPTION_","label":"Pod Cheatsheet","attributes":{},"skip":false,"key":"1.2.2.1.1.2"},{"backlink":"concepts/service.html#fig1.2.2.4.1","level":"1.2.2.4","list_caption":"Figure: userspace代理模式下Service概览图","alt":"userspace代理模式下Service概览图","nro":11,"url":"../images/services-userspace-overview.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"userspace代理模式下Service概览图","attributes":{},"skip":false,"key":"1.2.2.4.1"},{"backlink":"concepts/service.html#fig1.2.2.4.2","level":"1.2.2.4","list_caption":"Figure: iptables代理模式下Service概览图","alt":"iptables代理模式下Service概览图","nro":12,"url":"../images/services-iptables-overview.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"iptables代理模式下Service概览图","attributes":{},"skip":false,"key":"1.2.2.4.2"},{"backlink":"concepts/deployment.html#fig1.2.2.6.1","level":"1.2.2.6","list_caption":"Figure: kubernetes deployment cheatsheet","alt":"kubernetes deployment cheatsheet","nro":13,"url":"../images/deployment-cheatsheet.png","index":1,"caption_template":"图片 - _CAPTION_","label":"kubernetes deployment cheatsheet","attributes":{},"skip":false,"key":"1.2.2.6.1"},{"backlink":"concepts/horizontal-pod-autoscaling.html#fig1.2.2.16.1","level":"1.2.2.16","list_caption":"Figure: horizontal-pod-autoscaler","alt":"horizontal-pod-autoscaler","nro":14,"url":"../images/horizontal-pod-autoscaler.png","index":1,"caption_template":"图片 - _CAPTION_","label":"horizontal-pod-autoscaler","attributes":{},"skip":false,"key":"1.2.2.16.1"},{"backlink":"concepts/label.html#fig1.2.2.17.1","level":"1.2.2.17","list_caption":"Figure: label示意图","alt":"label示意图","nro":15,"url":"../images/labels.png","index":1,"caption_template":"图片 - _CAPTION_","label":"label示意图","attributes":{},"skip":false,"key":"1.2.2.17.1"},{"backlink":"guide/using-kubectl.html#fig1.3.2.1.1","level":"1.3.2.1","list_caption":"Figure: kubectl cheatsheet","alt":"kubectl cheatsheet","nro":16,"url":"../images/kubernetes-kubectl-cheatsheet.png","index":1,"caption_template":"图片 - _CAPTION_","label":"kubectl cheatsheet","attributes":{},"skip":false,"key":"1.3.2.1.1"},{"backlink":"guide/using-kubectl.html#fig1.3.2.1.2","level":"1.3.2.1","list_caption":"Figure: kube-shell页面","alt":"kube-shell页面","nro":17,"url":"../images/kube-shell.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"kube-shell页面","attributes":{},"skip":false,"key":"1.3.2.1.2"},{"backlink":"guide/ip-masq-agent.html#fig1.3.3.6.1","level":"1.3.3.6","list_caption":"Figure: IP伪装代理示意图","alt":"IP伪装代理示意图","nro":18,"url":"../images/ip-masq.png","index":1,"caption_template":"图片 - _CAPTION_","label":"IP伪装代理示意图","attributes":{},"skip":false,"key":"1.3.3.6.1"},{"backlink":"guide/deploy-applications-in-kubernetes.html#fig1.3.5.1.1","level":"1.3.5.1","list_caption":"Figure: API","alt":"API","nro":19,"url":"../images/k8s-app-monitor-test-api-doc.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"API","attributes":{},"skip":false,"key":"1.3.5.1.1"},{"backlink":"guide/deploy-applications-in-kubernetes.html#fig1.3.5.1.2","level":"1.3.5.1","list_caption":"Figure: wercker","alt":"wercker","nro":20,"url":"../images/k8s-app-monitor-agent-wercker.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"wercker","attributes":{},"skip":false,"key":"1.3.5.1.2"},{"backlink":"guide/deploy-applications-in-kubernetes.html#fig1.3.5.1.3","level":"1.3.5.1","list_caption":"Figure: 图表","alt":"图表","nro":21,"url":"../images/k8s-app-monitor-agent.jpg","index":3,"caption_template":"图片 - _CAPTION_","label":"图表","attributes":{},"skip":false,"key":"1.3.5.1.3"},{"backlink":"guide/migrating-hadoop-yarn-to-kubernetes.html#fig1.3.5.2.1","level":"1.3.5.2","list_caption":"Figure: spark on yarn with kubernetes","alt":"spark on yarn with kubernetes","nro":22,"url":"../images/spark-on-yarn-with-kubernetes.png","index":1,"caption_template":"图片 - _CAPTION_","label":"spark on yarn with kubernetes","attributes":{},"skip":false,"key":"1.3.5.2.1"},{"backlink":"guide/migrating-hadoop-yarn-to-kubernetes.html#fig1.3.5.2.2","level":"1.3.5.2","list_caption":"Figure: Terms","alt":"Terms","nro":23,"url":"../images/terms-in-kubernetes-app-deployment.png","index":2,"caption_template":"图片 - _CAPTION_","label":"Terms","attributes":{},"skip":false,"key":"1.3.5.2.2"},{"backlink":"guide/migrating-hadoop-yarn-to-kubernetes.html#fig1.3.5.2.3","level":"1.3.5.2","list_caption":"Figure: 分解步骤解析","alt":"分解步骤解析","nro":24,"url":"../images/migrating-hadoop-yarn-to-kubernetes.png","index":3,"caption_template":"图片 - _CAPTION_","label":"分解步骤解析","attributes":{},"skip":false,"key":"1.3.5.2.3"},{"backlink":"practice/node-installation.html#fig1.4.1.6.1","level":"1.4.1.6","list_caption":"Figure: welcome-nginx","alt":"welcome-nginx","nro":25,"url":"http://olz1di9xf.bkt.clouddn.com/kubernetes-installation-test-nginx.png","index":1,"caption_template":"图片 - _CAPTION_","label":"welcome-nginx","attributes":{},"skip":false,"key":"1.4.1.6.1"},{"backlink":"practice/dashboard-addon-installation.html#fig1.4.1.8.1","level":"1.4.1.8","list_caption":"Figure: kubernetes-dashboard","alt":"kubernetes-dashboard","nro":26,"url":"http://olz1di9xf.bkt.clouddn.com/kubernetes-dashboard-raw.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"kubernetes-dashboard","attributes":{},"skip":false,"key":"1.4.1.8.1"},{"backlink":"practice/dashboard-addon-installation.html#fig1.4.1.8.2","level":"1.4.1.8","list_caption":"Figure: V1.6.3版本的dashboard界面","alt":"V1.6.3版本的dashboard界面","nro":27,"url":"../images/dashboard-v163.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"V1.6.3版本的dashboard界面","attributes":{},"skip":false,"key":"1.4.1.8.2"},{"backlink":"practice/heapster-addon-installation.html#fig1.4.1.9.1","level":"1.4.1.9","list_caption":"Figure: dashboard-heapster","alt":"dashboard-heapster","nro":28,"url":"../images/kubernetes-dashboard-with-heapster.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"dashboard-heapster","attributes":{},"skip":false,"key":"1.4.1.9.1"},{"backlink":"practice/heapster-addon-installation.html#fig1.4.1.9.2","level":"1.4.1.9","list_caption":"Figure: grafana","alt":"grafana","nro":29,"url":"../images/kubernetes-heapster-grafana.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"grafana","attributes":{},"skip":false,"key":"1.4.1.9.2"},{"backlink":"practice/heapster-addon-installation.html#fig1.4.1.9.3","level":"1.4.1.9","list_caption":"Figure: kubernetes-influxdb-heapster","alt":"kubernetes-influxdb-heapster","nro":30,"url":"../images/kubernetes-influxdb-heapster.jpg","index":3,"caption_template":"图片 - _CAPTION_","label":"kubernetes-influxdb-heapster","attributes":{},"skip":false,"key":"1.4.1.9.3"},{"backlink":"practice/heapster-addon-installation.html#fig1.4.1.9.4","level":"1.4.1.9","list_caption":"Figure: 修改grafana模板","alt":"修改grafana模板","nro":31,"url":"../images/grafana-dashboard-setting.jpg","index":4,"caption_template":"图片 - _CAPTION_","label":"修改grafana模板","attributes":{},"skip":false,"key":"1.4.1.9.4"},{"backlink":"practice/efk-addon-installation.html#fig1.4.1.10.1","level":"1.4.1.10","list_caption":"Figure: es-setting","alt":"es-setting","nro":32,"url":"../images/es-setting.png","index":1,"caption_template":"图片 - _CAPTION_","label":"es-setting","attributes":{},"skip":false,"key":"1.4.1.10.1"},{"backlink":"practice/efk-addon-installation.html#fig1.4.1.10.2","level":"1.4.1.10","list_caption":"Figure: es-home","alt":"es-home","nro":33,"url":"../images/kubernetes-efk-kibana.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"es-home","attributes":{},"skip":false,"key":"1.4.1.10.2"},{"backlink":"practice/traefik-ingress-installation.html#fig1.4.2.1.1","level":"1.4.2.1","list_caption":"Figure: kubernetes-dashboard","alt":"kubernetes-dashboard","nro":34,"url":"../images/traefik-dashboard.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"kubernetes-dashboard","attributes":{},"skip":false,"key":"1.4.2.1.1"},{"backlink":"practice/traefik-ingress-installation.html#fig1.4.2.1.2","level":"1.4.2.1","list_caption":"Figure: traefik-nginx","alt":"traefik-nginx","nro":35,"url":"../images/traefik-nginx.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"traefik-nginx","attributes":{},"skip":false,"key":"1.4.2.1.2"},{"backlink":"practice/traefik-ingress-installation.html#fig1.4.2.1.3","level":"1.4.2.1","list_caption":"Figure: traefik-guestbook","alt":"traefik-guestbook","nro":36,"url":"../images/traefik-guestbook.jpg","index":3,"caption_template":"图片 - _CAPTION_","label":"traefik-guestbook","attributes":{},"skip":false,"key":"1.4.2.1.3"},{"backlink":"practice/distributed-load-test.html#fig1.4.2.2.1","level":"1.4.2.2","list_caption":"Figure: 使用dashboard来扩容","alt":"使用dashboard来扩容","nro":37,"url":"../images/dashbaord-scale.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"使用dashboard来扩容","attributes":{},"skip":false,"key":"1.4.2.2.1"},{"backlink":"practice/distributed-load-test.html#fig1.4.2.2.2","level":"1.4.2.2","list_caption":"Figure: Traefik的UI","alt":"Traefik的UI","nro":38,"url":"../images/traefik-dashboard-locust.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"Traefik的UI","attributes":{},"skip":false,"key":"1.4.2.2.2"},{"backlink":"practice/distributed-load-test.html#fig1.4.2.2.3","level":"1.4.2.2","list_caption":"Figure: Locust启动界面","alt":"Locust启动界面","nro":39,"url":"../images/locust-start-swarming.jpg","index":3,"caption_template":"图片 - _CAPTION_","label":"Locust启动界面","attributes":{},"skip":false,"key":"1.4.2.2.3"},{"backlink":"practice/distributed-load-test.html#fig1.4.2.2.4","level":"1.4.2.2","list_caption":"Figure: Dashboard查看页面","alt":"Dashboard查看页面","nro":40,"url":"../images/sample-webapp-rc.jpg","index":4,"caption_template":"图片 - _CAPTION_","label":"Dashboard查看页面","attributes":{},"skip":false,"key":"1.4.2.2.4"},{"backlink":"practice/distributed-load-test.html#fig1.4.2.2.5","level":"1.4.2.2","list_caption":"Figure: Locust测试结果页面","alt":"Locust测试结果页面","nro":41,"url":"../images/locust-dashboard.jpg","index":5,"caption_template":"图片 - _CAPTION_","label":"Locust测试结果页面","attributes":{},"skip":false,"key":"1.4.2.2.5"},{"backlink":"practice/network-and-cluster-perfermance-test.html#fig1.4.2.3.1","level":"1.4.2.3","list_caption":"Figure: kubernetes-dashboard","alt":"kubernetes-dashboard","nro":42,"url":"http://olz1di9xf.bkt.clouddn.com/kubenetes-e2e-test.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"kubernetes-dashboard","attributes":{},"skip":false,"key":"1.4.2.3.1"},{"backlink":"practice/network-and-cluster-perfermance-test.html#fig1.4.2.3.2","level":"1.4.2.3","list_caption":"Figure: locust-test","alt":"locust-test","nro":43,"url":"http://olz1di9xf.bkt.clouddn.com/kubernetes-locust-test.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"locust-test","attributes":{},"skip":false,"key":"1.4.2.3.2"},{"backlink":"practice/edge-node-configuration.html#fig1.4.2.4.1","level":"1.4.2.4","list_caption":"Figure: 边缘节点架构","alt":"边缘节点架构","nro":44,"url":"../images/kubernetes-edge-node-architecture.png","index":1,"caption_template":"图片 - _CAPTION_","label":"边缘节点架构","attributes":{},"skip":false,"key":"1.4.2.4.1"},{"backlink":"practice/app-log-collection.html#fig1.4.3.2.1","level":"1.4.3.2","list_caption":"Figure: filebeat日志收集架构图","alt":"filebeat日志收集架构图","nro":45,"url":"../images/filebeat-log-collector.png","index":1,"caption_template":"图片 - _CAPTION_","label":"filebeat日志收集架构图","attributes":{},"skip":false,"key":"1.4.3.2.1"},{"backlink":"practice/app-log-collection.html#fig1.4.3.2.2","level":"1.4.3.2","list_caption":"Figure: Kibana页面","alt":"Kibana页面","nro":46,"url":"../images/filebeat-docker-test.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"Kibana页面","attributes":{},"skip":false,"key":"1.4.3.2.2"},{"backlink":"practice/app-log-collection.html#fig1.4.3.2.3","level":"1.4.3.2","list_caption":"Figure: filebeat收集的日志详细信息","alt":"filebeat收集的日志详细信息","nro":47,"url":"../images/kubernetes-filebeat-detail.png","index":3,"caption_template":"图片 - _CAPTION_","label":"filebeat收集的日志详细信息","attributes":{},"skip":false,"key":"1.4.3.2.3"},{"backlink":"practice/monitor.html#fig1.4.3.4.1","level":"1.4.3.4","list_caption":"Figure: Kubernetes集群中的监控","alt":"Kubernetes集群中的监控","nro":48,"url":"../images/monitoring-in-kubernetes.png","index":1,"caption_template":"图片 - _CAPTION_","label":"Kubernetes集群中的监控","attributes":{},"skip":false,"key":"1.4.3.4.1"},{"backlink":"practice/monitor.html#fig1.4.3.4.2","level":"1.4.3.4","list_caption":"Figure: kubernetes的容器命名规则示意图","alt":"kubernetes的容器命名规则示意图","nro":49,"url":"../images/kubernetes-container-naming-rule.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"kubernetes的容器命名规则示意图","attributes":{},"skip":false,"key":"1.4.3.4.2"},{"backlink":"practice/monitor.html#fig1.4.3.4.3","level":"1.4.3.4","list_caption":"Figure: Heapster架构图改进版","alt":"Heapster架构图改进版","nro":50,"url":"../images/kubernetes-heapster-monitoring.png","index":3,"caption_template":"图片 - _CAPTION_","label":"Heapster架构图改进版","attributes":{},"skip":false,"key":"1.4.3.4.3"},{"backlink":"practice/monitor.html#fig1.4.3.4.4","level":"1.4.3.4","list_caption":"Figure: 应用监控架构图","alt":"应用监控架构图","nro":51,"url":"../images/kubernetes-app-monitoring.png","index":4,"caption_template":"图片 - _CAPTION_","label":"应用监控架构图","attributes":{},"skip":false,"key":"1.4.3.4.4"},{"backlink":"practice/monitor.html#fig1.4.3.4.5","level":"1.4.3.4","list_caption":"Figure: 应用拓扑图","alt":"应用拓扑图","nro":52,"url":"../images/weave-scope-service-topology.jpg","index":5,"caption_template":"图片 - _CAPTION_","label":"应用拓扑图","attributes":{},"skip":false,"key":"1.4.3.4.5"},{"backlink":"practice/jenkins-ci-cd.html#fig1.4.3.5.1","level":"1.4.3.5","list_caption":"Figure: 基于Jenkins的持续集成与发布","alt":"基于Jenkins的持续集成与发布","nro":53,"url":"../images/kubernetes-jenkins-ci-cd.png","index":1,"caption_template":"图片 - _CAPTION_","label":"基于Jenkins的持续集成与发布","attributes":{},"skip":false,"key":"1.4.3.5.1"},{"backlink":"practice/data-persistence-problem.html#fig1.4.3.6.1","level":"1.4.3.6","list_caption":"Figure: 日志持久化收集解决方案示意图","alt":"日志持久化收集解决方案示意图","nro":54,"url":"../images/log-persistence-logstash.png","index":1,"caption_template":"图片 - _CAPTION_","label":"日志持久化收集解决方案示意图","attributes":{},"skip":false,"key":"1.4.3.6.1"},{"backlink":"practice/using-prometheus-to-monitor-kuberentes-cluster.html#fig1.4.3.8.1","level":"1.4.3.8","list_caption":"Figure: Grafana页面","alt":"Grafana页面","nro":55,"url":"../images/kubernetes-prometheus-monitoring.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"Grafana页面","attributes":{},"skip":false,"key":"1.4.3.8.1"},{"backlink":"practice/using-heapster-to-get-object-metrics.html#fig1.4.3.9.1","level":"1.4.3.9","list_caption":"Figure: Heapster架构图","alt":"Heapster架构图","nro":56,"url":"../images/heapster-architecture.png","index":1,"caption_template":"图片 - _CAPTION_","label":"Heapster架构图","attributes":{},"skip":false,"key":"1.4.3.9.1"},{"backlink":"practice/storage-for-containers-using-glusterfs-with-openshift.html#fig1.4.4.1.2.1","level":"1.4.4.1.2","list_caption":"Figure: Screen Shot 2017-03-23 at 21.50.34","alt":"Screen Shot 2017-03-23 at 21.50.34","nro":57,"url":"https://keithtenzer.files.wordpress.com/2017/03/screen-shot-2017-03-23-at-21-50-34.png?w=440","index":1,"caption_template":"图片 - _CAPTION_","label":"Screen Shot 2017-03-23 at 21.50.34","attributes":{},"skip":false,"key":"1.4.4.1.2.1"},{"backlink":"practice/storage-for-containers-using-glusterfs-with-openshift.html#fig1.4.4.1.2.2","level":"1.4.4.1.2","list_caption":"Figure: Screen Shot 2017-03-24 at 11.09.34.png","alt":"Screen Shot 2017-03-24 at 11.09.34.png","nro":58,"url":"https://keithtenzer.files.wordpress.com/2017/03/screen-shot-2017-03-24-at-11-09-341.png?w=440","index":2,"caption_template":"图片 - _CAPTION_","label":"Screen Shot 2017-03-24 at 11.09.34.png","attributes":{},"skip":false,"key":"1.4.4.1.2.2"},{"backlink":"usecases/service-discovery-in-microservices.html#fig1.5.1.1.1","level":"1.5.1.1","list_caption":"Figure: 微服务中的服务发现","alt":"微服务中的服务发现","nro":59,"url":"../images/service-discovery-in-microservices.png","index":1,"caption_template":"图片 - _CAPTION_","label":"微服务中的服务发现","attributes":{},"skip":false,"key":"1.5.1.1.1"},{"backlink":"usecases/service-mesh.html#fig1.5.2.1","level":"1.5.2","list_caption":"Figure: Service Mesh 架构图","alt":"Service Mesh 架构图","nro":60,"url":"../images/serivce-mesh-control-plane.png","index":1,"caption_template":"图片 - _CAPTION_","label":"Service Mesh 架构图","attributes":{},"skip":false,"key":"1.5.2.1"},{"backlink":"usecases/istio.html#fig1.5.2.1.1","level":"1.5.2.1","list_caption":"Figure: Istio架构图","alt":"Istio架构图","nro":61,"url":"../images/istio-arch.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"Istio架构图","attributes":{},"skip":false,"key":"1.5.2.1.1"},{"backlink":"usecases/istio-installation.html#fig1.5.2.1.1.1","level":"1.5.2.1.1","list_caption":"Figure: BookInfo Sample应用架构图","alt":"BookInfo Sample应用架构图","nro":62,"url":"../images/bookinfo-sample-arch.png","index":1,"caption_template":"图片 - _CAPTION_","label":"BookInfo Sample应用架构图","attributes":{},"skip":false,"key":"1.5.2.1.1.1"},{"backlink":"usecases/istio-installation.html#fig1.5.2.1.1.2","level":"1.5.2.1.1","list_caption":"Figure: BookInfo Sample页面","alt":"BookInfo Sample页面","nro":63,"url":"../images/bookinfo-sample.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"BookInfo Sample页面","attributes":{},"skip":false,"key":"1.5.2.1.1.2"},{"backlink":"usecases/istio-installation.html#fig1.5.2.1.1.3","level":"1.5.2.1.1","list_caption":"Figure: Istio Grafana界面","alt":"Istio Grafana界面","nro":64,"url":"../images/istio-grafana.jpg","index":3,"caption_template":"图片 - _CAPTION_","label":"Istio Grafana界面","attributes":{},"skip":false,"key":"1.5.2.1.1.3"},{"backlink":"usecases/istio-installation.html#fig1.5.2.1.1.4","level":"1.5.2.1.1","list_caption":"Figure: Prometheus页面","alt":"Prometheus页面","nro":65,"url":"../images/istio-prometheus.jpg","index":4,"caption_template":"图片 - _CAPTION_","label":"Prometheus页面","attributes":{},"skip":false,"key":"1.5.2.1.1.4"},{"backlink":"usecases/istio-installation.html#fig1.5.2.1.1.5","level":"1.5.2.1.1","list_caption":"Figure: Zipkin页面","alt":"Zipkin页面","nro":66,"url":"../images/istio-zipkin.jpg","index":5,"caption_template":"图片 - _CAPTION_","label":"Zipkin页面","attributes":{},"skip":false,"key":"1.5.2.1.1.5"},{"backlink":"usecases/istio-installation.html#fig1.5.2.1.1.6","level":"1.5.2.1.1","list_caption":"Figure: ServiceGraph页面","alt":"ServiceGraph页面","nro":67,"url":"../images/istio-servicegraph.jpg","index":6,"caption_template":"图片 - _CAPTION_","label":"ServiceGraph页面","attributes":{},"skip":false,"key":"1.5.2.1.1.6"},{"backlink":"usecases/linkerd.html#fig1.5.2.2.1","level":"1.5.2.2","list_caption":"Figure: source https://linkerd.io","alt":"source https://linkerd.io","nro":68,"url":"https://linkerd.io/images/diagram-individual-instance.png","index":1,"caption_template":"图片 - _CAPTION_","label":"source https://linkerd.io","attributes":{},"skip":false,"key":"1.5.2.2.1"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.1","level":"1.5.2.2.1","list_caption":"Figure: Jenkins pipeline","alt":"Jenkins pipeline","nro":69,"url":"../images/linkerd-jenkins-pipeline.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"Jenkins pipeline","attributes":{},"skip":false,"key":"1.5.2.2.1.1"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.2","level":"1.5.2.2.1","list_caption":"Figure: Jenkins config","alt":"Jenkins config","nro":70,"url":"../images/linkerd-jenkins.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"Jenkins config","attributes":{},"skip":false,"key":"1.5.2.2.1.2"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.3","level":"1.5.2.2.1","list_caption":"Figure: namerd","alt":"namerd","nro":71,"url":"../images/namerd-internal.jpg","index":3,"caption_template":"图片 - _CAPTION_","label":"namerd","attributes":{},"skip":false,"key":"1.5.2.2.1.3"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.4","level":"1.5.2.2.1","list_caption":"Figure: linkerd监控","alt":"linkerd监控","nro":72,"url":"../images/linkerd-helloworld-outgoing.jpg","index":4,"caption_template":"图片 - _CAPTION_","label":"linkerd监控","attributes":{},"skip":false,"key":"1.5.2.2.1.4"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.5","level":"1.5.2.2.1","list_caption":"Figure: linkerd监控","alt":"linkerd监控","nro":73,"url":"../images/linkerd-helloworld-incoming.jpg","index":5,"caption_template":"图片 - _CAPTION_","label":"linkerd监控","attributes":{},"skip":false,"key":"1.5.2.2.1.5"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.6","level":"1.5.2.2.1","list_caption":"Figure: linkerd性能监控","alt":"linkerd性能监控","nro":74,"url":"../images/linkerd-grafana.png","index":6,"caption_template":"图片 - _CAPTION_","label":"linkerd性能监控","attributes":{},"skip":false,"key":"1.5.2.2.1.6"},{"backlink":"usecases/linkerd-user-guide.html#fig1.5.2.2.1.7","level":"1.5.2.2.1","list_caption":"Figure: Linkerd ingress controller","alt":"Linkerd ingress controller","nro":75,"url":"../images/linkerd-ingress-controller.jpg","index":7,"caption_template":"图片 - _CAPTION_","label":"Linkerd ingress controller","attributes":{},"skip":false,"key":"1.5.2.2.1.7"},{"backlink":"usecases/spark-standalone-on-kubernetes.html#fig1.5.3.1.1","level":"1.5.3.1","list_caption":"Figure: spark master ui","alt":"spark master ui","nro":76,"url":"../images/spark-ui.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"spark master ui","attributes":{},"skip":false,"key":"1.5.3.1.1"},{"backlink":"usecases/spark-standalone-on-kubernetes.html#fig1.5.3.1.2","level":"1.5.3.1","list_caption":"Figure: zeppelin ui","alt":"zeppelin ui","nro":77,"url":"../images/zeppelin-ui.jpg","index":2,"caption_template":"图片 - _CAPTION_","label":"zeppelin ui","attributes":{},"skip":false,"key":"1.5.3.1.2"},{"backlink":"develop/client-go-sample.html#fig1.6.3.1","level":"1.6.3","list_caption":"Figure: 使用kubernetes dashboard进行故障排查","alt":"使用kubernetes dashboard进行故障排查","nro":78,"url":"../images/kubernetes-client-go-sample-update.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"使用kubernetes dashboard进行故障排查","attributes":{},"skip":false,"key":"1.6.3.1"},{"backlink":"appendix/issues.html#fig1.7.2.1","level":"1.7.2","list_caption":"Figure: pvc-storage-limit","alt":"pvc-storage-limit","nro":79,"url":"../images/pvc-storage-limit.jpg","index":1,"caption_template":"图片 - _CAPTION_","label":"pvc-storage-limit","attributes":{},"skip":false,"key":"1.7.2.1"}]},"title":"Kubernetes Handbook","language":"zh-hans","links":{"sidebar":{"Home":"https://jimmysong.io"}},"gitbook":"*","description":"Kubernetes中文指南/实践手册"},"file":{"path":"guide/docker-cli-to-kubectl.md","mtime":"2017-09-16T12:53:17.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-10-18T06:16:09.481Z"},"basePath":"..","book":{"language":""}});
});
</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>