kubernetes學習筆記 (一):搭建本地k8s開發環境

段鵬舉發表於2018-08-07

k8s是什麼

Kubernets是繼大資料、雲端計算和Docker後的一種熱門的容器編排技術,是Google在2014年釋出的開源專案。同類的技術有Docker官方的Swarm。

k8s與swarm相比較更加成熟、完善,但學習成本也更高。

為什麼學習k8s

  1. 本人從事遊戲行業,服務端開發,使用過Node、Go語言。最早一直用開源框架進行開發,最終都沒有找到一個非常滿意的開發框架。後來和同事使用Docker和訊息佇列做了自己的簡單開發框架(自己公司用),服務發現、持續整合、簡單自動化、灰度釋出等等。直到我看到了K8s才發現,我做的那些都已經被k8s做了,而且做的比我們好一萬倍。
  2. 新技術意味著新的市場和新的需求,初期掌握這種技術的人不是很多,物以稀為貴,對自己來說是個難得的提升機會。
  3. k8s比較萬金油或者說程式設計思想是一樣的?不管是遊戲行業還是其他,大多數系統都可以使用k8s輕鬆構建和管理一個很複雜的系統

我的目標

  1. 完全掌握k8s的各種用法,並利用空閒時間對我負責的遊戲專案進行重構。
  2. 完成1過程中的學習筆記。
  3. 找到相容團隊多語言開發的辦法。
  4. 完成一個面向中小型遊戲的快速開發框架,讓開發者輕鬆開發、輕鬆運維,輕鬆發版本。

先跑起來

官網的文件寫的很好,按照指示一步一步做就好了 官方文件

如果你只是打算搭建本地k8s環境實驗一下,我推薦下面的做法:

  1. 從Docker官方網站下載並安裝edge版本,一定是edge版本哦,我使用的是18.05

  2. Docker -> Preferences ... 中,配置 registry mirror 為 https://registry.docker-cn.com,點選apply 等待docker重新啟動

  3. 講道理,你這時候可以直接通過Docker -> Preferences -> Kubernetes -> Enable Kubernetes 安裝並啟動k8s locally。但是由於網路原因,很難成功。如果你成功了,就不用往下看了。

  4. git clone https://github.com/denverdino/k8s-for-docker-desktop 下載阿里雲提供的國內版本

  5. cd k8s-for-docker-desktop 如果你下載的docker是18.03版本 git checkout 18.03

  6. ./load_images.sh 執行指令碼載入映象

  7. 在Docker中開啟 Kubernetes,等待如下訊息 Kubernetes is running

  8. kubectl config use-context docker-for-desktop 切換Kubernetes context 配置

  9. kubectl cluster-info 驗證安裝

  10. kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 部署 Kubernetes 控制檯

  11. kubectl proxy Api Server開啟本地監聽, 在瀏覽器中輸入http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default 就可以看到k8s控制皮膚啦!

相關文章