使用 minikube 搭建 Kubernetes 實驗環(huán)境

使用 minikube 搭建 Kubernetes 實驗環(huán)境

個人操作筆記,僅供參考

系統(tǒng)環(huán)境及應(yīng)用版本

  • Debian 9
  • Kubernetes 1.17.0
  • Docker 18.09.3
  • minikube 1.6.2

前言

最近由于在家閑的慌惫东,就找點事做莉给,準(zhǔn)備學(xué)習(xí)一下 K8S。K8S 這種運維技術(shù)最重要的就是實驗環(huán)境,官方也推薦使用 minikube 搭建 K8S 的實驗環(huán)境颓遏,但是由于國內(nèi)網(wǎng)絡(luò)環(huán)境的原因胁黑,安裝官方指南肯定是不能一步到位的,這篇文章就是考慮了國內(nèi)的網(wǎng)絡(luò)環(huán)境使用各種國內(nèi)加速站點力求一步到位成功安裝 minikube州泊。安裝成功后會使用 minikube 創(chuàng)建一個 vm-driver=none 的集群并運行 echoserver 服務(wù)進行測試丧蘸。

在這里做出的保證是使用干凈的 Debian 9 ( Debian 9.11 dvd1 ISO 下載鏈接 ) 虛擬機按步驟執(zhí)行到最后一步是可以看到測試結(jié)果的。

下載與安裝環(huán)境

這部分會結(jié)合國內(nèi)的網(wǎng)絡(luò)環(huán)境下載和安裝必要的組件

安裝 kubectl

安裝 kubectl 將使用阿里云的鏡像進行加速

先檢查是否有單獨的 /etc/apt/sources.list.d/kubernetes.list 文件遥皂,沒有的話先手動創(chuàng)建一個

touch /etc/apt/sources.list.d/kubernetes.list

然后執(zhí)行下列命令安裝 kubectl

apt-get update && apt-get install -y apt-transport-https curl

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb  https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF  

apt-get update

apt-get install -y kubectl=1.17.0-00 kubeadm=1.17.0-00 kubelet=1.17.0-00

下載與安裝 minikube.deb

下面提供三個下載地址供下載力喷,其中第三個是我搬運到 CSDN 下載站的,前兩個網(wǎng)絡(luò)環(huán)境不好的話會下載得比較慢演训。

  1. minikube Github Release 頁面
  2. minikube_1.6.2.deb 官方下載鏈接
  3. minikube_1.6.2.deb CSDN 免積分下載鏈接

下載完對應(yīng)的資源后執(zhí)行下面的命令完成 minikube 的安裝

dpkg -i minikube_1.6.2.deb

安裝 Docker CE 18.09.3

由于 Kubernetes 1.17.0 只適配到 Docker 18.09 所以安裝的時候需要指定 Docker 18.09 的版本

# step 1: 安裝必要的一些系統(tǒng)工具
apt-get update
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# step 2: 安裝GPG證書
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -

# Step 3: 寫入軟件源信息
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"

# Step 4: 更新并安裝Docker-CE
apt-get -y update
apt-get -y install docker-ce=5:18.09.9~3-0~debian-stretch

拉取必要的鏡像

在 minikube 啟動一個集群的時候需要使用 k8s.gcr.io 站點下的一些鏡像弟孟,很不幸,這個站點國內(nèi)并不能順暢訪問样悟,可以借助 azure 提供的加速來進行拉取后再重新給鏡像打 tag

需要的鏡像如下:

  • k8s.gcr.io/kube-controller-manager:v1.17.0
  • k8s.gcr.io/kube-scheduler:v1.17.0
  • k8s.gcr.io/kube-apiserver:v1.17.0
  • k8s.gcr.io/kube-proxy:v1.17.0
  • k8s.gcr.io/pause:3.1
  • k8s.gcr.io/etcd:3.4.3-0
  • k8s.gcr.io/coredns:1.6.5

使用下面命令從 azure 站點拉取鏡像

docker pull gcr.azk8s.cn/google-containers/kube-controller-manager:v1.17.0
docker pull gcr.azk8s.cn/google-containers/kube-scheduler:v1.17.0
docker pull gcr.azk8s.cn/google-containers/kube-apiserver:v1.17.0
docker pull gcr.azk8s.cn/google-containers/kube-proxy:v1.17.0
docker pull gcr.azk8s.cn/google-containers/pause:3.1
docker pull gcr.azk8s.cn/google-containers/etcd:3.4.3-0
docker pull gcr.azk8s.cn/google-containers/coredns:1.6.5

