参考官网: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
* hard core
* soft nofile
* hard nofile

senyint.conf

[root@harbor mysql5.7.20]# cat  senyint.cnf
[mysqld]
server-id =
port =
user = mysql
autocommit =
character_set_server=utf8mb4
skip_name_resolve =
max_connections =
max_connect_errors =
transaction_isolation = READ-COMMITTED
join_buffer_size = 128M
tmp_table_size = 64M
tmpdir = /tmp
max_allowed_packet = 64M
interactive_timeout =
wait_timeout =
read_buffer_size = 16M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
explicit_defaults_for_timestamp=true

Dockerfile

[root@harbor mysql5.7.20]# cat Dockerfile
FROM docker.io/mysql:5.7. MAINTAINER fengjian <fengjian@senyint.com>
ENV TZ "Asia/Shanghai"
ENV TERM xterm
ENV MALLOC_ARENA_MAX= ADD localtime /etc/
ADD -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中

[root@master1 mysql]# cat mysql-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysql-secrets
namespace: prodpay
#type: Opaque
data:
root-password: QWJjZCwxMj222M0
[root@master1 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
[root@master1 mysql]# cat mysql.yaml
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: mysql
namespace: prodpay
spec:
selector:
matchLabels:
app: mysql
replicas:
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: 192.168.200.10/source/mysql:5.7.
imagePullPolicy: Always
name: mysql
#command: ["rm","-rf","/var/lib/mysql/lost+found"]
ports:
- containerPort:
resources:
requests:
cpu:
memory: 4Gi
limits:
cpu:
memory: 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: mysql
namespace: prodpay
spec:
ports:
- name: mqsql
port:
targetPort:
selector:
app: mysq

k8s mysql 单点部署的更多相关文章

  1. 在k8s集群部署SonarQube

    目录 1.2.存储环境 1.3.sonarqube版本 2.部署sonarqube 2.1.部署PostgreSQL 2.2.部署SonarQube 2.3.访问检查 SonarQube 是一款用于代 ...

  2. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  3. 【转】Nginx+php-fpm+MySQL分离部署详解

    转:http://www.linuxidc.com/Linux/2015-07/120580.htm Nginx+php-fpm+MySQL分离部署详解 [日期:2015-07-26] 来源:Linu ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  8. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  9. (视频)asp.net core系列之k8s集群部署视频

    0.前言 应许多网友的要求,特此录制一下k8s集群部署的视频.在录制完成后发现视频的声音存在一点瑕疵,不过不影响大家的观感. 一.视频说明 1.视频地址: 如果有不懂,或者有疑问的欢迎留言.视频分为两 ...

随机推荐

  1. SpringMVC4+MyBatis+SQL Server2014实现读写分离

    前言 基于mybatis的AbstractRoutingDataSource和Interceptor用拦截器的方式实现读写分离,根据MappedStatement的boundsql,查询sql的sel ...

  2. Spring JDBCTemplate连接SQL Server之初体验

    前言 在没有任何框架的帮助下我们操作数据库都是用jdbc,耗时耗力,那么有了Spring,我们则不用重复造轮子了,先来试试Spring JDBC增删改查,其中关键就是构造JdbcTemplate类. ...

  3. Ajax之跨域请求

    一.引子 我现在开启了两个django项目,分别叫Demo1和Demo2,Demo1中有一个路径‘http://127.0.0.1:8000/index/’,对应的视图是index视图返回一个inde ...

  4. [翻译]EntityFramework Core 2.2 发布

    原文来源 TechViews 今天我们将推出EF Core 2.2的最终版本,以及ASP.NET Core 2.2和.NET Core 2.2 .这是我们的开源和跨平台对象数据库映射技术的最新版本. ...

  5. csharp: Setting the value of properties reflection

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. ORM框架EF

    应用程序和数据库采用Tcp协议通讯 ORM框架有: NHibernate ,Dapper ,Mybatis 底层是 ADO.Net 好处: 1.面向对象 2.没有sql减少学习成本,快速开发 3.编译 ...

  7. WebFrom 【文件上传】

    文件上传 准备工作1.文件上传的页面2.上传文件要保存的文件夹 1.只要将文件传上来就行 //1.获取要上传的文件,并且知道要上传到服务器的路径 string s = "Uploads/aa ...

  8. 终端复用软件 tmux

    Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权. Tmux 所使用的快捷键前缀默认是组合键 Ctrl-b(同时按下 Ctrl 键和 b 键). 技巧 ...

  9. 【代码笔记】Web-HTML-图像

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  10. for each....in、for in、for of

    一.一般的遍历数组的方法: var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,a ...