kubectl命令行管理工具

 

 

 

 

 

run命令

kubectl run --help  查看run命名选项参数
Usage:
  kubectl run NAME --image=image [--env="key=value"] [--port=port]
  
[root@localhost ~]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3  #创建pod 命名为nginx-deployment  以官方源上的nginx镜像  端口80 创建3个副本
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.#在以后的新版本这个命令将会取消
deployment.apps/nginx-deployment created

 

 get命令

[root@localhost ~]# kubectl get pods  #得到当前所有的pod
NAME                               READY   STATUS    RESTARTS   AGE
nginx-7cdbd8cdc9-frqzp             1/1     Running   2          5d22h
nginx-deployment-66874d484-5h678   1/1     Running   0          3m47s
nginx-deployment-66874d484-m6b6m   1/1     Running   0          3m47s
nginx-deployment-66874d484-s4qth   1/1     Running   0          3m47s

[root@localhost ~]# kubectl get all  #获取pod所有详细信息  # kubectl get pods,deploy,replicaset,service  也可以单独指定其中某个
NAME                                   READY   STATUS    RESTARTS   AGE
pod/nginx-7cdbd8cdc9-frqzp             1/1     Running   2          5d22h
pod/nginx-deployment-66874d484-5h678   1/1     Running   0          6m34s
pod/nginx-deployment-66874d484-m6b6m   1/1     Running   0          6m34s
pod/nginx-deployment-66874d484-s4qth   1/1     Running   0          6m34s

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

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx              1/1     1            1           5d22h
deployment.apps/nginx-deployment   3/3     3            3           6m34s    #执行run命令会生成一个deployment deployment是k8s的默认控制器

NAME                                         DESIRED   CURRENT   READY   AGE
NAME                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-7cdbd8cdc9             1         1         1       5d22h
replicaset.apps/nginx-deployment-66874d484   3         3         3       6m34s #会创建replicaset 管理副本
[root@localhost ~]# 
[root@localhost ~]# kubectl get pods,deploy  #显示pods 和deploy
NAME                                   READY   STATUS    RESTARTS   AGE
pod/nginx-7cdbd8cdc9-frqzp             1/1     Running   2          5d22h
pod/nginx-deployment-66874d484-5h678   1/1     Running   0          13m
pod/nginx-deployment-66874d484-m6b6m   1/1     Running   0          13m
pod/nginx-deployment-66874d484-s4qth   1/1     Running   0          13m

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/nginx              1/1     1            1           5d22h
deployment.extensions/nginx-deployment   3/3     3            3           13m
[root@localhost ~]# 

 

 

通过kubectl来部署一个应用(一个生命周期)

1、创建
kubectl run nginx --replicas=3 --image=nginx:1.14 --port=80
kubectl get deploy,pods
2、发布
kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=nginx-service
kubectl get service
3、更新
kubectl set image deployment/nginx nginx=nginx:1.15
4、回滚
kubectl rollout history deployment/nginx
kubectl rollout undo deployment/nginx
5、删除
kubectl delete deploy/nginx
kubectl delete svc/nginx-service

 

 

 

1、创建

[root@localhost ~]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx created
[root@localhost ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-5c65579c5c-qb6mb   1/1     Running   0          4s
nginx-5c65579c5c-qm9gj   1/1     Running   0          4s
nginx-5c65579c5c-wrq96   1/1     Running   0          4s
[root@localhost ~]# 

2、发布服务

Usage:
  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]
#TYPE NAME --> deployment; nginx --> 就是kubectl run name(eg: 上面的nginx) ;--port=80暴露给外面访问的端口 --target-port 容器的IP ; --name 服务的名字 
[root@localhost ~]# kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=nginx-service
service/nginx-service exposed
[root@localhost ~]# 
[root@localhost ~]# kubectl get all #查看 
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-5c65579c5c-qb6mb   1/1     Running   0          11m
pod/nginx-5c65579c5c-qm9gj   1/1     Running   0          11m
pod/nginx-5c65579c5c-wrq96   1/1     Running   0          11m

