配置文件路径(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
配置文件路径(二进制)
- 7.证书路径:
/opt/kubernetes/ssl
- 8.token 文件路径:
/opt/kubernetes/cfg/token.csv
- 9.配置文件路径:
/opt/kubernetes/cfg/kube-apiserver.conf
官方文档
集群信息
- 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
- 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 <资源类型> <资源名称>
-
- 回滚到指定版本
kubectl rollout undo <资源类型> <资源名称> --to-reversion=<版本号>
- 10.查看历史版本
kubectl rollout history <资源类型> <资源名称>
-11.查看网络策略
kubectl get networkpolicy
监控&日志
- 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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于