我正在Rancher 2.1集群(1节点)中使用带有OpenEBS的cTor存储类测试Prometheus,其中RancherOS在Hyper-v中运行。 cStor卷未安装,并且pod正在启动事件:
Unable to mount volumes for pod "prometheus-server-595746cc5-7xrmt_prometheus(46f03eb4-630f-11e9-b3e5-00155daf3d1f)": timeout expired
waiting for volumes to attach or mount for pod "prometheus"/"prometheus-server-595746cc5-7xrmt". list of unmounted volumes=[storage-volume]. list of
unattached volumes=[config-volume storage-volume prometheus-server-token-2w8ng] a minute ago
我认为这与命令的输出有关:
sudo ros s up open-iscsi
那是:
[rancher@kub-master ~]$ sudo ros s up open-iscsi
ERRO[0002] non-200 http response: 404
ERRO[0002] Failed to load rancher.docker.engine=(docker-18.09.5-ce): non-200
http response: 404
INFO[0002] Project [os]: Starting project
INFO[0002] [0/21] [open-iscsi]: Starting
INFO[0092] [1/21] [open-iscsi]: Started
INFO[0092] Project [os]: Project started
所以,问题是...... ERRO [0002]很重要吗?在哪里记录我该如何解决?
我找不到如何解决这个问题,我尝试过:
pod中的错误(无法安装)信息不足。检查OpenEBS配置程序的日志和事件,或pvc
命名空间中以openebs
开头的任何pod。这应该告诉你实际问题。
如果您正在运行单节点群集,您是否告诉OpenEBS不要制作3个副本?它可能正在等待其他2个副本联机,因此无法使该卷可供prometheus Pod使用。
这些只是我头脑中的想法。
404错误很奇怪,但似乎已经加载了open-iscsi驱动程序而没有错误。这可能没关系。检查Github有关它的问题,如果没有,请打开一个并记录如何重现错误。
您可以从OpenEBS文档docs.openebs.io查看RancherOS中OpenEBS安装的先决条件吗?从那里复制内容。
如果您使用RancherOS作为Kubernetes集群的操作系统,则只需启用iSCSI服务并在所有主机或节点上启动它。如果您使用Ubuntu或RHEL作为Kubernetes集群的操作系统,则需要
iSCSI服务在RancherOS上
要运行iSCSI服务,请在每个群集主机或节点上执行以下命令。
sudo ros s启用open-iscsi sudo ros s up open-iscsi
在所有节点上运行以下命令以确保以下目录是持久的,默认情况下这些目录是短暂的。
ros config set rancher.services.user-volumes.volumes [/ home:/ home,/ opt:/ opt,/ var / lib / kubelet:/ var / lib / kubelet,/ etc / kubernetes:/ etc / kubernetes,/ var / openebs] system-docker rm all-volumes reboot
RHEL或Ubuntu上的iSCSI服务步骤1:验证已安装iSCSI启动器并且服务正在运行
操作系统ISCSI包命令RHEL / CentOS iscsi-initiator-utils yum install iscsi-initiator-utils -y sudo systemctl enable iscsid && sudo systemctl start iscsid modprobe iscsi_tcp Ubuntu / Debian open-iscsi sudo apt install open-iscsi sudo systemctl enable iscsid && sudo systemctl start iscsid modprobe iscsi_tcp
步骤2:在群集YAML中的kubelet服务下添加extra_binds
在节点上安装启动器工具后,编辑群集的YAML,编辑kubelet配置以安装iSCSI二进制文件和配置,如下面的示例所示。
services:kubelet:extra_binds: - “/ etc / iscsi:/ etc / iscsi” - “/ sbin / iscsiadm:/ sbin / iscsiadm” - “/ var / lib / iscsi:/ var / lib / iscsi” - “/ lib /模块”