k8s常用命令

  • Post author:
  • Post category:其他


  • 更新pod的副本数
kc scale deploy --replicas=<副本数量> <pod名>
示例:kc scale deploy --replicas=0 geoduck
  • 重启pod


    重启pod

    可以先设置

    副本数



    0

    再设置副本数为

    1
kc scale deploy --replicas=0 <pod名>
kc scale deploy --replicas=1 <pod名>
  • 查看pod
get get pods | grep <pod名>
  • 获取所有标签为 nginx的pod
kubectl get pods -l app=nginx

在这里插入图片描述

  • 查看pod对象细节
kubectl describe pod <pod名>
$ kubectl describe pod nginx-deployment-67594d6bf6-9gdvr
Name:               nginx-deployment-67594d6bf6-9gdvr
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               node-1/10.168.0.3
Start Time:         Thu, 16 Aug 2018 08:48:42 +0000
Labels:             app=nginx
                    pod-template-hash=2315082692
Annotations:        <none>
Status:             Running
IP:                 10.32.0.23
Controlled By:      ReplicaSet/nginx-deployment-67594d6bf6
...
Events:
 
  Type     Reason                  Age                From               Message
 
  ----     ------                  ----               ----               -------
  
  Normal   Scheduled               1m                 default-scheduler  Successfully assigned default/nginx-deployment-67594d6bf6-9gdvr to node-1
  Normal   Pulling                 25s                kubelet, node-1    pulling image "nginx:1.7.9"
  Normal   Pulled                  17s                kubelet, node-1    Successfully pulled image "nginx:1.7.9"
  Normal   Created                 17s                kubelet, node-1    Created container
  Normal   Started                 17s                kubelet, node-1    Started container

在 kubectl describe 命令返回的结果中,你可以清楚地看到这个 Pod 的详细信息,比如它的 IP 地址等等。其中,有一个部分值得你特别关注,它就是

Events(事件)

在 Kubernetes 执行的过程中,对 API 对象的所有重要操作,都会被记录在这个对象的 Events 里,并且显示在 kubectl describe 指令返回的结果中。

比如,对于这个 Pod,我们可以看到它被创建之后,被调度器调度(Successfully assigned)到了 node-1,拉取了指定的镜像(pulling image),然后启动了 Pod 里定义的容器(Started container)。

所以,这个部分正是我们将来进行

Debug 的重要依据。如果有异常发生,你一定要第一时间查看这些 Events,往往可以看到非常详细的错误信息

  • 进入pod
kc exec -it <pod名> sh
  • 删除deployment
kc delete -f nginx-deployment.yaml
  • 检查节点上各系统pod的状态
kc get pos -n kube-system



版权声明:本文为takingmytime原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。