溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes 1.16.x升級后的問題有哪些

發布時間:2021-12-24 09:34:55 來源:億速云 閱讀:150 作者:iii 欄目:云計算

這篇文章主要講解了“Kubernetes 1.16.x升級后的問題有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Kubernetes 1.16.x升級后的問題有哪些”吧!

1、主要變化

除了apiserver/controller/scheduler幾個主要的服務的鏡像版本變為1.16.3之外,其它包括:

  • etcd使用的是3.3.15-0(還不是最新的4.x系列)。

  • CoreDNS使用的是 1.6.2(1.15.x還是1.3.1,變化比較大),這個會引起啟動失敗。

2、Docker支持

Ubuntu系統自動升級Docker-CE到了19.3.4,但是使用kubectl get node -owide獲取節點信息發現,始終是Not Ready狀態。

查看狀態:kubectl describe node/podc01,發現CNI失敗。

將其降級到19.3.2后就可以了。

  • 方法:

    • 查看可用版本:sudo apt list docker-ce -a

    • 安裝制定版本:sudo apt install docker-ce=xxxxxx

  • Update the /etc/docker/daemon.json

3、CoreDNS

CoreDNS使用的是 1.6.2(1.15.x還是1.3.1,變化比較大),這個會引起啟動失敗。

  • 參見 https://github.com/Azure/aks-engine/pull/1493

主要原因是直接對Docker Image升級的話,配置參數沒有同步升級。

但是老的參數對新的版本又不適用,這個就比較悲催了。

只能期待發布一個新的參數或升級工具,或者以后CoreDNS將跨版本的配置參數封裝在鏡像里。

目前這個問題還沒有更好的解決方案,等待CoreDNS社區牛人出手。

4、Dashboard

Dashboard 1.x只支持到1.15,升級鏡像到1.10.1版本也不行,而且不再維護、更新了。

Kubernetes 1.16.x只能使用Dashboard 2.x。

  • 但是這個呢,目前還在開發中,最新的是Beta5。

  • Dashboard 2.x有幾個大的變化:

    • 這個對中國用戶到是方便了,可以系統直接pull下來。

    • 缺省的安裝模版中namespace為kubernetes-dashboard,不是kube-system了。

    • Docker image位置變了,從gcr摘出來了,變為kubernetesui/dashboard:v2.0.0-beta5。

  • 安裝指示安裝完Dashboard 2.x,登錄到系統,信息顯示不出來。

5、JupyterHub

原來的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里,等著。

下面是一個臨時的補丁方法(親測可用)

kubectl patch deploy -n jupyter hub --type json --patch '[{"op": "replace", "path": "/spec/template/spec/containers/0/command", "value": ["bash", "-c", "\nmkdir -p ~/hotfix\ncp -r /usr/local/lib/python3.6/dist-packages/kubespawner ~/hotfix\nls -R ~/hotfix\npatch ~/hotfix/kubespawner/spawner.py << EOT\n72c72\n<             key=lambda x: x.last_timestamp,\n---\n>             key=lambda x: x.last_timestamp and x.last_timestamp.timestamp() or 0.,\nEOT\n\nPYTHONPATH=$HOME/hotfix jupyterhub --config /srv/jupyterhub_config.py --upgrade-db\n"]}]'

感謝各位的閱讀,以上就是“Kubernetes 1.16.x升級后的問題有哪些”的內容了,經過本文的學習后,相信大家對Kubernetes 1.16.x升級后的問題有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女