Leif160519's blog Leif160519's blog

——————

目录
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/
  • 6.证书路径:/etc/kubernetes/pki

配置文件路径(二进制)

  • 1.证书路径:/opt/kubernetes/ssl
  • 2.token文件路径:/opt/kubernetes/cfg/token.csv
  • 3.配置文件路径:/opt/kubernetes/cfg/kube-apiserver.conf
  • 4.k8s工作目录:/opt/kubernetes
  • 51.etcd工作目录:/opt/etcd
  • 6.主配置文件:.conf
  • 7.资源配置文件:.yml
  • 8.连接apiserver配置文件:.kubeconfig
  • 9.systemd service文件:/usr/lib/systemd/system/kubelet.service

官方文档

集群信息

  • 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
  • 13.检查客户端证书过期时间
kubeadm alpha certs check-expiration

资源

  • 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
  • 13.查看存储类
kubectl get sc
  • 14.强制删除资源
kubectl delete <资源类型> <类型名称> --grace-period=0 --force
  • 15.查看configmap
kubectl get cm
  • 16.查看secret
kubectl get secret
  • 17.指定kubeconfig配置文件
kubectl --kubeconfig=<配置文件名> get <资源类型>

应用

  • 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 <资源类型> <资源名称>
  • 11.查看网络策略
kubectl get networkpolicy
  • 12.设置节点不可调度
kubectl cordon <node-name>
  • 13.驱逐节点上的所有pod,忽略daemonset
kubectl drain <node-name> --ignore-daemonsets

监控&日志

  • 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://github.icu/articles/2020/06/17/1592403902342.html
关于博主:坐标南京,运维工程师,如有问题探讨可以直接下方留言。
声援博主:如果您觉得文章对您有帮助,可以评论、订阅、收藏。您的鼓励是博主的最大动力!