上手kubernetes以前,你應該知道這6件事

在過去的一年多時間了裏,咱們深刻了解了容器編排工具,引導團隊構建併發布了能夠部署在kubernetes上的cloud native GitLab helm chart。對於正在考慮上手Kubernetes的朋友,咱們有如下6點建議:git

在網上查看文檔、在線課程和演示

不要閉門造車,去看看網上的文檔和視頻演示,這是都是可讓咱們快速熟悉和了解Kubernetes的好渠道。咱們其實不必爲了用K8s而去煞有介事的參加一整套課程,可是對於某些技術細節,專業的講解和經驗分享無疑是極有幫助的。docker

固然學以至用的最佳途徑仍是實際的測試演練,有不少PaaS平臺或者Kubernetes工具都有免費的資源或者免費試用期,咱們能夠在其之上創建並部署一個小集羣,嘗試、配置、更改……隨便玩吧!架構

搞明白爲何用Kubernetes

使用Kubernetes的最大挑戰之一是想清楚咱們要作什麼——是做爲一個測試round、一個臨時環境,仍是用於生產?併發

僅僅用於開發環境並不複雜,只須要了解一些基本的概念,好比namespace,以及瞭解什麼是secret、什麼是configuration、什麼是deployment等等,這些概念將在咱們的使用過程當中貫穿始終。運維

在Kubernetes上更進一步時,咱們須要瞭解一些以前不存在的東西,好比基於角色的訪問控制、RBAC等等。這些功能一年前尚未,但如今正在變得愈來愈重要,對於在整個流程上的不一樣角色來講好處多多,確保正在作的事情不會影響到其餘不應觸及的事情。分佈式

例如,咱們如今能夠經過RBAC進行細粒度控制,設置多個namespace,每一個namespace對訪問或者建立secret、configuration進行控制。這樣咱們便擁有了生產級的多租戶集羣,沒必要擔憂租戶以前互相影響和干涉。微服務

服務商們的Kubenretes版本不必定一致

不少人會選擇使用服務商提供的Kubernetes服務,這裏須要注意的是,服務商們提供的Kubenrets版本每每並不一致。通常來講,它們會很接近,但某些功能的實現方式稍有不一樣。或許基礎版本都差很少,區別會存在於服務商與本身產品集成時提供的高級支持。工具

另外須要注意的是,有些服務商並不支持咱們「本身動手」,咱們沒法把本身的插件和組件跟服務商提供的產品服務一塊兒使用。gitlab

對於新功能的使用不能盲目

從咱們第一次瞭解Kubernetes到如今,一年時間裏它的功能擴展了不少。對於新的變化,若是沒有充分理解便貿然使用的話,極可能會拔苗助長,咱們花些時間閱讀和思考是否真的用得上或者怎麼用,畢竟看到別人這樣作並不表明它就是行業的最佳實踐。學習

要常常更新版本

Kubernets是一個生產就緒的系統,但它不是一個每半年發佈一次新版本的軟件,新的特性和功能每日劇增。因此若是咱們安裝了Kubernets,一年不更新,以後再去考慮找一個LTS,那時候其實已經晚了。咱們的建議是每月檢查一次Kubernetes的新功能和新特性,以保證咱們沒有「過期」。

最後一點建議(廣告)

Kubernetes提出的一系列概念抽象,很是符合理想的分佈式調度系統。但大量高難度技術概念,同時也造成了一條陡峭的學習曲線,直接拉高了Kubernetes的使用門檻。

好雨雲開源PaaS Rainbond則將這些技術概念包裝成爲「Production-Ready」的應用,能夠做爲一個Kubernetes面板,開發者不須要特殊學習便可使用。

除此以外,Kubernetes自己是一個容器編排工具,並不提供管理流程,而Rainbond提供現成的管理流程,包括DevOps、自動化運維、微服務架構和應用市場等,能夠開箱即用。

進一步瞭解:https://www.goodrain.com/scene/k8s-docker

原文:https://about.gitlab.com/2018/04/16/five-things-i-wish-i-knew-about-kubernetes/​

相關文章
相關標籤/搜索