然后使用下面命令重新給剛拉取的鏡像打標(biāo)簽

docker tag gcr.azk8s.cn/google-containers/kube-controller-manager:v1.17.0 k8s.gcr.io/kube-controller-manager:v1.17.0
docker tag gcr.azk8s.cn/google-containers/kube-scheduler:v1.17.0 k8s.gcr.io/kube-scheduler:v1.17.0
docker tag  gcr.azk8s.cn/google-containers/kube-apiserver:v1.17.0 k8s.gcr.io/kube-apiserver:v1.17.0
docker tag gcr.azk8s.cn/google-containers/kube-proxy:v1.17.0 k8s.gcr.io/kube-proxy:v1.17.0
docker tag gcr.azk8s.cn/google-containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag  gcr.azk8s.cn/google-containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag  gcr.azk8s.cn/google-containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5

測試

使用 minikube 啟動一個集群

這里會用 bare-metal 的形式啟動一個集群拂募,使用命令如下

minikube start --vm-driver=none

如下圖所示,出現(xiàn) Done! kubectl is now configured use "minikube" 則表明安裝成功窟她。

minikube 創(chuàng)建集群成功

可以使用下面命令將默認(rèn)的集群模式改為 none

minikube config set vm-driver none

然后使用下面命令查看 minikube 的狀態(tài)

minikube status

部署一個服務(wù)

接下來這部分會使用 echoserver 創(chuàng)建一個基本的服務(wù)驗證 minikube 已經(jīng)部署完成并能正常使用陈症。

依次執(zhí)行下列命令完成服務(wù)的部署:

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
minikube service hello-minikube

執(zhí)行完之后會顯示具體映射的端口

minikube service 結(jié)果

如果不是使用 root 用戶啟動的話會自動打開瀏覽器,如果打開瀏覽器失敗震糖,就使用 curl 命令請求途中的 URL 驗證服務(wù)正常運行

curl http://10.0.2.15:30769

請求成功的話能正確返回信息

curl 測試

FAQ

  1. 為什么需要手動拉取鏡像录肯?

如果不手動拉取鏡像在國內(nèi)的網(wǎng)絡(luò)環(huán)境下,在執(zhí)行 minikube start 時會出現(xiàn)下面的錯誤

minikube start 錯誤

就是因為從 k8s.gcr.io 國內(nèi)不能訪問吊说,所以需要手動從其他地方拉取鏡像再命名為 k8s.gcr.io 的鏡像论咏。

參考資料

[1] minikube Getting Start

[2] minikube Examples

[3] minikube 所需鏡像拉取失敗解決方法

[4] aliyun Docker CE 鏡像使用方法

[5] aliyun Kubernetes 鏡像使用方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市颁井,隨后出現(xiàn)的幾起案子厅贪,更是在濱河造成了極大的恐慌,老刑警劉巖雅宾,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件养涮,死亡現(xiàn)場離奇詭異,居然都是意外死亡秀又,警方通過查閱死者的電腦和手機单寂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門贬芥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吐辙,“玉大人,你說我怎么就攤上這事蘸劈』杷眨” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贤惯。 經(jīng)常有香客問我洼专,道長,這世上最難降的妖魔是什么孵构? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任屁商,我火速辦了婚禮,結(jié)果婚禮上颈墅,老公的妹妹穿的比我還像新娘蜡镶。我一直安慰自己,他們只是感情好恤筛,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布官还。 她就那樣靜靜地躺著,像睡著了一般毒坛。 火紅的嫁衣襯著肌膚如雪望伦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天煎殷,我揣著相機與錄音屯伞,去河邊找鬼。 笑死豪直,一個胖子當(dāng)著我的面吹牛愕掏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顶伞,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼饵撑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了唆貌?” 一聲冷哼從身側(cè)響起滑潘,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锨咙,沒想到半個月后语卤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡酪刀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年粹舵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骂倘。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡眼滤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出历涝,到底是詐尸還是另有隱情诅需,我是刑警寧澤漾唉,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站堰塌,受9級特大地震影響赵刑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜场刑,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一般此、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牵现,春花似錦恤煞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丑慎,卻和暖如春喜喂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背竿裂。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工玉吁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腻异。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓进副,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悔常。 傳聞我的和親對象是個殘疾皇子影斑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容