这里写目录标题

  • 1.项目的生命周期概述
  • 1.1创建
  • 1.2 删除
  • 1.kubectl命令管理项目的生命周期
  • 1.1 创建
  • 1.2 发布
  • 1.2.1 发布nginx service提供负载均衡的功能
  • 1.2.2 在node操作,查看负载均衡端口31154
  • 1.2.3 打开浏览器,访问对应的node节点ip和端口![在这里插入图片描述](https://s2.51cto.com/images/blog/202403/16162807_65f558173f4b479763.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
  • 1.2.4 查看pod日志
  • 1.3 更新nginx 为1.14版本
  • 1.4 回滚nginx
  • 1.5 删除nginx
  • 1.6 查看具体资源的详细信息


1.项目的生命周期概述

项目的生命周期:创建、发布、更新、回滚、删除

1.1创建

kubectl run命令

kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas]
[--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...] [options]

示例:

[root@master01 ~]# kubectl get all  #查看集群为空
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   45h
[root@master01 ~]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 #创建名称为nginx-deployment,nginx镜像,端口为80端口,副本集为3的pod集群
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx-deployment created
[root@master01 ~]# kubectl get pods   #查看pod
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-5477945587-qgk8z   1/1     Running   0          64s
nginx-deployment-5477945587-vc858   1/1     Running   0          64s
nginx-deployment-5477945587-w6cln   1/1     Running   0          64s
[root@master01 ~]# kubectl get all   #查看所有组件
NAME                                    READY   STATUS    RESTARTS   AGE
pod/nginx-deployment-5477945587-qgk8z   1/1     Running   0          115s
pod/nginx-deployment-5477945587-vc858   1/1     Running   0          115s
pod/nginx-deployment-5477945587-w6cln   1/1     Running   0          115s

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   45h

NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx-deployment   3         3         3            3           114s

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-deployment-5477945587   3         3         3       115s

1.2 删除

[root@master01 ~]# kubectl delete deploy/nginx-deployment
deployment.extensions "nginx-deployment" deleted
[root@master01 ~]# kubectl get pods
No resources found.

1.kubectl命令管理项目的生命周期

项目的生命周期:创建、发布、更新、回滚、删除

1.1 创建

kubectl run命令
kubectl run NAME --image=image [–env=“key=value”] [–port=port] [–replicas=replicas]
[–dry-run=bool] [–overrides=inline-json] [–command] – [COMMAND] [args…] [options]

[root@master01 ~]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3  #创建名字为nginx镜像nginx 端口为80 副本集为3
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx created

[root@master01 ~]# kubectl get pods -w
NAME                     READY   STATUS              RESTARTS   AGE
nginx-7697996758-cxpgr   0/1     ContainerCreating   0          3s
nginx-7697996758-jqzt9   0/1     ContainerCreating   0          3s
nginx-7697996758-krwtb   0/1     ContainerCreating   0          3s
nginx-7697996758-krwtb   1/1   Running   0     8s
nginx-7697996758-cxpgr   1/1   Running   0     17s
nginx-7697996758-jqzt9   1/1   Running   0     25s
####
[root@master01 ~]#  kubectl get pods,deployment,replicaset   #查看三个组件
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-7697996758-cxpgr   1/1     Running   0          81s
pod/nginx-7697996758-jqzt9   1/1     Running   0          81s
pod/nginx-7697996758-krwtb   1/1     Running   0          81s

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/nginx   3         3         3            3           84s

NAME                                     DESIRED   CURRENT   READY   AGE
replicaset.extensions/nginx-7697996758   3         3         3       81s

使用dashboard查看

kubectl create deployment 参数说明 kubectl build_创建发布更新回滚更新

1.2 发布

1.2.1 发布nginx service提供负载均衡的功能

kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP]
[--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]
[options]
[root@master01 ~]# kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort
service/nginx-service exposed
[root@master01 ~]#  kubectl get pods,svc   #查看pod和service
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-7697996758-cxpgr   1/1     Running   0          3m2s
pod/nginx-7697996758-jqzt9   1/1     Running   0          3m2s
pod/nginx-7697996758-krwtb   1/1     Running   0          3m2s

NAME                    TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
service/kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        4d6h
service/nginx-service   NodePort    10.0.0.38    <none>        80:31154/TCP   29s

kubectl create deployment 参数说明 kubectl build_创建发布更新回滚更新_02

