Windows下MySQL生产环境配置

Windows下MySQL生产环境配置,第1张

之前写了一篇在windows下安装MySQL的文章: https://www.jianshu.com/p/5038bf94ba6a

不过因为默认的安装配置过于简单,也没有用足生产环境下的性能,所以再此稍作补充。

服务器上可根据以下bat进行mysql定期备份,具体路径可根据实际调整

innodb_dedicated_server 参数在8.03版本中引入,是一个只能在启动时设置的global级参数。此参数设置为ON时,MySQL会根据检测到的内存大小设置innodb_buffer_pool_size、innodb_log_file_size、innodb_flush_method三个参数。有了这个参数我们就不用再写脚本根据内存大小去修改配置文件的这三个参数了。

说明:xfs文件格式,docker overlay2存储设备必须设置 ftype=1 。

强制同步时间

将普通用户添加到docker用户组

/etc/sysconfig/docker-storage

DOCKER_STORAGE_OPTIONS="--storage-driver overlay2 "

/etc/sysconfig/docker

OPTIONS=" --log-opt max-size=1M --log-opt max-file=3 --live-restore=true "

设置docker与kubelet的 cgroup driver 为systemd。OpenShift默认安装就是设置的systemd,而社区版的kubelet默认是cgroupfs,需要注意。。

添加文件

管理网:集群间组件通信,Node与Master节点通信网络

业务网:应用间网络通信,pod间网络通信

存储网:与存储设备网络通信

还可以将与外部镜像仓库的网络也考虑进去

每个网络,使用两张网卡做bond,提高网络性能及可用性。

其中管理网与业务网必须互通,否则部分组件服务将不可用。

将私有镜像仓库的CA文件拷贝到镜像仓库所在服务器的/etc/pki/ca-trust/source/anchors/目录下

为OpenShift节点设置默认的登录信息

OpenShift官方推荐规则

通常,它需要保留5%-10%的节点资源来保护节点,越高越安全。

AWS的规则:

内存预留值(AWS):

Reserved memory = 255MiB + 11MiB * MAX_POD_PER_INSTANCE

CPU预留值(AWS):

GKE的规则:

内存预留值(GKE):

CPU预留值(GKE)::

例子:2 vCPU and 7.5GB

Azure的规则:

内存预留值(Azure):

CPU预留值(Azure):

另外:

Google和亚马逊产品的hard eviction threshold 为100MB,而AKS则为750MB。

其中各证书的文件名不要使用与Master组件默认的名字重复,否则会覆盖掉组件间的自签证书。

另外可以自签证书生成长有效期的相关证书。 自签证书步骤如下:

OpenShift 3.11中默念Node的证书有效期为1年,满1年后会自动更新证书。更新证书时,该节点会向集群发送证书签发请求,批准之后才能继续添加到集群。

说明:对于已经部署好的集群可以通过执行ansible-playbook来配置

或者部署时更新以下文件内容(openshift 3.9以上)

roles/openshift_node/defaults/main.yml

将message日志只保留最近三天的日志

如果要设置普通用户可查看/var/log/messages文件,需要在/etc/rsyslog.conf配置的前面添加messages文件可读权限

做为定时任务定期作清理

ROUTER_THREADS 设置为CPU核数

ROUTER_MAX_CONNECTIONS 默认值是20000

设置页面HTML,覆盖/var/lib/haproxy/conf/error-page-503.http文件

补充 : Openshift自定义Router配置

minimum-container-ttl-duration : 容器可以进行垃圾收集的最低时长。 默认值为0,表示不限制。 可以使用单位后缀来指定此设置的值,例如h表示小时,m表示分钟,s表示秒。

maximum-dead-containers-per-container :每个pod容器要保留的实例数。 预设值为1。

maximum-dead-containers :节点中死容器总数的最大值。 默认值为-1,表示无限制。

核心步骤是:

具体操作参考笔者之前的文章: OpenShift部署时如何延长组件证书的有效期

参考文章:

linux journalctl 命令

配置 logrotate 的终极指导

Allocatable memory and CPU in Kubernetes Nodes

OpenShift容器云平台建设之部署前准备

企业级容器云平台建设之功能汇总

书接上文 flask与SQLAlchemy ,我们了解到

这一步的的测试可以看 一个小型的资源管理站

这里与直接上结果。

原flask使用的WSGI是python,但是很明显python作为HTTP解释器是效率低下的。而且,直接运行flask也是非常糟心的。比如集中配置,比如多进程多线程,比如socket通信,比如log管理,比如进程管理

将此文件放置在项目的根目录,并创建文件夹uwsgi

详见 https://www.jianshu.com/p/4c0fb2ed6083

flask+uWSGI已经能实现webserver的功能了,但是更加优秀的weberver还需要nginx的辅助。

Nginx(发音同engine x)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。

还有写拓展处理 主要看服务配置

这里 nginx -s reload 已经完成了服务配置。如果不想配置服务,直接到nginx根目录运行 ./sbin/nginx

这里给大家推荐一个不错的平台:Cloudflare

Cloudflare

在使用之前我们需要更换自己的顶级域名代理商,这一步此处以腾讯云截图:

跳过注册等过程,我们直接进入域名管理界面,看到

然后创建密钥

xxx.pem

xxx.key

再扔到服务器上去。

最后再配置nginx

总结配置flask一般形态的生产环境nginx+uwsgi+flask

回到目录


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/637387.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-19
下一篇2023-07-19

发表评论

登录后才能评论

评论列表(0条)

    保存