1. List item

1.准备好image 本人提供阿里云镜像仓库 mysql8.0

     registry.cn-shenzhen.aliyuncs.com/dylan-ns/mysql:8.0

2. 制作 configmap 存储配置文件

在这里插入图片描述
mysql的默认配置是 /etc/mysql/my.cnf
docker 启动 mysql的指令
docker run -p 3306:3306 --name mysql
-v /mydata/log:/var/log/mysql
-v /mydata/data: /var/lib/mysql
-v /mydata/conf: /etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=root
–restart=always
-d mysql:8.0

apiVersion: v1
data:
my.cnf: |+
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

apiVersion: v1
data:
my.cnf: |+
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

kind: ConfigMap
metadata:
name: mysql-conf
namespace: ruoyi

准备pv pvc

pv
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: mysql-pvc
namespace: ruoyi
nfs:
path: /data/nfs/mysql
server: 192.168.229.205
persistentVolumeReclaimPolicy: Retain
volumeMode: Filesystem


pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
namespace: ruoyi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: ‘’
volumeMode: Filesystem
volumeName: mysql-pv
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi


准备STS

apiVersion: apps/v1
kind: StatefulSet
metadata:
annotations:
field.cattle.io/publicEndpoints: ‘null’
creationTimestamp: ‘2023-12-25T14:33:14Z’
generation: 1
labels:
workload.user.cattle.io/workloadselector: apps.statefulset-ruoyi-mysql-svc
managedFields:
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:field.cattle.io/publicEndpoints: {}
f:labels:
.: {}
f:workload.user.cattle.io/workloadselector: {}
f:spec:
f:podManagementPolicy: {}
f:replicas: {}
f:revisionHistoryLimit: {}
f:selector: {}
f:serviceName: {}
f:template:
f:metadata:
f:labels:
.: {}
f:app: {}
f:workload.user.cattle.io/workloadselector: {}
f:namespace: {}
f:spec:
f:affinity: {}
f:containers:
k:{“name”:“mysql”}:
.: {}
f:env:
.: {}
k:{“name”:“MYSQL_ROOT_PASSWORD”}:
.: {}
f:name: {}
f:value: {}
f:image: {}
f:imagePullPolicy: {}
f:name: {}
f:ports:
.: {}
k:{“containerPort”:3306,“protocol”:“TCP”}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
f:resources: {}
f:securityContext:
.: {}
f:allowPrivilegeEscalation: {}
f:privileged: {}
f:readOnlyRootFilesystem: {}
f:runAsNonRoot: {}
f:terminationMessagePath: {}
f:terminationMessagePolicy: {}
f:volumeMounts:
.: {}
k:{“mountPath”:“/etc/my.cnf”}:
.: {}
f:mountPath: {}
f:name: {}
f:subPath: {}
k:{“mountPath”:“/var/lib/mysql”}:
.: {}
f:mountPath: {}
f:name: {}
f:dnsPolicy: {}
f:imagePullSecrets:
.: {}
k:{“name”:“docker-secret-aliyun”}: {}
f:restartPolicy: {}
f:schedulerName: {}
f:securityContext: {}
f:terminationGracePeriodSeconds: {}
f:volumes:
.: {}
k:{“name”:“mysql-cm”}:
.: {}
f:configMap:
.: {}
f:defaultMode: {}
f:name: {}
f:name: {}
k:{“name”:“mysql-pv”}:
.: {}
f:name: {}
f:persistentVolumeClaim:
.: {}
f:claimName: {}
f:updateStrategy:
f:rollingUpdate:
.: {}
f:partition: {}
f:type: {}
manager: rancher
operation: Update
time: ‘2023-12-25T15:36:34Z’
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:status:
f:availableReplicas: {}
f:collisionCount: {}
f:currentReplicas: {}
f:currentRevision: {}
f:observedGeneration: {}
f:readyReplicas: {}
f:replicas: {}
f:updateRevision: {}
f:updatedReplicas: {}
manager: kube-controller-manager
operation: Update
subresource: status
time: ‘2024-04-06T02:36:00Z’
name: mysql-svc
namespace: ruoyi
resourceVersion: ‘2499227’
uid: 7b6ed14c-3d62-419c-b18a-33afc6f6f469
spec:
podManagementPolicy: OrderedReady
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.statefulset-ruoyi-mysql-svc
serviceName: mysql-svc-hls
template:
metadata:
creationTimestamp: null
labels:
app: mysql
workload.user.cattle.io/workloadselector: apps.statefulset-ruoyi-mysql-svc
namespace: ruoyi
spec:
affinity: {}
containers:
- env:
- name: MYSQL_ROOT_PASSWORD
value: root
image: registry.cn-shenzhen.aliyuncs.com/dylan-ns/mysql:8.0
imagePullPolicy: IfNotPresent
name: mysql
ports:
- containerPort: 3306
name: 3306tcp
protocol: TCP
resources: {}
securityContext:
allowPrivilegeEscalation: false
privileged: false
readOnlyRootFilesystem: false
runAsNonRoot: false
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/lib/mysql
name: mysql-pv
- mountPath: /etc/my.cnf
name: mysql-cm
subPath: my.cnf
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: docker-secret-aliyun
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: mysql-pv
persistentVolumeClaim:
claimName: mysql-pvc
- configMap:
defaultMode: 420
name: mysql-conf
name: mysql-cm
updateStrategy:
rollingUpdate:
partition: 0
type: RollingUpdate
status:
availableReplicas: 1
collisionCount: 0
currentReplicas: 1
currentRevision: mysql-svc-6f68bb5cb8
observedGeneration: 1
readyReplicas: 1
replicas: 1
updateRevision: mysql-svc-6f68bb5cb8
updatedReplicas: 1



Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