什麼是 Kubeless?| 玩轉 Kubeless

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"什麼是 Kubeless?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你是 Kubernetes 用戶,恰好是第一次見到 Kubeless 這個詞,想必會有些疑問 Kubeless 是什麼呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它的名字和 Kubernetes 前幾個字母相同,應該會和 kubernetes 有關係吧?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"沒錯,Kubeless 號稱是 Kubernetes 原生的 Serverless 框架,它可以讓你部署函數代碼,而不用關心基礎環境的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它使用 Kubernetes 資源(CRD)來提供自動伸縮、路由、監控和故障排除。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你只需要創建函數,Kubeless 可以讓你在 Kubernetes 的容器中動態部署函數,函數可以通過 HTTP 或其他事件觸發。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Kubeless 前世今生"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Kubeless 由 Bitnami 創立於2016年,其實現語言爲 Go。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"官方網站:"},{"type":"link","attrs":{"href":"https://kubeless.io/","title":null},"content":[{"type":"text","text":"https://kubeless.io/"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"代碼倉庫:"},{"type":"link","attrs":{"href":"https://github.com/kubeless","title":null},"content":[{"type":"text","text":"https://github.com/kubeless"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前(2020/09/26)Kubeless 項目在 GitHub 上 Star 數爲6k。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從 GitHub Releases 上看,有93個貢獻者曾爲它提交過代碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Kubeless 至今(2020/09/26)已經發布了44個版本;其中,2017年發佈23次,2018年發佈15次,2019年發佈4次,2020年發佈2次。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/bd/bd0bb3eb7918a6e1f548f643b61a2ea6.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從代碼提交趨勢來看,2017年和2018年代碼提交量多次達到高峯,2019年後代碼提交量明顯下降。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從另一方面,這也說明 Kubeless 比較穩定或處於維護狀態。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/43/43ebb57c670f9b7fb6a71921864377b1.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,2017年,Bitnami 與 "},{"type":"link","attrs":{"href":"http://serverless.com/","title":null},"content":[{"type":"text","text":"Serverless.com"}]},{"type":"text","text":" 合作,爲流行的 Serverless Framework 開發了 Kubeless 插件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"該插件的代碼倉庫:"},{"type":"link","attrs":{"href":"https://github.com/serverless/serverless-kubeless","title":null},"content":[{"type":"text","text":"https://github.com/serverless/serverless-kubeless"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"kubeless-ui"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Kubeless 還有一個圖形化用戶界面,叫做 kubeless-ui。一圖勝千言,讓我們先一睹爲快。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/3f/3f2c81a2bbcb69868df28dc7545c7fdd.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過令人惋惜的是,kubeless-ui 的 GitHub 倉庫顯示 kubeless-ui 處於維護狀態。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/97/974167f81602641e50a2856d945140a6.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"運行時(Runtimes)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"截止目前,Kubeless 默認支持的語言有:Golang、Python、NodeJS、Ruby、PHP、.NET 和 Ballerina。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所有的編程語言運行時都以 Docker 容器鏡像的方式定義,用戶可以通過定製容器鏡像的方式開發自定義的運行時以支持其他的編程語言。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Kubeless 運行時代碼倉庫:"},{"type":"link","attrs":{"href":"https://github.com/kubeless/runtimes","title":null},"content":[{"type":"text","text":"https://github.com/kubeless/runtimes"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"路線圖(RoadMap)"}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"添加更多運行時。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"研究其他消息傳遞總線(例如 SQS,rabbitMQ)"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"優化函數啓動時間"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"添加分佈式跟蹤(也許使用 Istio)"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"下期預告"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下期會介紹 kubeless 的環境安裝及快速入門。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e8/e8b161c891e1578c2571fce5b0216806.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章