暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

k8s自动化运维六

平凡人笔记 2022-09-01
152

上文k8s自动化运维五-搭建共享文件存储

linux查看文件大小

du -hs /usr/* | sort -rh | head -n 10

删除未使用的镜像,只保留正在运行的镜像

docker image prune -a

docker日志文件太大

通过这个命令du -hs /var/* | sort -rh | head -n 10可以定位到这个日志文件太大了,比如175G
/var/lib/docker/containers/932fca1413495d30d65ebb53618abeff39c484684e5e2f8d4659ac6c46531f80/932fca1413495d30d65ebb53618abeff39c484684e5e2f8d4659ac6c46531f80-json.log


## 临时处理的做法:

cat /dev/null > *-json.log

## 永久做法

vim /etc/docker/daemon.json

{
    "log-driver":"json-file",
    "log-opts":{
        "max-size":"10m",
        "max-file":"2"
    }


}
# 重启docker服务


sudo systemctl daemon-reload
sudo systemctl restart docker

mysql binlog日志文件太大

查看mysql的数据目录,发现有130G,

其中大部分都是mysql-0-bin文件,之前的文章介绍过binlog备份的过程,这里做下改进,比如有1000个binlog文件,仅对编号大于500的binlog文件做备份,为什么这么改进呢,因为假设0-500的文件已经备份过了,再次备份已经没有必要了

另外为了节省磁盘空间,可以对0-500这些binlog文件做压缩,然后从服务器上下载到比如固态硬盘里面,然后把这些文件从备份目录里面删除,达到节省磁盘空间的目标。

上面是对binlog备份目录文件进行的操作,也可以对mysql数据目录中的binlog文件做删除操作,

1、先停掉mysql服务
2、删除mysql-bin打头的文件(mysql-bin.index除外)
3、修改mysql-bin.index文件,将删除了的文件名从该文件中删除
4、重启mysql服务

nginx http文件流大小设置

nginx日志报错:

an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/14/0000000143 while reading upstream, client: 172.70.10.1, server: localhost...

  • client_header_timeout

    客户端向服务端发送一个完整的 request header 的超时时间

  • client_body_timeout

    客户端向服务端发送 request body 的超时时间

  • send_timeout

    客户端两次读取的耗时超过默认时间60s,客户端将不会再接受数据

  • proxy_connect_timeout

    后端服务器连接的超时时间_发起握手等候响应超时时间

  • proxy_read_timeout

    连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)

  • proxy_send_timeout

    后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据

  • nginx使用proxy模块时,默认的读取超时时间是60s

nginx跨域配置-域名内访问localhost或127.0.0.1

升级谷歌浏览器最新chrome94版本后,提示Access to XMLHttpRequest at '[http://localhost:xxxx/api]' from origin '[http://xxx.xxx.com:x]' has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space `local`.

  • 打开浏览器,进入chrome://flags/

  • 搜索Block insecure private network requests

  • 设置为Disabled,重启就行了

  • 使用场景

伪终端

伪终端由终端模拟器提供,终端模拟器是一个运行在用户态的应用程序。

在使用docker exec -it 或 kubectl exec -it 的时候 如果报错the input device is not a TTY
解决方法是去掉-t
-t是指分配一个伪终端,这里不需要分配伪终端

升级node版本

export N_NODE_MIRROR=https://npm.taobao.org/mirrors/node
sudo -E n stable

服务器出口ip

curl ifconfig.me


文章转载自平凡人笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论