最新 Kubernetes全棧架構師:基於世界500強的k8s實戰


1、Kubernetes帶來的變革

 

  對於開發人員

  由於公司業務多,開發環境、測試環境、預生產環境和生產環境都是隔離的,而且除了生產環境,為了節省成本,其他環境可能是沒有日志收集的,在沒有用k8s的時候,查看線下測試的日志,需要開發或者測試人員,找到對應的機器,在找到對應的容器,然后才能查看日志,在用了k8s之后,開發和測試可以直接在k8s的dashboard到對應的namespace,即可定位到業務的容器,然后可以直接通過控制台查看到對應的日志,大大降低了操作時間。

  把應用部署到k8s之后,代碼的發布、回滾,以及藍綠發布、金絲雀發布等都變得特別簡單,不僅加快了業務代碼迭代的速度,而且全程無需人工干預。目前我們使用jenkins、gitrunner進行發版或者回滾等,從開發環境到測試環境,到生產環境,完全遵守一次構建,多集群、多環境部署,通過不同的啟動參數、不同的環境變量、不同的配置文件實現區分不同的環境。目前已經實現Python、Java、PHP、NodeJS、Go、.NET Core、Python等多種語言的一鍵式發版、一鍵式回滾,大大提高了開發人員的開發效率。

 

  在使用服務網格后,開發人員在開發應用的過程中,不用再關心代碼的網絡部分,這些功能都被服務網格實現,讓開發人員可以只關心代碼邏輯部分,即可實現網絡部分的功能,比如:斷流、分流、路由、負載均衡、限速和觸發故障等功能。

 

  測試過程中,可能同時多套環境,當然也會需要再創建一套測試環境,之前測試環境的創建,需要找運維或者自行手工搭建。在遷移至k8s集群后,只需要在jenkins上點點鼠標即可在k8s集群上創建一套新的測試環境。

 

  對於運維人員

  如果你是一名運維人員,可能經常因為一些重復、繁瑣的工作感覺厭倦。比如:這個需要一套新的測試環境,那個需要一套新的測試環境,之前可能需要裝系統、裝依賴環境、開通權限等等。而如今,可以直接用鏡像直接部署一套新的測試環境,甚至全程無需自己干預,開發人員通過jenkins或者自動化運維平台即可一鍵式創建,大大降低了運維成本。

 

  一開始,公司業務故障,可能是因為基礎環境不一致、依賴不一致、端口沖突等等問題,現在實現Docker鏡像部署,k8s編排,所有的依賴、基礎都是一樣的,並且環境的自動化擴容、健康檢查、容災、恢復都是全自動的,大大減少了因為這類基礎問題引發的故障。也有可能公司業務是由於服務器宕機、網絡等問題,造成服務不可用,此類情況均需要運維人員及時去修復,而如今,可能在你收到告警信息的時候,k8s已經幫你恢復了。

 

  在沒有使用k8s時,業務應用的擴容和縮容,都需要人工去處理,從采購服務器、上架、到部署依賴環境,不僅需要大量的人力物力,而且非常容易在中間過程出現問題,又要花費大量的時間去查找問題。成功上架后,還需要在前端反代端添加或該服務器,而如今,可以利用k8s的彈性計算,一鍵式進行擴容和縮容,不僅大大提高了運維效率,而且還節省了不少的服務器資源,提高了資源利用率。

 

  對於反代配置方面,比如可能你並不會,或者對nginx的配置規則並不熟悉,一些高級的功能你也不會實現,而如今,利用k8s的ingress即可簡單的實現那些復雜的邏輯。並且也不會在遇到nginx少加一個斜杠和多加一個斜杠的問題。

 

  對於負載均衡方面,之前負載均衡可能是Nginx、LVS、HAProxy、F5等,雲上可能是雲服務商提供的不在均衡機制。每次添加刪除節點時,都需要手動去配置前端負載均衡,手動去匹配后端節點,而如今,使用k8s內部的service可以動態發現實現自動管理節點,並且支持自動擴容縮容。之前遇到高峰流量時,經常服務器性能不夠,需要臨時加服務器面對高峰流量,而如今對於高性能k8s集群加上serverless,基本實現無需管理,自動擴容。

 

  對於高可用方面,k8s天生的高可用功能,徹底釋放了雙手,無需再去創建各類高可用工具、檢測檢查腳本。k8s支持進程接口級別的健康檢查,如發現接口超時或者返回值不正確,會自動處理該問題。

 

  對於中間件搭建方面,根據定義好的資源文件,可以實現秒級搭建各類中間件高可用集群,並且支持一鍵式擴縮容,如Redis、RabbitMQ、Zookeeper等,並且大大減少了出錯的概率。 

 

  對於應用端口方面,傳統行業中,一個服務器可能跑了很多進程,每個進程都有一個端口,需要人為的去配置端口,並且還需要考慮端口沖突的問題,如果有防火牆的話,還需要配置防火牆,在k8s中,端口統一管理,統一配置,每個應用的端口都可設置成一樣的,之后通過service進行負載均衡,大大降低了端口管理的復雜度和端口沖突。

 

  無論是對於開發人員、測試人員還是運維人員,k8s的誕生,不僅減少了工作的復雜性,還減少了各種成本。上述帶來的變革只是其中比較小的一部分,更多優點只有用了才能體會到。 

 

