rook(1.0)+ceph安装后dashboard报500错误
成功安装后,打开web管理发现dashboard无法显示,其他页面显示正常
查看mgr
kubectl -n rook-ceph get pods
NAME READY STATUS RESTARTS AGE
rook-ceph-agent-5pgtj 1/1 Running 0 21h
rook-ceph-agent-cjb8k 1/1 Running 0 21h
rook-ceph-agent-jkr8x 1/1 Running 0 21h
rook-ceph-mgr-a-5ff68bdb95-2kngc 1/1 Running 0 142m
rook-ceph-mon-a-5959fb5df-bdg2j 1/1 Running 0 143m
rook-ceph-mon-b-d584b8474-tf7d7 1/1 Running 0 143m
rook-ceph-mon-c-6bb47b98c7-mp8bh 1/1 Running 0 142m
rook-ceph-operator-7bbb59d7bd-t5wzx 1/1 Running 0 20h
rook-ceph-osd-0-578d6dfb66-lrf8h 1/1 Running 0 140m
rook-ceph-osd-1-58f6784bb8-rghhb 1/1 Running 0 141m
rook-ceph-osd-2-6b9b4b85b-zmjsv 1/1 Running 0 140m
rook-ceph-osd-prepare-192-168-60-13-pdsnk 0/2 Completed 0 83m
rook-ceph-osd-prepare-192-168-60-14-xtknj 0/2 Completed 0 83m
rook-ceph-tools-7855f6666-cpgvh 1/1 Running 0 136m
rook-discover-5l7cg 1/1 Running 0 21h
rook-discover-5xc54 1/1 Running 0 21h
rook-discover-v4r6x 1/1 Running 0 21h
查看mgr日志报错
kubectl -n rook-ceph logs --tail=100 rook-ceph-mgr-a-5ff68bdb95-2kngc
debug 2019-05-03 11:10:08.073 7f0438724700 0 mgr[dashboard] [03/May/2019:11:10:08] HTTP Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line 656, in respond
response.body = self.handler()
File "/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/cherrypy/_cptools.py", line 221, in wrap
return self.newhandler(innerfunc, *args, **kwargs)
File "/usr/share/ceph/mgr/dashboard/services/exception.py", line 88, in dashboard_exception_handler
return handler(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py", line 34, in __call__
return self.callable(*self.args, **self.kwargs)
File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 649, in inner
ret = func(*args, **kwargs)
File "/usr/share/ceph/mgr/dashboard/controllers/health.py", line 197, in minimal
return self.health_minimal.all_health()
File "/usr/share/ceph/mgr/dashboard/controllers/health.py", line 62, in all_health
result['iscsi_daemons'] = self.iscsi_daemons()
File "/usr/share/ceph/mgr/dashboard/controllers/health.py", line 126, in iscsi_daemons
gateways = IscsiGatewaysConfig.get_gateways_config()['gateways']
File "/usr/share/ceph/mgr/dashboard/services/iscsi_config.py", line 93, in get_gateways_config
for instance in instances:
TypeError: 'NoneType' object is not iterable
目前1.0的bug
参考https://github.com/rook/rook/issues/3106解决,后面会修复
kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o wide #查看toolbox运行的pod
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
rook-ceph-tools-7855f6666-cpgvh 1/1 Running 0 139m 192.168.60.15 192-168-60-15 <none> <none>
kubectl -n rook-ceph exec -it rook-ceph-tools-7855f6666-cpgvh bash #登陆pod
执行以下命令:
ceph dashboard ac-role-create admin-no-iscsi
for scope in dashboard-settings log rgw prometheus grafana nfs-ganesha manager hosts rbd-image config-opt rbd-mirroring cephfs user osd pool monitor; do
ceph dashboard ac-role-add-scope-perms admin-no-iscsi ${scope} create delete read update;
done
ceph dashboard ac-user-set-roles admin admin-no-iscsi
正常显示