K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)

作者: hangge 发布时间: 2019-09-02 浏览: 3104 次 编辑

    Kubernetes 通常不会直接创建 Pod,而是通过 Controller 来管理 Pod 的。为了满足不同的业务场景,Kubernetes 提供了多种 Controller,包括 DeploymentReplicaSetDaemonSetStatefuleSetJob 等。

   下面我先介绍下其中最常用的 DeploymentKubernetes 支持两种创建资源的方式:命令和配置文件。本文先使用前者。

一、运行 Deployment(使用命令方式)

1,开始运行

执行下面命令将部署包含两个副本的 Deployment,名字叫 nginx-deployment,容器的 image 为 nginx:1.7.9

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


2,查看运行状态

(1)执行如下命令可以以查看 nginx-deployment 的状态,这里显示两个副本正常运行。

1
kubectl get deployment

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)


(2)执行如下命令可以查看 nginx-deployment 的详细信息。

1
kubectl describe deployment nginx-deployment

由于 Deployment 是通过 ReplicaSet 来管理 Pod,可以看到这里创建了一名为 nginx-deployment-578fb949d8 的 ReplicaSet

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)


(3)执行如下命令可以显示当前所有的 ReplicaSet,其中 nginx-deployment-578fb949d8 的两个副本已经就绪:

1
kubectl get replicaset

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)

(4)执行如下命令可以查看 nginx-deployment-578fb949d8 的详细信息。

1
kubectl describe replicaset nginx-deployment-578fb949d8

可以看到此 ReplicaSet 是由 nginx-deployment 创建,并且其创建了两个副本 Pod

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)


(5)执行如下命令显示当前所有的 Pod,可以看到目前两个副本 Pod 都处于 Running 状态:

1
kubectl get pod

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)


(6)执行如下命令可以查看 nginx-deployment-578fb949d8-nbn8b 这个 Pod 的详细信息。

1
kubectl describe pod nginx-deployment-578fb949d8-nbn8b

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

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)


3,执行过程总结

上面样例我们部署了包含两个副本的 Deployment,整个执行流程如下:

  • 用户通过 kubectl 创建 Deployment

  • Deployment 创建 ReplicaSet

  • ReplicaSet 创建两个 Pod

原文:K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)

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


原文链接:https://www.hangge.com/blog/cache/detail_2429.html