目录
kubernetes常用命令
/    

kubernetes常用命令 置顶!

配置文件路径(kubeadm)

  • 1.kubeectl读取集群配置文件路径:~/.kube/config
  • 2.静态pod工作目录:/etc/kubernetes/manifests/
  • 3.kubelet配置文件路径:/var/lib/kubelet/config.yaml
  • 4.docker日志文件路径:/var/lib/docker/containers/<container-id>/<container-id>-json.log
  • 5.emptyDir路径:/var/lib/kubelet/pods/<pod-id>/volumes/kubernetes.io~empty-dir/

集群信息

  • 1.指定配置文件查看集群(适用于用户连接集群的方式)
kubectl get pod --kubecofig=.kube/config

解析:~/.kube/config为默认配置文件路径

  • 2.获取k8s-dashboard访问token(适用于程序连接集群的方式)
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
  • 3.切换集群环境:
kubectl config use-context test 

注意:master节点复用两个角色,即做master也做node,master一般也不会跑业务

  • 4.查看集群节点:
kubectl get node
  • 5.查看master组件状态
kubectl get cs 
  • 6.查看集群状态
kubectl cluster-info (dump)
  • 7.查看当前节点的资源信息:
    kubectl describe node <node-name>

  • 8.给节点打标签

kubectl label nodes <node-name> key=value 
  • 9.查看节点所有的标签
kubectl get nodes <node-name> --show-labels
  • 10.给节点设置污点
kubectl taint node <node-name> key=value:<effect>
  • 11.去掉节点污点
kubectl taint node <node-name> key:<effect>-
  • 12.查看节点污点:
kubectl describe node <node-name> | grep Taint

资源

  • 1.查看资源信息
kubectl describe <资源类型> <资源名>

kubectl get <资源类型> -o wide
  • 2.删除资源
kubectl delete <资源类型> <资源名>
  • 3.实时查看资源动态
kubectl get <资源类型> -w

-w--watch的缩写

  • 4.查看所有命名空间的资源
kubectl get <资源类型> -A
  • 5.查看指定命令空间下的资源
kubectl get <资源类型> -n <命名空间>
  • 6.查看副本集
kubectl get rs
  • 7.删除所有资源
kubectl delete `kubectl get <资源类型> -o name`
  • 8.查看daemonset
kubectl get ds -n <namespace>
  • 9.查看资源所有的标签
kubectl get <资源类型> <资源名> --show-labels
  • 10.查看指定标签的资源
kubectl get <资源类型>  -l key=value
  • 11.查看Service关联的某些Pod
kubectl get ep
  • 12.查看创建的Ingress
kubectl get ing

应用

  • 1.快速部署一个deployment应用
kubectl create deployment <名称> --image=<镜像名称>
  • 2.应用发布
kubectl expose <资源类型> <名称> --port=<集群内部访问的端口号> --target-port=<镜像中服务的端口号,应用的端口号> --name=<为资源起的名称> --type=<发布类型>
  • 3.从官方文档中查看资源字段(支持.层级),建议用grep过滤
kubectl explain <资源类型>
  • 4.应用升级
kubectl set image <资源类型> <资源名称> <容器名>=<镜像名称:版本号>
  • 5.查看应用升级状态
kubectl rollout status <资源类型> <资源名称>
  • 6.查看应用副本集
kubectl get rs
  • 7.对应用进行副本集伸缩
kubectl scale deployment <资源名称> --replicas=<副本集数量>
  • 8.对副本集进行弹性伸缩
kubectl autoscale deployment <资源名称> --min=<最小副本数> --max=<最大副本数> --cpu-percent=<cpu利用率>
  • 8.回滚到上个版本
kubectl rollout undo <资源类型> <资源名称>
    1. 回滚到指定版本
kubectl rollout undo <资源类型> <资源名称> --to-reversion=<版本号>
  • 10.查看历史版本
kubectl rollout history <资源类型> <资源名称>

监控&日志

  • 1.根据cpu或者内存对资源进行排序
kubectl top <资源类型> --sory-by=<cpu/memory>
  • 2.查看pod日志
kubectl logs <pod名称> -n <命名空间> --tail  <显示最后的行数>
  • 3.查看一个pod中指定某个容器的日志
kubectl logs -f <pod名称> -c <容器名称>

网络

  • 1.查看Service网络规则
iptables-save | grep <svc-name>
  • 2.解析dns名称
nslookup <dns名称(svc名称)>
  • 3.查看本机dns
cat /etc/resolv.conf

“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill

标  题kubernetes常用命令
作  者Leif160519
出  处https://leif.fun/articles/2020/06/17/1592403902342.html
关于博主:坐标南京,运维工程师,如有问题探讨可以直接下方留言。
声援博主:如果您觉得文章对您有帮助,可以评论、订阅、收藏。您的鼓励是博主的最大动力!