flocker-docker-plugin不起作用

我有2个centos 7.1节点,我正试着让它运行。 我完全按照安装步骤进行,但运行以下命令来testingflocker-docker-plugin是否工作:

docker run -v apples:/data --volume-driver flocker busybox sh -c "echo hello > /data/file.txt"

我得到的错误:

Error response from daemon: Error looking up volume plugin flocker: Plugin not found

flocker-docker-plugin日志显示如下:

 {"request_body": null, "url": "https://foo.bar.com:4523/v1/state/nodes/by_era/b72bb203-b174-4241-a03a-6171cbc10f30", "timestamp": 1451201332.659948, "action_status": "started", "task_uuid": "1ae63069-286c-44fa-9dd2-6751ca0efe63", "action_type": "flocker:apiclient:http_request", "method": "GET", "task_level": [1]} {"task_uuid": "1ae63069-286c-44fa-9dd2-6751ca0efe63", "error": false, "timestamp": 1451201332.749499, "message": "Starting factory <twisted.web.client._HTTP11ClientFactory instance at 0x2fc7710>", "message_type": "twisted:log", "task_level": [3]} {"exception": "twisted.web._newclient.ResponseNeverReceived", "task_level": [4], "action_type": "flocker:apiclient:http_request", "reason": "[<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>>]", "timestamp": 1451201333.050012, "task_uuid": "1ae63069-286c-44fa-9dd2-6751ca0efe63", "action_status": "failed"} {"task_uuid": "c8d28668-f21b-4863-bf20-6c30f54c3d25", "error": true, "timestamp": 1451201333.05045, "message": "Unhandled Error\nTraceback (most recent call last):\nFailure: twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>>]\n", "message_type": "twisted:log", "task_level": [1]} {"task_uuid": "36f1ddd5-c5fa-4438-85d7-131e7752f8d3", "error": true, "timestamp": 1451201333.050727, "message": "main function encountered error\nTraceback (most recent call last):\nFailure: twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>>]\n", "message_type": "twisted:log", "task_level": [1]} {"task_uuid": "08bd8f13-0a8e-43f4-8b80-b4cf5b317f00", "error": false, "timestamp": 1451201333.051034, "message": "Stopping factory <twisted.web.client._HTTP11ClientFactory instance at 0x2fc7710>", "message_type": "twisted:log", "task_level": [1]} {"task_uuid": "8f0fd1ef-19ca-4033-b16f-6d42e33eda1a", "error": false, "timestamp": 1451201333.052711, "message": "Main loop terminated.", "message_type": "twisted:log", "task_level": [1]} flocker-docker-plugin.service: main process exited, code=exited, status=1/FAILURE Unit flocker-docker-plugin.service entered failed state. flocker-docker-plugin.service failed. flocker-docker-plugin.service holdoff time over, scheduling restart. Started Flocker Docker Plugin. Starting Flocker Docker Plugin... 

同时运行uft-flocker-volumes --control-service=foo.bar.net list-nodes返回:

 jonathan@ubuntu:~/Flocker/sc-test-cluster$ uft-flocker-volumes --control-service=foo.bar.com list-nodes Unhandled Error Traceback (most recent call last): Failure: twisted.web._newclient.ResponseNeverReceived [<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>>] 

更新:

我试图降级到docker1.8.2,并尝试重新运行该命令,没有工作,同样的错误。

ls / etc / flocker的输出:

 [root@sc-test2 jonathan]# ls /etc/flocker agent.yml cluster.crt node.crt node.key plugin.crt plugin.key [root@sc-test1 jonathan]# ls /etc/flocker agent.yml control-service.crt node.crt plugin.crt cluster.crt control-service.key node.key plugin.key 

更新:1/1/2016我根据kubernetes文档http://kubernetes.io/v1.1/examples/flocker/设置了以下环境variables。

 export FLOCKER_CONTROL_SERVICE_HOST=foo.bar.com export FLOCKER_CONTROL_SERVICE_CA_FILE=/etc/flocker/cluster.crt export FLOCKER_CONTROL_SERVICE_CLIENT_CERT_FILE=/etc/flocker/node.crt export FLOCKER_CONTROL_SERVICE_CLIENT_KEY_FILE=/etc/flocker/node.key export FLOCKER_CONTROL_SERVICE_PORT=4523 

运行命令时,我得到了一个不同的错误

jonathan@ubuntu:~/Flocker/sc-test-cluster$ uft-flocker-volumes --control-service=sc-test1.cloudapp.net list-nodes

 wget: error getting response: Connection reset by peer =========================================================================== Unable to establish network connectivity from inside a container. If you see an error message above, that may give you a clue how to fix it. If you run docker in a VM, restarting the VM often helps, especially if you have changed network (and/or DNS servers) since starting the VM. If you are using docker-machine (eg as part of docker toolbox), you can run the following command (or similar) to do that: docker-machine restart default && eval $(docker-machine env default) To ignore this check, and proceed anyway (eg if you know you are offline) set IGNORE_NETWORK_CHECK=1 =========================================================================== 

所以我设置标志来看看会发生什么: jonathan@ubuntu:~/Flocker/sc-test-cluster$ export IGNORE_NETWORK_CHECK=1

而b! 同样的错误:(

 jonathan@ubuntu:~/Flocker/sc-test-cluster$ uft-flocker-volumes --control-service=sc-test1.cloudapp.net list-nodes Unhandled Error Traceback (most recent call last): Failure: twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure <class 'OpenSSL.SSL.Error'>>] 

wget错误是一个有用的线索,可能会发生什么?

来自守护进程的错误响应:查找卷插件错误flocker:找不到插件

这可能是由于agent.yml上的控制服务主机名configuration不正确。 确保它是控制服务器节点的主机,而不是代理节点本身。