使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境
介紹
你曾經(jīng)花過(guò)一整天時(shí)間嘗試入門(mén)Kubernetes嗎?多虧最近新出現(xiàn)的一些工具,你可以不用再為此大費(fèi)周章了。
這篇文章中,我將向你展示使用 kind 在單個(gè) Docker 容器中啟動(dòng)一個(gè)集群的步驟。
什么是 kind
因?yàn)?kind 是 go 語(yǔ)言實(shí)現(xiàn)的,請(qǐng)確保安裝了最新版本的 golang。根據(jù)開(kāi)發(fā)者文檔,推薦使用 go1.11.5 及以上版本。為了安裝 kind,請(qǐng)運(yùn)行這些命令(可能需要運(yùn)行一段時(shí)間)
kind(Kubernetes IN Docker) 是一個(gè)基于 docker 構(gòu)建 Kubernetes 集群的工具,非常適合用來(lái)在本地搭建基于 Kubernetes 的開(kāi)發(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)。
kubectl version
請(qǐng)確保顯示 GitVersion: 'v1.14.1' 或更高版本。
如果你發(fā)現(xiàn)通過(guò) Docker 運(yùn)行的 kubectl,試著使用 brew link 或?qū)Νh(huán)境變量重新排序。
一旦 kubectl 和 kind 安裝就緒,打開(kāi) bash 控制臺(tái)運(yùn)行這些命令。
export KUBECONFIG=”$(kind get kubeconfig-path)”kubectl cluster-info
如果 kind 正確的配置了,會(huì)顯示一些信息出來(lái)。現(xiàn)在你就可以繼續(xù)開(kāi)始下面的工作了。耶!
部署第一個(gè)應(yīng)用程序
我們需要部署什么到集群上呢?一個(gè)很好的選擇就是 Wordpress 因?yàn)樗?MySQL 和 PHP 應(yīng)用程序。
幸運(yùn)的是,有一個(gè)官方的入門(mén)介紹并且描述的非常棒。我們可以嘗試使用剛才創(chuàng)建的 kind 集群來(lái)操作里面的大多數(shù)步驟。
https://kubernetes.io/docs/tut ... lume/
首先,從這個(gè)頁(yè)面上下載 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-7tt4f27774 createdservice/wordpress-mysql createdservice/wordpress createddeployment.apps/wordpress-mysql createddeployment.apps/wordpress createdpersistentvolumeclaim/mysql-pv-claim createdpersistentvolumeclaim/wp-pv-claim created
讓我們輸入這些命令檢查下集群的狀態(tài):
kubectl get secretskubectl get pvckubectl get podskubectl get services wordpress
等待所有的 pod 變成 Running 狀態(tài)。
然后,運(yùn)行這個(gè)命令來(lái)獲取服務(wù)。
kubectl port-forward svc/wordpress 8080:80
然后打開(kāi)http://localhost:8080/
瞧!如果你想查看數(shù)據(jù)庫(kù),檢查你的pod,像這樣運(yùn)行一個(gè)命令,然后打開(kāi)你的客戶端應(yīng)用。
kubectl port-forward wordpress-mysql-bc9864c58-ffh4c 3306:3306
結(jié)論
kind 對(duì) minikube 來(lái)說(shuō)是一個(gè)好的選擇因?yàn)樗皇褂脝蝹€(gè) Docker 容器。
通過(guò)跟集成到Kubernetes1.14 的 Kustomze 結(jié)合使用,在你本地的機(jī)器上嘗試使用 Kubernetes 會(huì)更加簡(jiǎn)單。
到此這篇關(guān)于使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境的文章就介紹到這了,更多相關(guān)kind 和 Docker 啟動(dòng)本地 Kubernetes內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. idea設(shè)置代碼格式化的方法步驟2. Spring Cache和EhCache實(shí)現(xiàn)緩存管理方式3. ASP實(shí)現(xiàn)加法驗(yàn)證碼4. IntelliJ IDEA設(shè)置背景圖片的方法步驟5. 八種Vue組件間通訊方式合集(推薦)6. python switch 實(shí)現(xiàn)多分支選擇功能7. Spring使用AspectJ的注解式實(shí)現(xiàn)AOP面向切面編程8. AJAX實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作詳解【java后臺(tái)】9. CSS hack用法案例詳解10. XML入門(mén)的常見(jiàn)問(wèn)題(四)
