elasticsearch入門(mén)系列">elasticsearch入門(mén)系列
773
2022-05-30
前言
Kind 是 Kubernetes In Docker 的縮寫(xiě),顧名思義是使用 Docker 容器作為 Node 并將 Kubernetes 部署至其中的一個(gè)工具。官方文檔中也把 Kind 作為一種本地集群搭建的工具進(jìn)行推薦。
kind的官網(wǎng):https://kind.sigs.k8s.io/
一、kind的安裝
1.kind的前置
使用kind必須具備以下條件
docker
k8s
go
2.kind的安裝
GOPROXY=goproxy.cn go install sigs.k8s.io/kind@v0.12.0
3.kind的環(huán)境變量設(shè)置
sudo cp $(go env GOPATH)/bin/kind /usr/local/bin
4.kind的集群創(chuàng)建
kind create cluster --name=kind
使用 kind create cluster 安裝,是沒(méi)有指定任何配置文件的安裝方式。從安裝打印出的輸出來(lái)看,分為4步:
查看本地上是否存在一個(gè)基礎(chǔ)的安裝鏡像,默認(rèn)是kindest/node:v1.23.4,這個(gè)鏡像里面包含了需要安裝的所有東西,包括了kubectl、kubeadm、kubelet 二進(jìn)制文件,以及安裝對(duì)應(yīng)版本 k8s 所需要的鏡像,都以 tar壓縮包的形式放在鏡像內(nèi)的一個(gè)路徑下。
準(zhǔn)備你的 node,這里就是做一些啟動(dòng)容器、解壓鏡像之類(lèi)的工作。
生成對(duì)應(yīng)的 kubeadm 的配置,之后通過(guò) kubeadm安裝,安裝之后還會(huì)做另外的一些操作,比如像我剛才僅安裝單節(jié)點(diǎn)的集群,會(huì)幫你刪掉 master 節(jié)點(diǎn)上的污點(diǎn),否則對(duì)于沒(méi)有容忍的 pod無(wú)法部署。
啟動(dòng)完畢。
5.測(cè)試集群是否創(chuàng)建成功
kubectl中文文檔:http://kubernetes.kansea.com/docs/user-guide/kubectl/kubectl_config_set-context/
5.1 查看集群
kubectl config get-contexts #查看可用集群 kubectl cluster-info --context clusterName #查看集群信息
5.2 設(shè)置集群
# 查看完集群列表后,根據(jù)需要切換上下文 kubectl config set-context clusterName
5.2 刪除集群
# 查看完集群列表后,根據(jù)需要切換上下文 kubectl config delete-context clusterName
5.4 切換集群
# 查看完集群列表后,根據(jù)需要切換上下文 kubectl config use-context clusterName
5.3 查看集群上的節(jié)點(diǎn)
kubectl get nodes
二、kind的使用
1.創(chuàng)建集群
1.1 創(chuàng)建默認(rèn)的集群:
kind create cluster
1.2 根據(jù)鏡像創(chuàng)建:
kind create cluster --image kindest/node:latest
1.3 根據(jù)名稱(chēng)創(chuàng)建:
kind create cluster --name kind2
2.查看集群
2.1 查看集群
kind get clusters
2.2 獲取節(jié)點(diǎn)
kind get nodes
3.刪除集群
3.1 刪除默認(rèn)的集群
kind delete cluster
3.2 根據(jù)名字刪除集群
kind delete cluster --name clusterName
3.3 刪除所有集群
kind delete clusters --all
4.加載docker鏡像
4.1 加載docker鏡像
Docker映像可以通過(guò)以下方式加載到群集節(jié)點(diǎn)中
docker pull nginx kind load docker-image nginx
如果使用命名群集,則需要指定要將映像加載到的群集的名稱(chēng)
kind load docker-image nginx --name kind-2
4.2 加載圖像存檔
kind load image-archive /my-image-archive.tar
4.2 完整流程
docker build -t my-custom-image:unique-tag ./my-image-dir kind load docker-image my-custom-image:unique-tag kubectl apply -f my-manifest-using-my-image:unique-tag
kubectl create屬于Imperative command(祈使式命令),它明確告訴kubectl要?jiǎng)?chuàng)建某個(gè)資源或?qū)ο蟆?/p>
kubectl apply是Declarative command(聲明式命令),apply并不告訴kubectl具體做什么,而是由kubectl根據(jù)后面-f中的yaml文件與k8s中對(duì)應(yīng)的object對(duì)比,自動(dòng)探測(cè)要進(jìn)行哪些操作,比如如果object不存在,則create;如果已經(jīng)存在,則對(duì)比差異,update and replace。
4.查詢(xún)docker鏡像
Docker Kubernetes
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。