k8s容器化数据库方案(持久化存储)
参考链接https://blog.csdn.net/zhuchance/article/details/86468137使用了nfs阿里云上的nfs服务做数据持久的,熟悉docker的朋友都知道docker适合无状态的服务,而其实MySQL是需要持久化数据的,所以这里使用了nfs(阿里云提供的),自己搭建也是可以的,或者是用hostpath也是可以的,为什么推荐这俩,因为简单,新手很...
·
参考链接
https://blog.csdn.net/zhuchance/article/details/86468137
使用了nfs阿里云上的nfs服务做数据持久的,熟悉docker的朋友都知道docker适合无状态的服务,而其实MySQL是需要持久化数据的,所以这里使用了nfs(阿里云提供的),自己搭建也是可以的,或者是用hostpath也是可以的,为什么推荐这俩,因为简单,新手很容易上手,而越是简单的东西越是好维护.
1. nfs
---
apiVersion: v1
kind: Service
metadata:
name: mysql-youdomain-service
labels:
version: "1.0"
spec:
type: NodePort
ports:
- port: 3306
protocol: TCP
targetPort: 3306
selector:
name: mysql-chezhibao
version: "1.0"
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mysql-youdomain
labels:
name: mysql-youdomain
version: "1.0"
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
name: mysql-youdomain
version: "1.0"
spec:
volumes:
- name: sqldata
nfs:
path: /mysql/youdomain/data
server: youNFS Service address
###这里放mysql的逻辑备份文件,注意文件格式是.sql的
- name: sqldump
nfs:
path: /mysql/youdomain/docker-entrypoint-initdb.d/
server: youNFS Service address
###这里是挂载mysql的配置文件
- name: conf
nfs:
path: /mysql/conf
server: youNFS Service address
containers:
- name: msql-youdomain
image: mysql:5.7
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 1Gi
ports:
- containerPort: 3306
protocol: TCP
env:
- name: MYSQL_ROOT_PASSWORD
value: "password"
# - name: --lower-case-table-names
# value: "1"
volumeMounts:
- name: sqldata
mountPath: /var/lib/mysql/
- name: sqldump
mountPath: /docker-entrypoint-initdb.d/
- name: conf
mountPath: /etc/mysql/conf.d
2. Hostpath
https://blog.csdn.net/asdf57847225/article/details/78517172
kind: ReplicationController
metadata:
name: my-mysql-v1
namespace: default
labels:
name: my-mysql
version: v1
spec:
replicas: 1
selector:
name: my-mysql
version: v1
template:
metadata:
labels:
name: my-mysql
version: v1
spec:
containers:
- image: f-registry:5000/mysql
name: my-mysql-v1
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: abcd123
volumeMounts:
- name: mysql-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-storage
hostPath:
path: /data/mysql
更多推荐
已为社区贡献12条内容
所有评论(0)