k8s 对接glusterfs存储
Posted yangxiaoni
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s 对接glusterfs存储相关的知识,希望对你有一定的参考价值。
service 与 endpoint 是通过namespace相同,name相同,相互关联的
创建endpoint
[root@k8s-master glusterfs]# cat glusterfs-ep.yaml
apiVersion: v1
kind: Endpoints
metadata:
name: glusterfs
namespace: tomcat
subsets:
- addresses:
- ip: 10.0.0.11
- ip: 10.0.0.12
- ip: 10.0.0.13
ports:
- port: 49152
protocol: TCP
[root@k8s-master glusterfs]# cat glusterfs-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: glusterfs
namespace: tomcat
spec:
ports:
- port: 49152
protocol: TCP
targetPort: 49152
sessionAffinity: None
type: ClusterIP
使用yml文件创建
tomcat-mysql配置文件修改
[root@k8s-master tomcat_demo]# cat mysql-rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
namespace: tomcat
name: mysql
spec:
replicas: 1
selector:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
volumes:
- name: mysql
glusterfs:
path: oldxu
endpoints: glusterfs
containers:
- name: mysql
image: 10.0.0.11:5000/mysql:5.7
volumeMounts:
- name: mysql
mountPath: /var/lib/mysql
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: '123456'
删除旧的,按照新的yml文件创建
kubectl delete -f .
kubectl create -f .
提示,这里可能会有坑,原因:数据库创建时,目录必须是空的,否则无法创建数据库,我们删除/mnt的所有数据即可
以上是关于k8s 对接glusterfs存储的主要内容,如果未能解决你的问题,请参考以下文章