使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境
介紹
你曾經(jīng)花過一整天時(shí)間嘗試入門Kubernetes嗎?多虧最近新出現(xiàn)的一些工具,你可以不用再為此大費(fèi)周章了。
這篇文章中,我將向你展示使用 kind 在單個(gè) Docker 容器中啟動(dòng)一個(gè)集群的步驟。
什么是 kind
因?yàn)?kind 是 go 語言實(shí)現(xiàn)的,請(qǐng)確保安裝了最新版本的 golang。根據(jù)開發(fā)者文檔,推薦使用 go1.11.5 及以上版本。為了安裝 kind,請(qǐng)運(yùn)行這些命令(可能需要運(yùn)行一段時(shí)間)
kind(Kubernetes IN Docker) 是一個(gè)基于 docker 構(gòu)建 Kubernetes 集群的工具,非常適合用來在本地搭建基于 Kubernetes 的開發(fā)/測(cè)試環(huán)境。
go get -u sigs.k8s.io/kind kind create cluster
然后確認(rèn) “kind” 集群是可用的。
kind get clusters
設(shè)置 kubectl
同樣的,使用 Homebrew 或者 Chocolatey 安裝最新版本的 kubernetes-cli。最新版本的 Docker 包含了Kubernetes的功能,但使用的是老版本的 kubectl。
運(yùn)行該命令檢查它的版本號(hào)。
kubectlversion
請(qǐng)確保顯示 GitVersion: "v1.14.1" 或更高版本。
如果你發(fā)現(xiàn)通過 Docker 運(yùn)行的 kubectl,試著使用 brew link 或?qū)Νh(huán)境變量重新排序。
一旦 kubectl 和 kind 安裝就緒,打開 bash 控制臺(tái)運(yùn)行這些命令。
export KUBECONFIG=”$(kind get kubeconfig-path)” kubectl cluster-info
如果 kind 正確的配置了,會(huì)顯示一些信息出來。現(xiàn)在你就可以繼續(xù)開始下面的工作了。耶!
部署第一個(gè)應(yīng)用程序
我們需要部署什么到集群上呢?一個(gè)很好的選擇就是 Wordpress 因?yàn)樗?MySQL 和 PHP 應(yīng)用程序。
幸運(yùn)的是,有一個(gè)官方的入門介紹并且描述的非常棒。我們可以嘗試使用剛才創(chuàng)建的 kind 集群來操作里面的大多數(shù)步驟。
https://kubernetes.io/docs/tut ... lume/
首先,從這個(gè)頁面上下載 mysql-deployment.yaml 和 wordpress-deployment.yaml。
運(yùn)行兩個(gè) cat 命令創(chuàng)建 kustomization.yaml。一旦這些 yaml 文件準(zhǔn)備好之后,將文件按照下面顯示的那樣放到相應(yīng)的目錄里面。
k8s-wp/ kustomization.yaml mysql-deployment.yaml wordpress-deployment.yaml
然后應(yīng)用到你的集群當(dāng)中。
cd k8s-wp kubectl apply -k ./
如果命令成功執(zhí)行你會(huì)看到如下的輸出:
secret/mysql-pass-7tt4f27774created
service/wordpress-mysqlcreated
service/wordpresscreated
deployment.apps/wordpress-mysqlcreated
deployment.apps/wordpresscreated
persistentvolumeclaim/mysql-pv-claimcreated
persistentvolumeclaim/wp-pv-claimcreated
讓我們輸入這些命令檢查下集群的狀態(tài):
kubectl get secrets kubectl get pvc kubectl get pods kubectl get services wordpress
等待所有的 pod 變成 Running 狀態(tài)。
然后,運(yùn)行這個(gè)命令來獲取服務(wù)。
kubectl port-forward svc/wordpress 8080:80
然后打開http://localhost:8080/
瞧!如果你想查看數(shù)據(jù)庫,檢查你的pod,像這樣運(yùn)行一個(gè)命令,然后打開你的客戶端應(yīng)用。
kubectl port-forward wordpress-mysql-bc9864c58-ffh4c 3306:3306
結(jié)論
kind 對(duì) minikube 來說是一個(gè)好的選擇因?yàn)樗皇褂脝蝹€(gè) Docker 容器。
通過跟集成到Kubernetes1.14 的 Kustomze 結(jié)合使用,在你本地的機(jī)器上嘗試使用 Kubernetes 會(huì)更加簡單。
到此這篇關(guān)于使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境的文章就介紹到這了,更多相關(guān)kind 和 Docker 啟動(dòng)本地 Kubernetes內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。