码块
apiVersion: v1
kind: Service
metadata:
name: mymariadb
labels:
app: mymariadb
spec:
ports:
- port: 3306
name: mysql
targetPort: mysql
nodePort: 30003
type: NodePort
selector:
app: mymariadb
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mymariadb
labels:
app: mymariadb
spec:
serviceName: "mymariadb"
selector:
matchLabels:
app: mymariadb
template:
metadata:
labels:
app: mymariadb
spec:
containers:
- name: mariadb
image: mariadb:10.3.7
env:
- name: MYSQL_ROOT_PASSWORD
value: xxxx
ports:
- name: mysql
containerPort: 3306
volumeMounts:
- name: data
mountPath: /data
subPath: mysql
- name: conf
mountPath: /etc/mysql # /conf.d removing files
resources:
requests:
cpu: 500m
memory: 2Gi
volumes:
- name: data
nfs:
server: 10.12.32.41
path: /data/mymariadb
spec:
persistentVolumeReclaimPolicy: Retain # not taking
- name: conf
configMap:
name: mycustconf
items:
- key: my.cnf
path: my.cnf发布于 2019-03-18 08:59:51
首先,由于两个原因,我没有建议在Kubernetes平台上安装nfs。从安全角度来看,另一个容器可以访问工作节点上的nfs挂载。第二,从性能角度看,与另一种解决方案相比,工作节点与存储之间的连接将更慢。如您所知,性能对于db连接非常关键。我觉得你应该评估一下。
我建议你使用云原生仓库之一。您可以在下面的链接中查看它们。Ceph和Gluster是很受欢迎的产品。
https://landscape.cncf.io/category=cloud-native-storage&format=card-mode&grouping=category
如果您真的想继续使用nfs解决方案,可以检查两点:
1)您检查了存储设备上的访问列表吗?您应该看到nfs挂载的工作节点。
2)尝试在工作节点上挂载nfs存储后,可以尝试导入kubernetes集群上的部署。
https://stackoverflow.com/questions/55215975
复制相似问题