mysql 单点_k8s mysql 单点部署

参考官网:https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/

20-nproc.conf

*soft nproc unlimited

root soft nproc unlimited

limits.conf

# End of file* soft core 0

* hard core 0

* soft nofile 655360

* hard nofile 655360

senyint.conf

[[email protected] mysql5.7.20]# cat senyint.cnf

[mysqld]

server-id = 11port= 3306user=mysql

autocommit= 1character_set_server=utf8mb4

skip_name_resolve= 1max_connections= 3000max_connect_errors= 1000transaction_isolation= READ-COMMITTED

join_buffer_size=128M

tmp_table_size=64M

tmpdir= /tmp

max_allowed_packet=64M

interactive_timeout= 1200wait_timeout= 600read_buffer_size=16M

read_rnd_buffer_size=8M

sort_buffer_size=8M

explicit_defaults_for_timestamp=true

Dockerfile

[[email protected] mysql5.7.20]# cat Dockerfile

FROM docker.io/mysql:5.7.20MAINTAINER fengjianENV TZ"Asia/Shanghai"ENV TERM xterm

ENV MALLOC_ARENA_MAX=1ADD localtime/etc/ADD20-nproc.conf /etc/security/limits.d/ADD limits.conf/etc/security/ADD senyint.cnf/etc/mysql/mysql.conf.d/ADD senyint.cnf/etc/mysql/conf.d/#RUN rm/var/lib/mysql/lost+found -rf

docker build -t 192.168.200.10/source/mysql:5.7.20 .

docker push 192.168.200.10/source/mysql:5.7.20

部署到k8s中

[[email protected] mysql]# cat mysql-secret.yaml

apiVersion: v1

kind: Secret

metadata:

name: mysql-secretsnamespace: prodpay

#type: Opaque

data:

root-password: QWJjZCwxMj222M0

[[email protected] mysql]# cat mysql_pvc.yaml

kind: PersistentVolumeClaim

apiVersion: v1

metadata:namespace: prodpay

name: mysql-pvc

spec:

storageClassName: ceph-rbd-dalianpay

accessModes:-ReadWriteOnce

resources:

requests:

storage: 100Gi

[[email protected] mysql]# cat mysql.yaml

apiVersion: apps/v1beta2

kind: Deployment

metadata:

name: mysqlnamespace: prodpay

spec:

selector:

matchLabels:

app: mysql

replicas:1template:

metadata:

labels:

app: mysql

spec:

containers:- image: 192.168.200.10/source/mysql:5.7.20imagePullPolicy: Always

name: mysql

#command: ["rm","-rf","/var/lib/mysql/lost+found"]

ports:- containerPort: 3306resources:

requests:

cpu:4memory: 4Gi

limits:

cpu:8memory: 8Gi

env:-name: MYSQL_ROOT_PASSWORD

valueFrom:

secretKeyRef:

name: mysql-secrets

key: root-password

volumeMounts:- mountPath: /var/lib/mysql

subPath: mysql #如果不加subpath,那么就会报[ERROR] --initialize specified but the data directory has files in it. Aborting.目录不为空,使用subpath基础表信息会记录在/var/lib/mysql/mysql下

name: data

volumes:-name: data

persistentVolumeClaim:

claimName: mysql-pvc---apiVersion: v1

kind: Service

metadata:

name: mysqlnamespace: prodpay

spec:

ports:-name: mqsql

port:3306targetPort:3306selector:

app: mysq

原文:https://www.cnblogs.com/fengjian2016/p/9851695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
k8s部署单机版的MySQL数据库需要使用一系列资源对象,如Namespace、Pod、Deployment、Service、PV、PVC、Secret等。首先,需要了解k8s的基础概念和使用方法。在部署MySQL之前,需要提供数据持久化存储,即volume。接下来,按照以下步骤进行部署: 1. 创建持久化卷(PV)和持久化卷声明(PVC)资源,可以使用命令 `k apply -f pv_mysql.yaml` 和 `k apply -f pvc_mysql.yaml`。 2. 创建Deployment资源,指定MySQL容器的镜像、环境变量、挂载卷等配置,可以使用命令 `k apply -f deploy_mysql.yaml`。 3. 创建Service资源,用于暴露MySQL容器的网络端口,可以使用命令 `k apply -f svc_mysql.yaml`。 执行以上步骤后,k8s会自动创建并部署MySQL数据库。请确保按照指定的顺序执行命令。通过以上步骤,你可以在k8s中成功部署单机版的MySQL数据库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [k8s实战之MySQL单实例部署](https://blog.csdn.net/tianxingzhe37/article/details/124652286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [k8s集群安装部署单机MySQL(使用StorageClass作为后端存储)](https://blog.csdn.net/alwaysbefine/article/details/125633538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值