Kubernentes已是1.16.2版本了,引入了很多很好的新功能。不过,若是是从之前的版本跨大版本升级上来的,仍是会遇到不少的问题。node
除了apiserver/controller/scheduler几个主要的服务的镜像版本变为1.16.2以外,其它包括:python
Ubuntu系统自动升级Docker-CE到了19.3.4,可是使用kubectl get node -owide获取节点信息发现,始终是Not Ready状态。git
查看状态:kubectl describe node/podc01,发现CNI失败。github
将其降级到19.3.2后就能够了。docker
CoreDNS使用的是 1.6.2(1.15.x仍是1.3.1,变化比较大),这个会引发启动失败。json
主要缘由是直接对Docker Image升级的话,配置参数没有同步升级。api
可是老的参数对新的版本又不适用,这个就比较悲催了。ide
只能期待发布一个新的参数或升级工具,或者之后CoreDNS将跨版本的配置参数封装在镜像里。tornado
目前这个问题尚未更好的解决方案,等待CoreDNS社区牛人出手。工具
Dashboard 1.x只支持到1.15,升级镜像到1.10.1版本也不行,并且再也不维护、更新了。
Kubernetes 1.16.x只能使用Dashboard 2.x。
原来的JupuyterHub for K8s运行得好好的,升级完后Server就启动不起来了。
进去查看信息:
supermap@podc01:~$ kubectl get pod -n jupyter -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES hub-75d575499b-6d76n 1/1 Running 0 19m 10.244.0.15 podc02 <none> <none> proxy-589655677b-qcfrm 1/1 Running 0 19m 10.244.1.140 podc03 <none> <none> kubectl logs hub-75d575499b-6d76n -n jupyter
hub和proxy的pod和svc都是能够的。
进一步检查hub的日志:
kubectl logs pod/hub-75d575499b-6d76n -n jupyter
获得下面的出错信息,是JupyterHub启动Notebook Server是执行脚本过程当中出错:
E 2019-10-28 07:46:58.604 JupyterHub log:158] 500 GET /hub/user/supermap/ (supermap@10.244.7.0) 1028.54ms [I 2019-10-28 07:47:18.636 JupyterHub log:158] 302 GET /hub/spawn -> /user/supermap/ (supermap@10.244.7.0) 167.95ms [I 2019-10-28 07:47:18.672 JupyterHub log:158] 302 GET /user/supermap/ -> /hub/user/supermap/ (@10.244.7.0) 1.02ms [E 2019-10-28 07:47:19.404 JupyterHub user:477] Unhandled error starting supermap's server: '<' not supported between instances of 'datetime.datetime' and 'NoneType' [E 2019-10-28 07:47:19.724 JupyterHub gen:974] Exception in Future <Task finished coro=<BaseHandler.spawn_single_user.<locals>.finish_user_spawn() done, defined at /usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py:619> exception=TypeError("'<' not supported between instances of 'datetime.datetime' and 'NoneType'",)> after timeout Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/tornado/gen.py", line 970, in error_callback future.result() File "/usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py", line 626, in finish_user_spawn await spawn_future File "/usr/local/lib/python3.6/dist-packages/jupyterhub/user.py", line 489, in spawn raise e File "/usr/local/lib/python3.6/dist-packages/jupyterhub/user.py", line 409, in spawn url = await gen.with_timeout(timedelta(seconds=spawner.start_timeout), f) File "/usr/local/lib/python3.6/dist-packages/kubespawner/spawner.py", line 1648, in _start events = self.events File "/usr/local/lib/python3.6/dist-packages/kubespawner/spawner.py", line 1503, in events for event in self.event_reflector.events: File "/usr/local/lib/python3.6/dist-packages/kubespawner/spawner.py", line 62, in events key=lambda x: x.last_timestamp, TypeError: '<' not supported between instances of 'datetime.datetime' and 'NoneType'
目前,尚未找到好的解决办法,只能先放到项目的issue里,等着。
鉴于以上缘由,仍是你们再等一等再升级到1.16.x。