[root@master01 ~]# kubectl get svc   #查看服务
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        4d6h
nginx-service   NodePort    10.0.0.38    <none>        80:31154/TCP   98s #port和NodePort映射关系
[root@master01 ~]# kubectl get pod -o wide
NAME                     READY   STATUS    RESTARTS   AGE     IP            NODE              NOMINATED NODE
nginx-7697996758-cxpgr   1/1     Running   0          4m30s   172.17.25.2   192.168.200.110   <none>
nginx-7697996758-jqzt9   1/1     Running   0          4m30s   172.17.4.3    192.168.200.120   <none>
nginx-7697996758-krwtb   1/1     Running   0          4m30s   172.17.25.3   192.168.200.110   <none>
[root@master01 ~]# kubectl get endpoints    //查看关联后端的节点
NAME            ENDPOINTS                                     AGE
kubernetes      192.168.200.100:6443,192.168.200.90:6443      4d6h
nginx-service   172.17.25.2:80,172.17.25.3:80,172.17.4.3:80   2m15s

1.2.2 在node操作,查看负载均衡端口31154

kubernetes里kube-proxy支持三种模式,在v1.8之前我们使用的是iptables 以及 userspace两种模式,在kubernetes 1.8之后引入了ipvs模式
在node01操作,查看负载均衡端口32875

[root@node01 ~]#  yum install ipvsadm -y
[root@node01 ~]# ipvsadm -L -n   
TCP  192.168.200.110:31154 rr   #负载均衡 轮询
  -> 172.17.4.3:80                Masq    1      0          0         
  -> 172.17.25.2:80               Masq    1      0          0         
  -> 172.17.25.3:80               Masq    1      0          0

在node02操作 同样安装ipvsadmin工具查看

[root@node02 ~]#  yum install ipvsadm -y
[root@node02 ~]# ipvsadm -L -n
TCP  192.168.200.120:31154 rr
  -> 172.17.4.3:80                Masq    1      0          0         
  -> 172.17.25.2:80               Masq    1      0          0         
  -> 172.17.25.3:80               Masq    1      0          0

1.2.3 打开浏览器,访问对应的node节点ip和端口

kubectl create deployment 参数说明 kubectl build_kubernetes_03

kubectl create deployment 参数说明 kubectl build_生命周期_04

1.2.4 查看pod日志

