使用 kind 快速搭建 kubernetes 環境

使用 kind 快速搭建 Kubernetes 環境

Intro

kind(Kubernetes IN Docker) 是一個基於 docker 構建 Kubernetes 集羣的工具,很是適合用來在本地搭建基於 Kubernetes 的開發/測試環境。linux

想寫一篇 kind 的文章好久了,可是以前的 kind 都會有一個問題,每次系統重啓或 docker daemon 重啓的時候會致使原來的建立的集羣不可用,須要從新建立才能夠,從 0.8 版本開始,kind 再也不須要從新建立集羣了,基於這個集羣的資源部署也會自動重啓,無需再手動從新部署了,具體能夠參考 Issue https://github.com/kubernetes-sigs/kind/issues/148,就在前幾天 kind 0.8 版本發佈了因而打算寫一篇介紹 kind 的文章git

Install

Kind 的安裝不包括 kubectl,你須要獨立安裝 kubectl 來經過命令行來操做 kubernetes 集羣,kubectl 的安裝能夠參考: https://kubernetes.io/docs/tasks/tools/install-kubectl/github

經過 https://github.com/kubernetes-sigs/kind/releases/latest 獲取最新的 release,根據本身的系統類型選擇相應的系統 release,下載 release 以後重命名爲 kind(Windows 系統 release 重命名爲 kind.exe),而後將其放在某一個目錄下,並要確保這個目錄在系統 PATH 中以方便的使用,linux 系統中可能須要配置文件權限docker

sudo chmod +x kind

操做 Kuberneters 集羣

使用 kind 建立 Kubernetes 集羣很是的方便,只須要一行命令便可bash

kind create cluster

刪除集羣工具

kind delete cluster

默認集羣名稱是 "kind",若是要建立多個或者指定集羣名稱,能夠指定 name 參數:測試

kind create cluster --name=k8s-cluster1

刪除集羣ui

kind delete cluster --name=k8s-cluster1

建立集羣成功以後,就可使用 kubectl 來操做 k8s 集羣了命令行

獲取 k8s 集羣全部資源示例:code

既然說是基於 docker 的,那麼咱們再來看下 docker 資源,來驗證一下是否真的是基於 docker 的

docker ps

能夠看到 docker 裏有一個 container,而 kind 建立的集羣就是基於這個 container 的,若是你直接刪掉了這個 container,經過 kind 建立的 k8s 集羣也會有問題,

再來看一下 network,運行 docker network ls

能夠看到有一個名稱爲 kind 的 network

咱們能夠進一步探究 kind-control-plane(就是上面的 docker container)

經過 docker exec kind-control-plane crictl ps 獲取這個容器內部的運行容器列表,這個容器內部經過 crictl 來操做容器,能夠參考 https://github.com/kubernetes-sigs/cri-tools

More

除了搭建開發測試環境以外,kind 也支持建立高可用的 kuberneters 集羣,具體能夠參考官方文檔

kind 建立集羣成功以後,就能夠向 kubernetes 集羣部署資源了,開始你的 Kubernetes 之旅吧~

Reference

相關文章
相關標籤/搜索