linux 命令
错误日志重定向
echo "123" >> test.txt 2>&1 #把输出的日志和错误日志输出到这个txt的文件中
for 循环命令
for i in 0 1 2 3 4 ;do ssh root@192.168.100.21$i "ls" ;done
for i in 1 2 3 4 ;do scp /etc/sysctl.d/k8s.conf root@192.168.100.21$i:/etc/sysctl.d/k8s.conf ;done
du -sh * | sort -rn # 查看当前目录以从小到大的磁盘空间
systemctl list-unit-files --type service |grep httpd # 查看一个服务是不是开机自启动
find -name "*.txt" -exec rm -f '{}' \; --- ind . -name "*.txt" | xargs rm -rf #删除所以以.txt结尾的文件
find -type f ! -name "5.txt"|xargs rm -f # 删除以.txt的文件保留5.txt
mount -t nfs 172.28.104.92:/nfs/ /data/ # nfs 挂载
showmount -e 172.28.104.92 #查看有哪些挂载目录
cat /proc/cpuinfo | grep 'process' | sort | uniq | wc -l #查看cpu有几核
systemctl list-unit-files #列出所有服务以及状态
for i in `ls | grep gpdb-2020-07 | grep -v 07-30 |grep -v 07-31 `;do rm -rf $i;done #
rm -rf !(*1.txt|*.2.txt) # 删除当前目录下的所有文件 以保留这个俩个
大于100k的文件移动到/tmp 目录下
find /usr/local/test/ -size +100k -exec mv {} /tmp \; 如果只需要移动文件不移动目录,find /usr/local/test/ -size +100k -type f -exec mv {} /tmp \;
不下载这个页面无线访问
while true; do wget -q -O- http://10.100.153.142:80 > /dev/null ;done
密文密码查看
echo -n "password" | base64 #(password)这是指的是密码
cGFzc3dvcmQ=
查询密文密码(解锁1)
echo "d2poMTIzLi4=" | base64 --decode
linux内网地址查看外网地址
curl members.3322.org/dyndns/getip (外网机器)
在线扩容
echo 1 > /sys/block/sda/device/rescan 如果在线扩容发现 lsblk 看不到扩容后的大小,使用这条命令重新扫描存储设备的scsi总线
yum install cloud-utils-growpart
LANG=en_US.UTF-8
growpart /dev/sda $(number)
resize2fs /dev/vda2
docker 命令
反推镜像打出构建出来的dockerfile的过程
docker history --format {{.CreatedBy}} --no-trunc=true imagesName:V|sed "s?/bin/sh\ -c\ \#(nop)\ ??g"|sed "s?/bin/sh\ -c?RUN?g" | tac #反推imagesName:V 为镜像的版本号
k8s命令
`kubectl set image deployment/tomcat-deployment tomcat=tomcat:9.0.30` #(tomcat 更新的镜像)
kubectl edit deployment deployment名称 #(也可以进入配置里面更改)
kubectl rollout status deployment/tomcat-depl #(查看更新状态)
kubectl describe pod tomcat-depl-cb7fb7ddd-7rnd9 # (查看pod的名称是否正常也可以查看deployment的状态) ------kubectl describe deployment tomcat-depl # ( 查看这个的详细信息)
kubectl get rs #(可以查看刚才更新的俩个pod)
kubectl rollout history deployment nginx (查看deployment的历史更新版本)
kubectl rollout status deployment tomcat-depl (可以看到他的状态)
kubectl rollout undo deployment tomcat-depl (回滚到上一个版本)
kubectl describe deployment tomcat-depl (查看状态是否回滚成功)
kubectl rollout pause deployment tomcat-depl (可以停止这个deployment的更新操作)
更改k8s deployment的副本数量
kubectl scale deployment tomcat-depl --replicas=2(更改数量为2) #添加或增减一个副本数量
绑定一个node节点
kubectl cordon k8s-node-1 #绑定
kubectl uncordon k8s-node-1 #取消
重启一个deployment
kubectl rollout restart deployment tomcat
永久删除一个pod
kubectl delete pod pod的名字 --grace-period=0 --force
查看这node节点上运行哪些pod服务
kubectl get pod --field-selector=spec.nodeName=node01
查看node节点上绑定了哪些labels 标签
kubectl get node --show-labels
查看k8s集群的工作模式kube-proxy
netstat -anuputl | grep kube-proxy
curl 127.0.0.1:10249/proxyMode
`kubectl get componentstatuses` 查看集群的状态
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod 删除带有Evicted的pod (带Evicted这样的pod是被驱逐的)
HPA 命令 (这个修改deploumnet nginx 当cpu大于50% 自动扩容pod的数量最大扩容2个)
kubectl autoscale deployment nginx --cpu-percent=50 --max=2
更新confmap的地址
kubectl create configmap nginx-conf --from-file=index.html --dry-run -oyaml | kubectl replace -f-
数据库
查询一个实例所有库的大小
SELECT
table_schema,SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 AS total_mb
FROM information_schema.TABLES group by table_schema;
记录问题 k8s helm 问题
更改secret status模式更改成为 deployed
下一次部署就不会出现 问题
dmesg -T