常用的脚本
· 396 字 · 约 2 分钟
docker
安装 docker
1
2
|
sudo curl -fsSL https://getdocker.jimyag.workers.dev/ | sh
sudo usermod -a -G docker $USER
|
删除几点前的所有文件
1
|
find ./ -type f -not -newermt "$(date '+%Y-%m-%d 22:00:00')" -delete
|
按照 ip 进行排序
1
|
tailscale status | awk '{print $1 ,$2}' | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4
|
设置系统时区
1
|
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
提取主机名并去重
1
|
cat host.yml | grep yzh | sed 's/://g' | tr -d ' ' | sort|uniq | tr '\n' ',' | sed 's/,$//g'
|
- sed ’s/://g’: 移除行中的冒号。
- tr -d ’ ‘: 删除行中的空格。
- sort: 对结果进行排序,以便 uniq 可以有效工作。
- uniq: 去重相邻的重复行。
- tr ‘\n’ ‘,’: 将换行符替换为逗号。
- sed ’s/,$//g’: 去掉末尾的逗号。
cpu/内存 使用最高的 10 个进程
1
2
|
ps -eo pid,ppid,user,command,%cpu,%mem --sort=-%cpu | head -n 10
ps -eo pid,ppid,user,command,%cpu,%mem --sort=-%mem | head -n 10
|
k8s 常用命令
通过机器过滤 pod
1
|
kubectl get po --field-selector=spec.nodeName=node1 -A
|
查看 pod 的描述
1
|
kubectl describe po -n spark xxxx
|
删除执行成功的 pod
1
2
|
kubectl delete pod -n spark --field-selector=status.phase=Succeeded
kubectl delete po -n spark --field-selector status.phase=Succeeded
|
运行一个测试 pod
1
|
kubectl run test-pod --namespace=test --image=busybox --command -- sleep 3600
|
查看 pod 指定 container 之前的日志
1
|
kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
|
查看包含某个 label 的 pod 的日志
1
|
kubectl logs -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx --since=1m -f
|
进入某个 container
1
|
kubectl exec -it -n defy yzh-flume-qdcdn-ngxerr-67df54b9c5-ppwl5 --container=flume-metrics -- bash
|
helm 渲染 chart 结果
1
|
helm template --debug -f test_values.yaml <chart name or chart path>
|
给某个 node 打上标签
1
|
kubectl label node node1 node-role.kubernetes.io/ingress=
|
给某个 node 删掉标签
1
|
kubectl label node node1 node-role.kubernetes.io/prometheus-
|
覆盖某个 node 的标签
1
|
kubectl label nodes node1 test=false --overwrite
|
查询某个 node 的标签
1
|
kubectl get nodes node1 node2 --show-labels
|
重启 pod
1
2
|
kubectl rollout restart deployment -n spark test
kubectl delete pod -n spark test-67df54b9c5-ppwl5
|
从 pod 中拷贝文件
1
2
3
|
kubectl cp spark/test-67df54b9c5-ppwl5:/app/logs/flume-metrics.log ./
kubectl cp ./test.sh spark/test-67df54b9c5-ppwl5:/app/logs/
|
回滚服务
1
2
3
4
5
|
# 查看服务版本
helm history -n spark test
# 回滚到 4 版本
helm rollback -n spark test 4
|
下线某个 node
1
2
3
4
5
6
7
8
|
# 标记 node 为不可调度
kubectl cordon node1
# 驱逐 node 上的 pod
kubectl drain node1 --ignore-daemonsets --delete-emptydir-data
# 删除 node
kubectl delete node node1
|
或者使用 kubespary 中的下线功能