kubernetes基本概念及操作命令
一、幾個概念:
Kubernetes/pod/docker/container
1.K8S,就是基于容器的集群管理平臺,它的全稱,是kubernetes
2.Docker本身并不是容器,它是創(chuàng)建容器的工具,是應(yīng)用容器引擎。
3.pod是k8s中的最小部署單元,不是一個程序/進(jìn)程,而是一個環(huán)境
4.一個pod可以運(yùn)行1個或多個container
kubernetes中的DaemonSet等概念
DaemonSet DaemonSet ?確保全部(或者某些)節(jié)點(diǎn)上運(yùn)行一個 Pod 的副本。當(dāng)有節(jié)點(diǎn)加入集群時, 也會為他們新增一個 Pod 。 當(dāng)有節(jié)點(diǎn)從集群移除時,這些 Pod 也會被回收。刪除 DaemonSet 將會刪除它創(chuàng)建的所有 Pod。 Volume Volume是Kubernetes Pod中多個容器訪問的共享目錄。 hostPath hostPath 卷能將主機(jī)節(jié)點(diǎn)文件系統(tǒng)上的文件或目錄掛載到您的 Pod 中 emptyDir emptyDir類型的Volume在Pod分配到Node上時被創(chuàng)建,Kubernetes會在Node上自動分配一個目錄,因此無需指定宿主機(jī)Node上對應(yīng)的目錄文件。 這個目錄的初始內(nèi)容為空,當(dāng)Pod從Node上移除時,emptyDir中的數(shù)據(jù)會被永久刪除。
Pod狀態(tài)
Pod 的 status 定義在 PodStatus 對象中,其中有一個 phase 字段。
Pod 的運(yùn)行階段(phase)是 Pod 在其生命周期中的簡單宏觀概述。該階段并不是對容器或 Pod 的綜合匯總,也不是為了做為綜合狀態(tài)機(jī)。
Pod 相位的數(shù)量和含義是嚴(yán)格指定的。除了本文檔中列舉的內(nèi)容外,不應(yīng)該再假定 Pod 有其他的 phase 值。
下面是 phase 可能的值:
掛起(Pending):Pod 已被 Kubernetes 系統(tǒng)接受,但有一個或者多個容器鏡像尚未創(chuàng)建。等待時間包括調(diào)度 Pod 的時間和通過網(wǎng)絡(luò)下載鏡像的時間,這可能需要花點(diǎn)時間。
運(yùn)行中(Running):該 Pod 已經(jīng)綁定到了一個節(jié)點(diǎn)上,Pod 中所有的容器都已被創(chuàng)建。至少有一個容器正在運(yùn)行,或者正處于啟動或重啟狀態(tài)。
成功(Succeeded):Pod 中的所有容器都被成功終止,并且不會再重啟。
失?。‵ailed):Pod 中的所有容器都已終止了,并且至少有一個容器是因?yàn)槭〗K止。也就是說,容器以非0狀態(tài)退出或者被系統(tǒng)終止。
未知(Unknown):因?yàn)槟承┰驘o法取得 Pod 的狀態(tài),通常是因?yàn)榕c Pod 所在主機(jī)通信失敗。
二、操作命令
分兩類:docker 命令和kubectl命令
docker 命令(管理容器,操作集群中單個節(jié)點(diǎn)上的資源)
查看運(yùn)行中的容器
docker ps
進(jìn)入運(yùn)行中的容器
docker exec -it
查看鏡像列表
docker image ls
刪除鏡像
docker image rm
運(yùn)行指定鏡像
docker run -it
停止運(yùn)行container
docker container kill
鏡像制作
docker build -t
推送到華為云服務(wù)“云容器鏡像服務(wù)“”
登錄鏡像服務(wù)器(這個在云容器鏡像服務(wù),點(diǎn)擊登錄指令會自動生成)
docker?login?-u?***?-p?***?swr.cn-north-5.myhuaweicloud.com
給鏡像打tag
sudo docker tag spark:20200110 swr.cn-north-5.myhuaweicloud.com/sparkonk8s/spark:20200110
推送鏡像到服務(wù)器
sudo docker push swr.cn-north-5.myhuaweicloud.com/sparkonk8s/spark:20200110
大概規(guī)律就是:docker <資源類型> <操作類型> <實(shí)例Id>
kubectl命令(管理集群,操作整個集群中資源)
下列命令在華為云服務(wù)“云容器引擎”中操作樣例
1.操作pod
查看pod列表:kubectl get pods opiton[--namespace=
刪除pod:kubectl delete pod
查看pod日志:kubectl logs
查看pod詳情:kubect describe pod
查看單個pod:kubect get pod
指定yaml創(chuàng)建pod:kubectl create -f
或者 kubectl apply -f
2.操作damonset
查看daemonset列表:kubectl get daemonsets opiton[--namespace=
刪除damonset:kubectl delete daemonset
指定yaml文件運(yùn)行damonset:kubectl create -f
或者 kubectl apply -f
3.操作節(jié)點(diǎn)
查看節(jié)點(diǎn):kubectl get nodes option[--show-labels] option[--output=wide]
給節(jié)點(diǎn)打標(biāo)簽:kubectl label nodes
優(yōu)雅的結(jié)束節(jié)點(diǎn)上的所有 pod 并同時標(biāo)記節(jié)點(diǎn)為不可調(diào)度:kubectl drain
重新使節(jié)點(diǎn)可調(diào)度:kubectl uncordon ?
4.serviceaccount
創(chuàng)建serviceaccount:kubectl create serviceaccount
查看serviceaccount:kubectl get serviceaccounts
5.角色綁定
創(chuàng)建角色綁定:
kubectl?create?clusterrolebinding?
刪除角色綁定:kubectl delete clusterrolebinding
大概規(guī)律就是:kubectl ?<操作類型> <資源類型> <實(shí)例Id>
容器鏡像服務(wù) SWR Kubernetes
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。