NAME                    TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
service/kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        5d23h
service/nginx-service   NodePort    10.0.0.27    <none>        80:31404/TCP   5m44s #service服务已创建  

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   3/3     3            3           11m

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-5c65579c5c   3         3         3       11m
[root@localhost ~]# 

[root@localhost ~]# kubectl delete svc nginx-service #删除service服务已创建  
service "nginx-service" deleted
[root@localhost ~]# kubectl get all
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-5c65579c5c-qb6mb   1/1     Running   0          12m
pod/nginx-5c65579c5c-qm9gj   1/1     Running   0          12m
pod/nginx-5c65579c5c-wrq96   1/1     Running   0          12m

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

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   3/3     3            3           12m

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-5c65579c5c   3         3         3       12m
[root@localhost ~]# 

[root@localhost ~]# kubectl expose deployment nginx --port=8888 --type=NodePort --target-port=80 --name=nginx-service
service/nginx-service exposed
[root@localhost ~]# 

 

 

 

[root@localhost ~]# kubectl api-resources  #全称与简写的  例如service  ==  svc
NAME                              SHORTNAMES   APIGROUP                       NAMESPACED   KIND
bindings                                                                      true         Binding
componentstatuses                 cs                                          false        ComponentStatus
configmaps                        cm                                          true         ConfigMap
endpoints                         ep                                          true         Endpoints
events                            ev                                          true         Event
limitranges                       limits                                      true         LimitRange
namespaces                        ns                                          false        Namespace
nodes                             no                                          false        Node
persistentvolumeclaims            pvc                                         true         PersistentVolumeClaim
persistentvolumes                 pv                                          false        PersistentVolume
pods                              po                                          true         Pod
podtemplates                                                                  true         PodTemplate
replicationcontrollers            rc                                          true         ReplicationController
resourcequotas                    quota                                       true         ResourceQuota
secrets                                                                       true         Secret
serviceaccounts                   sa                                          true         ServiceAccount
services                          svc                                         true         Service
mutatingwebhookconfigurations                  admissionregistration.k8s.io   false        MutatingWebhookConfiguration
validatingwebhookconfigurations                admissionregistration.k8s.io   false        ValidatingWebhookConfiguration
customresourcedefinitions         crd,crds     apiextensions.k8s.io           false        CustomResourceDefinition
apiservices                                    apiregistration.k8s.io         false        APIService
controllerrevisions                            apps                           true         ControllerRevision
daemonsets                        ds           apps                           true         DaemonSet
deployments                       deploy       apps                           true         Deployment
replicasets                       rs           apps                           true         ReplicaSet
statefulsets                      sts          apps                           true         StatefulSet
tokenreviews                                   authentication.k8s.io          false        TokenReview
localsubjectaccessreviews                      authorization.k8s.io           true         LocalSubjectAccessReview
selfsubjectaccessreviews                       authorization.k8s.io           false        SelfSubjectAccessReview
selfsubjectrulesreviews                        authorization.k8s.io           false        SelfSubjectRulesReview
subjectaccessreviews                           authorization.k8s.io           false        SubjectAccessReview
horizontalpodautoscalers          hpa          autoscaling                    true         HorizontalPodAutoscaler
cronjobs                          cj           batch                          true         CronJob
jobs                                           batch                          true         Job
certificatesigningrequests        csr          certificates.k8s.io            false        CertificateSigningRequest
leases                                         coordination.k8s.io            true         Lease
events                            ev           events.k8s.io                  true         Event
daemonsets                        ds           extensions                     true         DaemonSet
deployments                       deploy       extensions                     true         Deployment
ingresses                         ing          extensions                     true         Ingress
networkpolicies                   netpol       extensions                     true         NetworkPolicy
podsecuritypolicies               psp          extensions                     false        PodSecurityPolicy
replicasets                       rs           extensions                     true         ReplicaSet
networkpolicies                   netpol       networking.k8s.io              true         NetworkPolicy
poddisruptionbudgets              pdb          policy                         true         PodDisruptionBudget
podsecuritypolicies               psp          policy                         false        PodSecurityPolicy
clusterrolebindings                            rbac.authorization.k8s.io      false        ClusterRoleBinding
clusterroles                                   rbac.authorization.k8s.io      false        ClusterRole
rolebindings                                   rbac.authorization.k8s.io      true         RoleBinding
roles                                          rbac.authorization.k8s.io      true         Role
priorityclasses                   pc           scheduling.k8s.io              false        PriorityClass
storageclasses                    sc           storage.k8s.io                 false        StorageClass
volumeattachments                              storage.k8s.io                 false        VolumeAttachment
[root@localhost ~]# 
kubectl api-resources #全称与简写的
[root@localhost ~]# kubectl api-versions  #查看api的版本
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1  #代表这个资源组的稳定版
apps/v1beta1  #代表这个资源组的测试版1
apps/v1beta2  #代表这个资源组的测试版2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1
kubectl api-versions #查看api的版本

 

 