2、Kubernetes帶來的挑戰

 

  首先是對於k8s的學習本身就是很難的,概念太多,無從入手,可能學習了一個月也無法入門,甚至連集群也搭建不出來,使人望而卻步。並且k8s對運維的技術能力要求比較高,已經不僅僅局限於傳統運維,有時候你可能要修改業務代碼等。並且需要掌握的知識也需要很多,你可能需要掌握公司所有使用到的代碼,比如代碼是如何進行編譯的、如何正確發布、如何修改代碼配置文件等,這對於運維人員,也是一種挑戰。Kubernetes之所以被叫做k8s,業界有兩種說法,通俗的說法是k和s之間有8個字母,另一種比較說法是k8s集群至少需要搭建8遍才能搭建成功。當然,在實際使用時,可能不止8遍。k8s的誕生,把運維從傳統轉變到了DevOps方向,需要面臨的問題會更多,需要面臨的新技術也有很多,但是當你掌握到了k8s的核心使用,就會受益終身。

 

3、Kubernetes到底該如何學

  

  Kubernetes從誕生至今,一路突飛猛進,在容器編排的領域里過六關斬六將,最近拿下了容器編排的冠軍寶座,最終成為了最無可替代、不可撼動的佼佼者。

  但是針對Kubernetes學習、使用始終是一個很大難題,市面也有很多Kubernetes的書籍和視頻,但是很少出現一個比較系統、比較全面的Kubernetes教程,也很少有基於生產環境經驗的文章和教程。

  為了解決學習Kubernetes帶來的各種問題,並能讓大家很快的領悟到Kubernetes的精華和應用到生產中,在此隆重推出《最新Kubernetes實戰指南:從零到Kubernetes架構師的進階之路》的視頻教程。

  本課程貼合生產環境,基於世界500強使用經驗設計出來的課程體系,涵蓋了幾乎所有企業在使用k8s時會遇到的各類問題,無論是k8s安裝的問題還是業務容器化及流水線設計的問題。從Docker、Kubernetes入門到Kubernetes進階實戰、權限管理、日志收集、Prometheus監控告警以及持久化存儲的使用,到持續集成、持續部署、流水線的設計,每一節課都是經過生產環境的考驗,都可以拿來直接用在生產環境中。

 

4、課程收益

  • Docker基礎、Docker鏡像制作、Dockerfile編寫、Docker鏡像優化;
  • Kubernetes基礎、進階及核心資源的使用;
  • Kubernetes高可用集群搭建Kubernetes權限、持久化存儲的使用;
  • Prometheus監控告警的使用;
  • Jenkins pipeline的編寫及持續集成、持續部署,業務應用容器化流水線設計;
  • k8s快速入門與實戰,k8s集群管理,避免踩坑

 

5、課程地址

  Kubernetes全棧架構師:基於世界500強的k8s實戰課程>>點我

  其他平台待上線

  購買前咨詢QQ727585266領取大禮包

 

6、 課程截圖

  Kubernetes Dashboard

 

   一鍵式管理工具Ratel

 

 

 

 

 

 

   Ceph Dashboard

 

 

   Grafana

 

 

    Java JVM 全方位立體監控

 

 

   Jenkins Pipeline設計

 

 

 

7、課程大綱

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM