Kubernetes 使用守护程序集运行glusterfs群集
我一直在尝试在我的kubernetes群集上运行glusterfs群集,它使用以下各项:Kubernetes 使用守护程序集运行glusterfs群集,kubernetes,glusterfs,Kubernetes,Glusterfs,我一直在尝试在我的kubernetes群集上运行glusterfs群集,它使用以下各项: glusterfs service.json { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "glusterfs-cluster" }, "spec": { "type": "NodePort", "selector": { "name": "gluster" },
glusterfs service.json
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "glusterfs-cluster"
},
"spec": {
"type": "NodePort",
"selector": {
"name": "gluster"
},
"ports": [
{
"port": 1
}
]
}
}
和glusterfs server.json
:
{
"apiVersion": "extensions/v1beta1",
"kind": "DaemonSet",
"metadata": {
"labels": {
"name": "gluster"
},
"name": "gluster"
},
"spec": {
"selector": {
"matchLabels": {
"name": "gluster"
}
},
"template": {
"metadata": {
"labels": {
"name": "gluster"
}
},
"spec": {
"containers": [
{
"name": "gluster",
"image": "gluster/gluster-centos",
"livenessProbe": {
"exec": {
"command": [
"/bin/bash",
"-c",
"systemctl status glusterd.service"
]
}
},
"readinessProbe": {
"exec": {
"command": [
"/bin/bash",
"-c",
"systemctl status glusterd.service"
]
}
},
"securityContext": {
"privileged": true
},
"volumeMounts": [
{
"mountPath": "/mnt/brick1",
"name": "gluster-brick"
},
{
"mountPath": "/etc/gluster",
"name": "gluster-etc"
},
{
"mountPath": "/var/log/gluster",
"name": "gluster-logs"
},
{
"mountPath": "/var/lib/glusterd",
"name": "gluster-config"
},
{
"mountPath": "/dev",
"name": "gluster-dev"
},
{
"mountPath": "/sys/fs/cgroup",
"name": "gluster-cgroup"
}
]
}
],
"dnsPolicy": "ClusterFirst",
"hostNetwork": true,
"volumes": [
{
"hostPath": {
"path": "/mnt/brick1"
},
"name": "gluster-brick"
},
{
"hostPath": {
"path": "/etc/gluster"
},
"name": "gluster-etc"
},
{
"hostPath": {
"path": "/var/log/gluster"
},
"name": "gluster-logs"
},
{
"hostPath": {
"path": "/var/lib/glusterd"
},
"name": "gluster-config"
},
{
"hostPath": {
"path": "/dev"
},
"name": "gluster-dev"
},
{
"hostPath": {
"path": "/sys/fs/cgroup"
},
"name": "gluster-cgroup"
}
]
}
}
}
}
根据我的pod定义,我正在做:
"volumes": [
{
"name": "< volume name >",
"glusterfs": {
"endpoints": "glusterfs-cluster.default.svc.cluster.local",
"path": "< gluster path >",
"readOnly": false
}
}
]
日志清楚地说明了发生了什么: 无法获取终结点glusterfs群集[未找到终结点“glusterfs群集] 因为:
"ports": [
{
"port": 1
}
在几个方面都是假的。首先,“1”端口非常可疑。其次,它在
守护进程
端没有匹配的容器端口:
,kubernetes可以指向服务
——因此,它不会为(podIP、协议、端口)
元组创建端点。由于glusterfs(合理地)希望直接联系底层的Pod
s,而无需通过服务
,因此它无法发现Pod
s,一切都会突然停止。您是否仍有此问题?这是在Google容器引擎上偶然发现的吗?我的一位同事已经成功地在K8S上部署了Gluster(可能是1/2版本,但我想这无关紧要):
"ports": [
{
"port": 1
}