查看

[root@localhost ~]# kubectl get svc,pods
NAME                    TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE
service/kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP          5d23h
service/nginx-service   NodePort    10.0.0.80    <none>        8888:42987/TCP   33s #新建nginx-service  访问这个service 它帮你转发到证书的节点上去

NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-5c65579c5c-qb6mb   1/1     Running   0          14m
pod/nginx-5c65579c5c-qm9gj   1/1     Running   0          14m
pod/nginx-5c65579c5c-wrq96   1/1     Running   0          14m
[root@localhost ~]# 

[root@localhost ~]# kubectl get endpoints  #查看service 关联后端pod的IP是多少
NAME            ENDPOINTS                                      AGE
kubernetes      192.168.1.11:6443                              5d23h
nginx-service   172.17.14.2:80,172.17.14.3:80,172.17.63.3:80   5m35s
[root@localhost ~]# kubectl get pods -o wide  #查看pod的IP对应宿主机的IP
NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE           NOMINATED NODE   READINESS GATES
nginx-5c65579c5c-qb6mb   1/1     Running   0          20m   172.17.63.3   192.168.1.12   <none>           <none>
nginx-5c65579c5c-qm9gj   1/1     Running   0          20m   172.17.14.2   192.168.1.13   <none>           <none>
nginx-5c65579c5c-wrq96   1/1     Running   0          20m   172.17.14.3   192.168.1.13   <none>           <none>
[root@localhost ~]# 

[root@localhost ~]# kubectl get svc
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE
kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP          6d
nginx-service   NodePort    10.0.0.80    <none>        8888:42987/TCP   69m  #pod的IP端口是80-->暴露的端口是10.0.0.80:8888 ---> 外部访问端口 42987
[root@localhost ~]# 

 

 

node 192.168.1.12 上
[root@localhost ~]# ipvsadm -l -n  #查转发规则  类似负载均衡 轮询
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  127.0.0.1:30001 rr
  -> 172.17.63.2:8443             Masq    1      0          0         
TCP  127.0.0.1:42987 rr                                        #本台机器的42987  外部访问
  -> 172.17.14.2:80               Masq    1      0          0         
  -> 172.17.14.3:80               Masq    1      0          0         
  -> 172.17.63.3:80               Masq    1      0          0         
TCP  172.17.63.0:30001 rr
  -> 172.17.63.2:8443             Masq    1      0          0         
TCP  172.17.63.0:42987 rr
  -> 172.17.14.2:80               Masq    1      0          0         
  -> 172.17.14.3:80               Masq    1      0          0         
  -> 172.17.63.3:80               Masq    1      0          0         
TCP  172.17.63.1:30001 rr
  -> 172.17.63.2:8443             Masq    1      0          0         
TCP  172.17.63.1:42987 rr
  -> 172.17.14.2:80               Masq    1      0          0         
  -> 172.17.14.3:80               Masq    1      0          0         
  -> 172.17.63.3:80               Masq    1      0          0         
TCP  192.168.1.12:30001 rr
  -> 172.17.63.2:8443             Masq    1      0          0         
TCP  192.168.1.12:42987 rr
  -> 172.17.14.2:80               Masq    1      0          0         
  -> 172.17.14.3:80               Masq    1      0          0         
  -> 172.17.63.3:80               Masq    1      0          0         
TCP  10.0.0.1:443 rr
  -> 192.168.1.11:6443            Masq    1      1          0         