[root@master01 ~]# kubectl logs nginx-7697996758-cxpgr   # 查看pod1日志
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
172.17.25.1 - - [12/Oct/2020:00:55:30 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.25.1 - - [12/Oct/2020:00:55:30 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.25.1 - - [12/Oct/2020:00:55:31 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.25.1 - - [12/Oct/2020:00:55:31 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
[root@master01 ~]# kubectl logs nginx-7697996758-krwtb   #查看pod2日志
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
172.17.25.1 - - [12/Oct/2020:00:49:51 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.25.1 - - [12/Oct/2020:00:49:51 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.200.110:31154/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
2020/10/12 00:49:51 [error] 28#28: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.25.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.200.110:31154", referrer: "http://192.168.200.110:31154/"
172.17.25.1 - - [12/Oct/2020:00:50:43 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.25.1 - - [12/Oct/2020:00:50:43 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
[root@master01 ~]# kubectl logs nginx-7697996758-jqzt9   #查看pod3节点
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
172.17.4.1 - - [12/Oct/2020:00:49:11 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
2020/10/12 00:49:12 [error] 28#28: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.4.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.200.120:31154", referrer: "http://192.168.200.120:31154/"
172.17.4.1 - - [12/Oct/2020:00:49:12 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.200.120:31154/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.4.1 - - [12/Oct/2020:00:50:48 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"
172.17.4.1 - - [12/Oct/2020:00:50:48 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" "-"

1.3 更新nginx 为1.14版本

谷歌浏览器重新加载刷新页面查看nginx版本信息

kubectl create deployment 参数说明 kubectl build_生命周期_05

kubectl set 用法

[root@master01 ~]# kubectl set --help
Available Commands:
  env            Update environment variables on a pod template
  image          更新一个 pod template 的镜像
  resources      在对象的 pod templates 上更新资源的 requests/limits
  selector       设置 resource 的 selector
  serviceaccount Update ServiceAccount of a resource
  subject        Update User, Group or ServiceAccount in a
RoleBinding/ClusterRoleBinding
Usage:
  kubectl set SUBCOMMAND [options]

Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all
commands).

获取修改模板

[root@localhost bin]# kubectl set image --help
Examples:
  # Set a deployment's nginx container image to 'nginx:1.9.1', and its busybox
container image to 'busybox'.
  kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1
[root@master01 ~]# kubectl set image deployment/nginx nginx=nginx:1.14   更新nginx 为1.14版本
deployment.extensions/nginx image updated
[root@master01 ~]#  kubectl get pods -w   #处于动态监听状态
NAME                     READY   STATUS              RESTARTS   AGE
nginx-6ff7c89c7c-jv87m   0/1     ContainerCreating   0          3s
nginx-6ff7c89c7c-slst4   1/1     Running             0          6s
nginx-7697996758-cxpgr   1/1     Running             0          16m
nginx-7697996758-krwtb   1/1     Running             0          16m
nginx-6ff7c89c7c-jv87m   1/1   Running   0     3s
nginx-7697996758-cxpgr   1/1   Terminating   0     16m
nginx-6ff7c89c7c-76shn   0/1   Pending   0     <invalid>
nginx-6ff7c89c7c-76shn   0/1   Pending   0     <invalid>
nginx-6ff7c89c7c-76shn   0/1   ContainerCreating   0     0s
nginx-7697996758-cxpgr   0/1   Terminating   0     16m
nginx-7697996758-cxpgr   0/1   Terminating   0     16m
nginx-6ff7c89c7c-76shn   1/1   Running   0     0s
nginx-7697996758-krwtb   1/1   Terminating   0     16m
nginx-7697996758-krwtb   0/1   Terminating   0     16m
nginx-7697996758-cxpgr   0/1   Terminating   0     16m
nginx-7697996758-cxpgr   0/1   Terminating   0     16m
nginx-7697996758-krwtb   0/1   Terminating   0     16m
nginx-7697996758-krwtb   0/1   Terminating   0     16m
[root@master01 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6ff7c89c7c-76shn   1/1     Running   0          76s
nginx-6ff7c89c7c-jv87m   1/1     Running   0          82s
nginx-6ff7c89c7c-slst4   1/1     Running   0          85s

更新成功

kubectl create deployment 参数说明 kubectl build_生命周期_06

1.4 回滚nginx

[root@master01 ~]#  kubectl rollout --help
Manage the rollout of a resource.
  
Valid resource types include: 

  * deployments  
  * daemonsets  
  * statefulsets

Examples:
  # Rollback to the previous deployment
  kubectl rollout undo deployment/abc
  
  # Check the rollout status of a daemonset
  kubectl rollout status daemonset/foo

Available Commands:
  history     显示 rollout 历史
  pause       标记提供的 resource 为中止状态
  resume      继续一个停止的 resource
  status      显示 rollout 的状态
  undo        撤销上一次的 rollout

Usage:
  kubectl rollout SUBCOMMAND [options]

Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all
commands).
//查看历史版本
[root@master01 ~]# kubectl rollout history deployment/nginx 
deployment.extensions/nginx 
REVISION  CHANGE-CAUSE
1         <none>
2         <none>
//执行回滚
[root@master01 ~]# kubectl rollout undo deployment/nginx     #回滚
deployment.extensions/nginx
[root@master01 ~]# kubectl get pods -w
NAME                     READY   STATUS              RESTARTS   AGE
nginx-6ff7c89c7c-76shn   1/1     Terminating         0          4m6s
nginx-6ff7c89c7c-jv87m   1/1     Running             0          4m12s
nginx-6ff7c89c7c-slst4   1/1     Running             0          4m15s
nginx-7697996758-x4rzc   0/1     ContainerCreating   0          <invalid>
nginx-7697996758-xphcm   1/1     Running             0          3s
nginx-6ff7c89c7c-76shn   0/1   Terminating   0     4m7s
nginx-7697996758-x4rzc   1/1   Running   0     0s
nginx-6ff7c89c7c-jv87m   1/1   Terminating   0     4m15s
nginx-7697996758-jnzgg   0/1   Pending   0     <invalid>
nginx-7697996758-jnzgg   0/1   Pending   0     <invalid>
nginx-7697996758-jnzgg   0/1   ContainerCreating   0     <invalid>
nginx-6ff7c89c7c-jv87m   0/1   Terminating   0     4m16s
nginx-7697996758-jnzgg   1/1   Running   0     1s
nginx-6ff7c89c7c-slst4   1/1   Terminating   0     4m22s
nginx-6ff7c89c7c-slst4   0/1   Terminating   0     4m23s
nginx-6ff7c89c7c-76shn   0/1   Terminating   0     4m14s
nginx-6ff7c89c7c-76shn   0/1   Terminating   0     4m14s
nginx-6ff7c89c7c-jv87m   0/1   Terminating   0     4m25s
nginx-6ff7c89c7c-jv87m   0/1   Terminating   0     4m25s
nginx-6ff7c89c7c-slst4   0/1   Terminating   0     4m28s
nginx-6ff7c89c7c-slst4   0/1   Terminating   0     4m28s
//检查回滚状态
[root@master01 ~]#  kubectl rollout status deployment/nginx
deployment "nginx" successfully rolled out

kubectl create deployment 参数说明 kubectl build_kubernetes_07

[root@master01 ~]# kubectl rollout history deployment/nginx 
deployment.extensions/nginx 
REVISION  CHANGE-CAUSE
2         <none>
3         <none>

1.5 删除nginx

[root@master01 ~]# kubectl get deploy  # 查看deployment
NAME    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx   3         3         3            3           23m
[root@master01 ~]# kubectl delete deployment/nginx  # 删除deployment
deployment.extensions "nginx" deleted
[root@master01 ~]# kubectl get svc
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        4d6h
nginx-service   NodePort    10.0.0.38    <none>        80:31154/TCP   21m
[root@master01 ~]# kubectl delete svc/nginx-service
service "nginx-service" deleted
[root@master01 ~]# kubectl get all
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   4d6h

1.6 查看具体资源的详细信息

[root@master01 ~]#  kubectl run nginx --image=nginx:latest --port=80 --replicas=3
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx created
[root@master01 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-7697996758-pn5lr   1/1     Running   0          119s
nginx-7697996758-qpd4j   1/1     Running   0          119s
nginx-7697996758-v9xzc   1/1     Running   0          119s
[root@master01 ~]# kubectl describe pod nginx-7697996758-pn5lr   #查看pod详细信息
Name:               nginx-7697996758-pn5lr
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               192.168.200.120/192.168.200.120
Start Time:         Mon, 12 Oct 2020 09:08:04 +0800
Labels:             pod-template-hash=7697996758
                    run=nginx
Annotations:        <none>
Status:             Running
IP:                 172.17.4.4
Controlled By:      ReplicaSet/nginx-7697996758
Containers:
  nginx:
    Container ID:   docker://e92ad98ad615ba1248ae426c9923c43ea44ad88fafe891af0d238e7a7184362a
    Image:          nginx:latest
    Image ID:       docker-pullable://nginx@sha256:fc66cdef5ca33809823182c9c5d72ea86fd2cef7713cf3363e1a0b12a5d77500
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 12 Oct 2020 09:08:13 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-r77nm (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-r77nm:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-r77nm
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age    From                      Message
  ----    ------     ----   ----                      -------
  Normal  Scheduled  3m1s   default-scheduler         Successfully assigned default/nginx-7697996758-pn5lr to 192.168.200.120
  Normal  Pulling    3m     kubelet, 192.168.200.120  pulling image "nginx:latest"
  Normal  Pulled     2m52s  kubelet, 192.168.200.120  Successfully pulled image "nginx:latest"
  Normal  Created    2m52s  kubelet, 192.168.200.120  Created container
  Normal  Started    2m52s  kubelet, 192.168.200.120  Started container
[root@master01 ~]# kubectl describe deployment/nginx  #查看deployment资源 
Name:                   nginx
Namespace:              default
CreationTimestamp:      Mon, 12 Oct 2020 09:08:01 +0800
Labels:                 run=nginx
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               run=nginx
Replicas:               3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  run=nginx
  Containers:
   nginx:
    Image:        nginx:latest
    Port:         80/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   nginx-7697996758 (3/3 replicas created)
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  4m3s  deployment-controller  Scaled up replica set nginx-7697996758 to 3
[root@master01 ~]#  kubectl exec -it nginx-7697996758-pn5lr bash     # 进入pod
root@nginx-7697996758-pn5lr:/# ls
bin   dev		   docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc			 lib   media  opt  root  sbin  sys  usr