我正在尝试使用StorageOS在自托管的K8s群集v1.11.1
上进行动态卷配置。
StorageOS docs提供两种选择,一种使用新的CSI,另一种使用内置于K8的StorageOS卷驱动程序。我首先尝试了基于CSI的方法,但失败了。从我可以收集到的,让CSI在K8中工作需要几个准备步骤(according to this reference),这似乎太先进,所以我试图走非CSI路线。
所以我按照文档并创建了pod,服务等,但是pod一直在重启。描述会出现错误:
活动探测失败:HTTP探测失败,状态码为500
看着日志,我发现了很多这些:
time="2018-09-12T12:14:20Z" level=info msg="not first cluster node, joining first node" action=create address=192.168.34.201 category=etcd host=worker21 module=cp target=192.168.33.101
time="2018-09-12T12:14:20Z" level=error msg="failed to join existing cluster" action=create category=etcd endpoint="192.168.33.101,192.168.33.201,192.168.34.201,192.168.34.202" error="Get http://192.168.33.101:5705/v1/members: dial tcp 192.168.33.101:5705: connect: connection refused" module=cp
由于提到etcd
,似乎StorageOS找不到它。我假设它将使用我的集群的etcd
。不幸的是,我找不到任何专门为StorageOS设置etcd
的说明。另一方面,端口5705是StorageOS REST API,因此可能甚至不是问题。欢迎任何指示!
好吧,事实证明阅读自述文件有帮助。 ;-)默认情况下,脚本尝试在所有节点(包括主节点)上部署StorageOS守护程序集。如果将这些配置为不接受工作负载,则整个部署将失败。解决方案是在deploy-storageos脚本中手动维护JOIN变量。