TCP  10.0.0.80:8888 rr                                              #10.0.0.80:8888
  -> 172.17.14.2:80               Masq    1      0          0         
  -> 172.17.14.3:80               Masq    1      0          0        #三个pod的IP 
  -> 172.17.63.3:80               Masq    1      0          0         
TCP  10.0.0.141:443 rr
  -> 172.17.63.2:8443             Masq    1      0          0         
[root@localhost ~]# 


http://192.168.1.12:42987/  或者 http://192.168.1.13:42987/ #可以访问到pod   如果访问出错  可能是node上的kube-proxy服务出问题



[root@localhost ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-5c65579c5c-qb6mb   1/1     Running   0          95m
nginx-5c65579c5c-qm9gj   1/1     Running   0          95m
nginx-5c65579c5c-wrq96   1/1     Running   0          95m
[root@localhost ~]# kubectl logs nginx-5c65579c5c-qb6mb  #查看日志 这个节点接收到了请求
2019/09/09 13:40:22 [error] 6#6: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.63.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.1.12:42987"
172.17.63.1 - - [09/Sep/2019:13:40:21 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" "-"
172.17.63.1 - - [09/Sep/2019:13:40:22 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0" "-"
[root@localhost ~]# kubectl logs nginx-5c65579c5c-qm9gj
[root@localhost ~]# kubectl logs nginx-5c65579c5c-wrq96
[root@localhost ~]# 

 

 

 

3、更新

[root@localhost ~]# kubectl set image deployment/nginx nginx=nginx:1.15 #更换nginx的版本 #重新访问http://192.168.1.12:42987/  或者 http://192.168.1.13:42987/ 查看请求头找nginx的版本
deployment.extensions/nginx image updated
[root@localhost ~]# kubectl get pods -w #实时获取pod更新状态  创建新的 替换旧的
NAME                     READY   STATUS              RESTARTS   AGE
nginx-5c65579c5c-qb6mb   1/1     Running             0          114m
nginx-5c65579c5c-qm9gj   1/1     Running             0          114m
nginx-5c65579c5c-wrq96   1/1     Running             0          114m
nginx-6974f8bfbc-7j7wj   0/1     ContainerCreating   0          12s

 

 

4、回滚 

[root@localhost ~]# kubectl rollout history deploy/nginx 或者 kubectl rollout history deployment/nginx  #查看历史版本
deployment.extensions/nginx 
REVISION  CHANGE-CAUSE
1         <none>
2         <none>

[root@localhost ~]# 
[root@localhost ~]# kubectl rollout undo deployment/nginx #回滚上一个版本 
deployment.extensions/nginx rolled back
[root@localhost ~]# 
[root@localhost ~]# kubectl rollout status deployment/nginx #查看回滚状态
deployment "nginx" successfully rolled out
[root@localhost ~]# 

5、删除  不能直接删除pod  应该删除控制器 例如deployment/nginx 

[root@localhost ~]# kubectl delete deploy/nginx  #删除控制器
deployment.extensions "nginx" deleted
[root@localhost ~]# kubectl delete svc/nginx-service #删除服务
service "nginx-service" deleted
[root@localhost ~]# kubectl get deploy
No resources found.
[root@localhost ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   6d1h
[root@localhost ~]# 

 

 

 

 

 

 

其它命令

[root@localhost ~]# kubectl run nginx --image=nginx --port=80 --replicas=3 #重新创建
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/nginx created
[root@localhost ~]# kubectl describe pod  #查看所有pod的详细信息
Name:               nginx-57867cc648-d6vk2
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               192.168.1.12/192.168.1.12
Start Time:         Mon, 09 Sep 2019 22:14:59 +0800
Labels:             pod-template-hash=57867cc648
                    run=nginx
Annotations:        <none>
Status:             Running
IP:                 172.17.63.3
Controlled By:      ReplicaSet/nginx-57867cc648
Containers:
  nginx:
    Container ID:   docker://095175d61212ced90f1c6f1cceb3ab94ba47ec649de22d7c250e7452d19bc24f
    Image:          nginx
    Image ID:       docker-pullable://nginx@sha256:099019968725f0fc12c4b69b289a347ae74cc56da0f0ef56e8eb8e0134fc7911
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 09 Sep 2019 22:15:02 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-4zq5b (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-4zq5b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-4zq5b
    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  50s   default-scheduler      Successfully assigned default/nginx-57867cc648-d6vk2 to 192.168.1.12
  Normal  Pulling    48s   kubelet, 192.168.1.12  pulling image "nginx"
  Normal  Pulled     48s   kubelet, 192.168.1.12  Successfully pulled image "nginx"
  Normal  Created    48s   kubelet, 192.168.1.12  Created container
  Normal  Started    47s   kubelet, 192.168.1.12  Started container


Name:               nginx-57867cc648-gdjhv
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               192.168.1.13/192.168.1.13
Start Time:         Mon, 09 Sep 2019 22:14:59 +0800
Labels:             pod-template-hash=57867cc648
                    run=nginx
Annotations:        <none>
Status:             Running
IP:                 172.17.14.3
Controlled By:      ReplicaSet/nginx-57867cc648
Containers:
  nginx:
    Container ID:   docker://51bcf83200571017c62e480b204c7cdbff8a561aa05aec30caaa9fa495a58323
    Image:          nginx
    Image ID:       docker-pullable://nginx@sha256:099019968725f0fc12c4b69b289a347ae74cc56da0f0ef56e8eb8e0134fc7911
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 09 Sep 2019 22:15:24 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-4zq5b (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-4zq5b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-4zq5b
    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  50s   default-scheduler      Successfully assigned default/nginx-57867cc648-gdjhv to 192.168.1.13
  Normal  Pulling    25s   kubelet, 192.168.1.13  pulling image "nginx"
  Normal  Pulled     25s   kubelet, 192.168.1.13  Successfully pulled image "nginx"
  Normal  Created    25s   kubelet, 192.168.1.13  Created container
  Normal  Started    25s   kubelet, 192.168.1.13  Started container


Name:               nginx-57867cc648-hhpbm
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               192.168.1.13/192.168.1.13
Start Time:         Mon, 09 Sep 2019 22:14:59 +0800
Labels:             pod-template-hash=57867cc648
                    run=nginx
Annotations:        <none>
Status:             Running
IP:                 172.17.14.2
Controlled By:      ReplicaSet/nginx-57867cc648
Containers:
  nginx:
    Container ID:   docker://c7c5979f03056e7ebc9a64d655754feaf25e0e829d088a957da58253c34292ef
    Image:          nginx
    Image ID:       docker-pullable://nginx@sha256:099019968725f0fc12c4b69b289a347ae74cc56da0f0ef56e8eb8e0134fc7911
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Mon, 09 Sep 2019 22:15:24 +0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-4zq5b (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-4zq5b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-4zq5b
    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  50s   default-scheduler      Successfully assigned default/nginx-57867cc648-hhpbm to 192.168.1.13
  Normal  Pulling    26s   kubelet, 192.168.1.13  pulling image "nginx"
  Normal  Pulled     25s   kubelet, 192.168.1.13  Successfully pulled image "nginx"
  Normal  Created    25s   kubelet, 192.168.1.13  Created container
  Normal  Started    25s   kubelet, 192.168.1.13  Started container
[root@localhost ~]# 
所有pod的详细信息
[root@localhost ~]# kubectl get pod 
NAME                     READY   STATUS    RESTARTS   AGE
nginx-57867cc648-d6vk2   1/1     Running   0          2m44s
nginx-57867cc648-gdjhv   1/1     Running   0          2m44s
nginx-57867cc648-hhpbm   1/1     Running   0          2m44s
[root@localhost ~]# kubectl describe pod nginx-57867cc648-d6vk2 查看单个pod
[root@localhost ~]# kubectl describe deployment/nginx  #查看deployment详细信息

[root@localhost ~]# kubectl exec -it nginx-57867cc648-d6vk2 bash  #进入一个pod 
root@nginx-57867cc648-d6vk2:/# 

 

 

kubectl patch命令日常用法 

 
 

 

posted @ 2019-11-14 19:07  冥想心灵  阅读(52)  评论(0编辑  收藏  举报