溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Kubectl有哪些常用命令

發(fā)布時(shí)間:2020-05-29 20:19:26 來(lái)源:億速云 閱讀:216 作者:鴿子 欄目:云計(jì)算

Kubectl簡(jiǎn)述

在學(xué)習(xí)如何更有效地使用kubectl之前,您應(yīng)該基本了解它是什么以及它是如何工作的。

從用戶(hù)角度來(lái)說(shuō):

kubectl是控制Kubernetes的駕駛艙。它允許您執(zhí)行所有可能的Kubernetes操作。

從技術(shù)角度來(lái)說(shuō):

kubectl是Kubernetes API的客戶(hù)端,通過(guò)該客戶(hù)端我們可以完全控制Kubernetes,這意味著每個(gè)Kubernetes操作都作為API端口公開(kāi),并且可以通過(guò)對(duì)此端點(diǎn)的HTTP請(qǐng)求來(lái)執(zhí)行。

命令大全(我所知道的)

查詢(xún)命令

查看所有pod

kubectl get pods

動(dòng)態(tài)監(jiān)聽(tīng)查看所有pod

kubectl get pods-w

查看所有deploymen

kubectl get deployment

查看所有service服務(wù)

kubectl get service    

查看關(guān)聯(lián)后端節(jié)點(diǎn)

kubectl get endpoints    

查看相關(guān)POD的日志

kubectl get logs NAME    

pod副本數(shù)量調(diào)整

kubectl scale [--current-replicas=replicas] --replicas=replicas NAME

其中,

“--current-replicas”    當(dāng)前副本數(shù)量

“--replicas”     副本數(shù)量


項(xiàng)目的生命周期

創(chuàng)建--》發(fā)布--》更新--》回滾--》刪除

創(chuàng)建

kubect run NAME --image=image [--port=port] [--replicas=replicas] [--command]

“--image”    指定鏡像

“--replicas”     指定副本數(shù)量

“--port”    指定內(nèi)部通信端口

實(shí)例:kubectl run nginx --image=nginx:latest --replicas=3

以最新版nginx作為鏡像建立有著三個(gè)副本的pods

發(fā)布

kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]

“-f FILENAME ”     指定YAML文件名稱(chēng)

“TYPE NAME”     指定deploymen名稱(chēng)

“--type”    指定服務(wù)類(lèi)型(默認(rèn)為集群地址-clusterip)

“--port=80”  內(nèi)部通信的端口

“--target-port=80”    暴露在外部的端口

實(shí)例:kubectl expose deploy/nginx --port=80 --target-port=80 --name=nginx-svc --type=NodePort  

將nginx以?xún)?nèi)部端口80,暴露端口80,指定名稱(chēng)為nginx-svc,類(lèi)型為節(jié)點(diǎn)形式進(jìn)行發(fā)布。

更新

kubectl set image deploy/NAME NAME=新版本

實(shí)例:kubectl set image deploy/nginx nginx=nginx:1.14

變更nginx版本為nginx1.14

回滾

kubectl rollout [commands]

常用command:

history     顯示 rollout 歷史

pause       標(biāo)記提供的 resource 為中止?fàn)顟B(tài)

resume      繼續(xù)一個(gè)停止的 resource

status      顯示 rollout 的狀態(tài)

undo        撤銷(xiāo)上一次的 rollout

實(shí)例:kubectl rollout undo deploy/nginx

刪除

kubectl delete ([-f FILENAME] | TYPE [(NAME | -l label | --all)]) [options]

實(shí)例:

kubectl delete svc/nginx-svc

kubectl delete deploy/nginx


除此之外,還有一批命令~~~

查看資源對(duì)象簡(jiǎn)寫(xiě)

kubectl api-resources    

查看具體資源詳細(xì)信息

kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME) [options]

實(shí)例:

kubectl describe pod/nginx-7697996758-9d6tf

kubectl describe svc/nginx

編輯資源詳細(xì)信息

kubectl edit (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME) [options]

實(shí)例:

kubectl edit deploy/NAME

進(jìn)入相應(yīng)pod中*

kubectl exec POD [-c CONTAINER] -- COMMAND [args...] [options]

例子:kubectl exec -it nginx-7697996758-9d6tf bash

查看生成的YAML格式文件

kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml

查看生成的JSON格式文件

kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json

生成YAML 、 JSON文件導(dǎo)出

kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json(yaml) > test.json(yaml)

將現(xiàn)有資源進(jìn)行導(dǎo)出

kubectl get svc/nginx-svc --export -o yaml > nginx-svc.yaml

測(cè)試命令正確性,不執(zhí)行(類(lèi)似shell腳本中的sh -n)

kubectl run nginx --image=nginx --port=80 --replicas=2 --dry-run


create與apply的異同

通過(guò)YAML文件建立

kubectl create -f FILENAME [options]

例子:kubectl create -f nginx.yaml

通過(guò)YAML文件升級(jí)deployment

kubectl apply -f FILENAME

相同點(diǎn)不同點(diǎn)
如果yaml文件中的kind值為deployment,那么上面這兩個(gè)命令都可以創(chuàng)建一個(gè)deployment,生成相應(yīng)數(shù)量的podcreate命令:是先刪除所有現(xiàn)有的東西,重新根據(jù)yaml文件生成新的。所以要求yaml文件中的配置必須是完整的<br />
apply命令:根據(jù)配置文件里面列出來(lái)的內(nèi)容,升級(jí)現(xiàn)有的。所以yaml文件的內(nèi)容可以只寫(xiě)需要升級(jí)的屬性
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI