zoukankan      html  css  js  c++  java
  • 用 Deployment 运行应用

    从本章开始,我们将通过实践深入学习 Kubernetes 的各种特性。作为容器编排引擎,最重要也是最基本的功能当然是运行容器化应用,这就是本章的内容。

    Deployment

    前面我们已经了解到,Kubernetes 通过各种 Controller 来管理 Pod 的生命周期。为了满足不同业务场景,Kubernetes 开发了 Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等多种 Controller。我们首先学习最常用的 Deployment。

    先从例子开始,运行一个 Deployment:

    kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2

    上面的命令将部署包含两个副本的 Deployment nginx-deployment,容器的 image 为 nginx:1.7.9

    下面详细分析 Kubernetes 都做了些什么工作。

    kubectl get deployment 命令可以查看 nginx-deployment 的状态,输出显示两个副本正常运行。

    接下来我们用 kubectl describe deployment 了解更详细的信息。

    大部分内容都是自解释的,我们重点看最下面部分。这里告诉我们创建了一个 ReplicaSet nginx-deployment-1260880958Events 是 Deployment 的日志,记录了 ReplicaSet 的启动过程。

    通过上面的分析,也验证了 Deployment 通过 ReplicaSet 来管理 Pod 的事实。接着我们将注意力切换到 nginx-deployment-1260880958,执行 kubectl describe replicaset

    两个副本已经就绪,用 kubectl describe replicaset 查看详细信息:

    Controlled By 指明此 ReplicaSet 是由 Deployment nginx-deployment 创建。Events 记录了两个副本 Pod 的创建。接着我们来看 Pod,执行 kubectl get pod

    两个副本 Pod 都处于 Running 状态,用 kubectl describe pod 查看更详细的信息:

    Controlled By 指明此 Pod 是由 ReplicaSet nginx-deployment-1260880958 创建。Events 记录了 Pod 的启动过程。如果操作失败(比如 image 不存在),也能在这里查看到原因。

    总结一下这个过程:

    1. 用户通过 kubectl 创建 Deployment。

    2. Deployment 创建 ReplicaSet。

    3. ReplicaSet 创建 Pod。

    从上图也可以看出,对象的命名方式是:子对象的名字 = 父对象名字 + 随机字符串或数字

    本节我们是通过 kubectl run 创建的 Deployment,下一节学习另一种更常用的方法。

    书籍:

    1.《每天5分钟玩转Docker容器技术》
    https://item.jd.com/16936307278.html


    2.《每天5分钟玩转OpenStack》
    https://item.jd.com/12086376.html

  • 相关阅读:
    深度学习100问
    BAT机器学习面试1000题系列
    深度学习项目——基于卷积神经网络(CNN)的人脸在线识别系统
    深入理解卷积层
    AI大道理头尾标识
    git-svn Manual Page
    收藏夹
    C语言 #、##、#@在#define中的用法
    ubuntu 编译安装自己的git-svn
    ALSA参考文档
  • 原文地址:https://www.cnblogs.com/CloudMan6/p/8336904.html
Copyright © 2011-2022 走看看