最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

kubectl?命令詳解

 更新時(shí)間:2025年04月02日 10:23:26   作者:頭未禿  
這篇文章主要介紹了kubectl?命令的相關(guān)資料,包括常用命令,基本命令和使用說(shuō)明,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

一、常用命令

1、獲取信息

#獲取節(jié)點(diǎn)信息
kubectl get nodes
#獲取pod信息
kubectl get pods
#獲取pod信息包含具體在哪個(gè)節(jié)點(diǎn)
kubectl get pods -o wide

2、部署

# 部署pod
kubectl create deployment tomcat9 --image=tomcat:9.0.102-jre17 
# 發(fā)布service
# --post=80 --target-post=8080 : pod的80端口映射容器的8080端口  
# --type=NodePort : service會(huì)代理pod的80端口
kubectl expose deployment tomcat9 --port=8080 --target-port=8080 --type=NodePort
# --dry-run 表示測(cè)試不實(shí)際運(yùn)行
# -o yaml  生成yaml
# > tomcat.yaml  輸出到tomcat.yaml
#根據(jù)kubectl create deployment tomcat9 --image=tomcat:9.0.102-jre17生成yaml并輸出到tomcat.yaml
kubectl create deployment tomcat9 --image=tomcat:9.0.102-jre17 --dry-run -o yaml > tomcat.yaml
# 應(yīng)用tomcat.yaml(根據(jù)上面命令生成的 tomcat.yaml), 實(shí)際上和kubectl create deployment tomcat6 --image=tomcat:9.0.102-jre17一樣的效果,只是yaml可以自己寫更靈活
kubectl apply -f tomcat.yaml

二、基本命令

使用以下語(yǔ)法從終端窗口運(yùn)行 kubectl 命令:

kubectl [command] [TYPE] [NAME] [flags]

其中 command、TYPE、NAMEflags 分別是:

  • command:指定要對(duì)一個(gè)或多個(gè)資源執(zhí)行的操作,例如 create、getdescribe、delete。
  • TYPE:指定資源類型。資源類型不區(qū)分大小寫, 可以指定單數(shù)、復(fù)數(shù)或縮寫形式。
  • NAME:指定資源的名稱。名稱區(qū)分大小寫。 如果省略名稱,則顯示所有資源的詳細(xì)信息。例如:kubectl get pods
  • flags: 指定可選的參數(shù)。例如,可以使用 -s--server 參數(shù)指定 Kubernetes API 服務(wù)器的地址和端口。

在對(duì)多個(gè)資源執(zhí)行操作時(shí),你可以按類型和名稱指定每個(gè)資源,或指定一個(gè)或多個(gè)文件,要按類型和名稱指定資源:

要對(duì)所有類型相同的資源進(jìn)行分組,請(qǐng)執(zhí)行以下操作:TYPE1 name1 name2 name<#>。
例子:kubectl get pod example-pod1 example-pod2

分別指定多個(gè)資源類型:TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>。
例子:kubectl get pod/example-pod1 replicationcontroller/example-rc1

用一個(gè)或多個(gè)文件指定資源:-f file1 -f file2 -f file<#>
例子:kubectl get -f ./pod.yaml(為什么使用 YAML 而不是 JSON, 是因?yàn)?YAML 對(duì)用戶更友好, 特別是對(duì)于配置文件)

1、操作

操作名稱描述語(yǔ)法示例
get列出指定類型的資源kubectl get <資源類型> [flags]kubectl get pods -n kube-system
describe顯示資源詳細(xì)配置和狀態(tài)kubectl describe <資源類型>/<資源名稱>kubectl describe node/node01
create通過(guò)文件創(chuàng)建資源kubectl create -f <文件路徑>kubectl create -f deployment.yaml
apply通過(guò)文件更新/創(chuàng)建資源(冪等)kubectl apply -f <文件路徑>kubectl apply -f service.yaml
delete刪除指定資源kubectl delete <資源類型>/<資源名稱>kubectl delete configmap/app-config
logs輸出容器日志流kubectl logs <Pod名稱> [-c 容器名]kubectl logs nginx-pod --tail=100
exec在容器中執(zhí)行交互命令kubectl exec -it <Pod名稱> -- <命令>kubectl exec -it redis-pod -- /bin/sh
port-forward將本地端口映射到Pod端口kubectl port-forward <資源類型>/<名稱> <本地端口>:<目標(biāo)端口>kubectl port-forward service/nginx 8080:80
scale調(diào)整Deployment副本數(shù)kubectl scale deploy/<名稱> --replicas=<數(shù)量>kubectl scale deploy/web-server --replicas=5
rollout管理資源部署,包含子命令status(查看狀態(tài))、history(查看歷史版本)、undo(回滾操作)、pause(暫停)、restart(恢復(fù)更新)kubectl rollout undo <資源類型>/<名稱>kubectl rollout undo deployment/frontend
top顯示Pod/Node資源消耗kubectl top [pods|nodes]kubectl top pods --sort-by=cpu
edit直接編輯資源定義kubectl edit <資源類型>/<資源名稱>kubectl edit deployment/backend
label為資源添加/修改標(biāo)簽kubectl label <資源類型> <名稱> <鍵>=<值>kubectl label nodes node01 disktype=ssd
config切換kubeconfig上下文kubectl config use-context <上下文名稱>kubectl config use-context prod-cluster
patch通過(guò)JSON補(bǔ)丁修改資源kubectl patch <資源類型>/<名稱> -p '<補(bǔ)丁內(nèi)容>'kubectl patch deploy/nginx -p '{"spec":{"replicas":3}}'
cp在容器和本地間傳輸文件kubectl cp <源路徑> <目標(biāo)路徑>kubectl cp default/nginx-pod:/log.txt ./local.log
taint管理節(jié)點(diǎn)的調(diào)度污點(diǎn)kubectl taint nodes <節(jié)點(diǎn)名> <鍵>=<值>:<效果>kubectl taint nodes node01 app=test:NoSchedule
cordon/uncordon禁止/允許節(jié)點(diǎn)調(diào)度Podkubectl cordon/uncordon <節(jié)點(diǎn)名>kubectl cordon node02
drain安全驅(qū)逐節(jié)點(diǎn)上的Podkubectl drain <節(jié)點(diǎn)名> [--ignore-daemonsets]kubectl drain node03 --delete-emptydir-data
run快速運(yùn)行臨時(shí)容器kubectl run <名稱> --image=<鏡像> [-- <命令]kubectl run debug-tool --image=busybox -- sleep 3600
diff對(duì)比集群配置與本地文件的差異kubectl diff -f <文件路徑> [flags]kubectl diff -f updated-deployment.yaml
expose將資源暴露為 Kubernetes 服務(wù)kubectl expose <資源類型>/<名稱> [--port=端口] [--target-port=目標(biāo)端口]kubectl expose deploy/nginx --port=80 --target-port=9376
proxy創(chuàng)建到 Kubernetes API 的代理通道kubectl proxy [--port=端口] [--address=地址]kubectl proxy --port=8080 --address='192.168.1.100'
set動(dòng)態(tài)修改資源配置(鏡像/環(huán)境變量/資源限制)kubectl set <子命令> <資源類型>/<名稱> [參數(shù)]kubectl set image deploy/nginx nginx=1.25.2-alpine
explain查看資源配置字段的文檔說(shuō)明kubectl explain [<資源類型>.<字段路徑>] [--recursive]kubectl explain pod.spec.containers.resources.limits

補(bǔ)充說(shuō)明

  • 表格中所有命令支持 -n <命名空間> 指定命名空間,--all-namespaces 查看全集群資源
  • 資源類型支持縮寫(如 po=pods, deploy=deployments, svc=services)
  • 使用 --dry-run=client -o yaml 可生成資源模板(如 kubectl create deploy test --image=nginx --dry-run=client -o yaml)
  • 生產(chǎn)環(huán)境建議結(jié)合 kubectl diff -f <文件> 預(yù)演配置變更
  • 資源名稱需替換為實(shí)際環(huán)境中的標(biāo)識(shí)符
  • 可通過(guò) kubectl explain <資源字段> 查看資源配置字段說(shuō)明
  • 時(shí)間敏感操作(如日志查看)可結(jié)合 --since 參數(shù)(如 --since=1h)

使用技巧與注意事項(xiàng)

多文件操作

# 批量應(yīng)用目錄下所有配置 -R:遞歸應(yīng)用某個(gè)目錄及其子目錄下的所有 YAML/JSON 文件
kubectl apply -f ./manifests/ -R 

資源選擇器組合

# 聯(lián)合使用文件選擇與標(biāo)簽過(guò)濾 
kubectl delete -f deploy.yaml  -l app=critical 

輸出格式化

# 生成資源配置模板(YAML 與 JSON 互轉(zhuǎn))
kubectl get deploy/nginx -o yaml > nginx-template.yaml  

版本控制集成

# 記錄操作歷史(需配合 --record 參數(shù))
kubectl apply -f deploy.yaml  --record
  • 安全提示:使用 --force 刪除、drain 節(jié)點(diǎn)等高風(fēng)險(xiǎn)操作前,務(wù)必通過(guò) --dry-run=server 驗(yàn)證影響范圍。

2、資源

資源名縮寫名API 版本按命名空間資源類型
Core/v1 資源
bindings-v1trueBinding
componentstatusescsv1falseComponentStatus
configmapscmv1trueConfigMap
endpointsepv1trueEndpoints
eventsevv1trueEvent
limitrangeslimitsv1trueLimitRange
namespacesnsv1falseNamespace
nodesnov1falseNode
persistentvolumeclaimspvcv1truePersistentVolumeClaim
persistentvolumespvv1falsePersistentVolume
podspov1truePod
replicationcontrollersrcv1trueReplicationController
secrets-v1trueSecret
servicessvcv1trueService
Apps 工作負(fù)載資源
daemonsetsdsapps/v1trueDaemonSet
deploymentsdeployapps/v1trueDeployment
statefulsetsstsapps/v1trueStatefulSet
replicasetsrsapps/v1trueReplicaSet
Network 網(wǎng)絡(luò)資源
ingressesingnetworking.k8s.io/v1trueIngress
networkpoliciesnetpolnetworking.k8s.io/v1trueNetworkPolicy
擴(kuò)展與安全資源
horizontalpodautoscalershpaautoscaling/v2trueHorizontalPodAutoscaler
cronjobscjbatch/v1trueCronJob
certificatesigningrequestscsrcertificates.k8s.io/v1falseCertificateSigningRequest
poddisruptionbudgetspdbpolicy/v1truePodDisruptionBudget
storageclassesscstorage.k8s.io/v1falseStorageClass
RBAC 權(quán)限資源
clusterroles-rbac.authorization.k8s.io/v1falseClusterRole
rolebindings-rbac.authorization.k8s.io/v1trueRoleBinding

關(guān)鍵特性標(biāo)注

API 版本差異

  • PodSecurityPolicy (psp) 使用已棄用的 policy/v1beta1(Kubernetes 1.25+ 移除)
  • FlowSchema/PriorityLevelConfiguration 使用測(cè)試版 API flowcontrol.apiserver.k8s.io/v1beta2

命名空間隔離性

  • 集群級(jí)資源false):nodes, persistentvolumes, storageclasses
  • 命名空間級(jí)資源true):pods, services, configmaps

高頻縮寫對(duì)照

縮寫全稱使用場(chǎng)景
dsDaemonSet節(jié)點(diǎn)守護(hù)進(jìn)程部署
hpaHorizontalPodAutoscaler自動(dòng)水平擴(kuò)縮容
pdbPodDisruptionBudget維護(hù)期 Pod 中斷預(yù)算

使用建議

# 查詢資源縮寫(含擴(kuò)展資源)
kubectl api-resources --verbs=list -o wide 
# 檢查特定資源的 API 版本兼容性 
kubectl explain <resource> --api-version=<version>

3、可選參數(shù)

Flag 參數(shù)默認(rèn)值適用命令功能描述
--namespace=<ns>default所有命令指定操作的命名空間,縮寫 -n
--kubeconfig=<path>~/.kube/config所有命令指定 Kubernetes 配置文件路徑
--output=<format>textget/describe輸出格式控制(json, yaml, wide, name),縮寫 -o
--dry-run=<mode>noneapply/create試運(yùn)行模式(client/server/none),用于驗(yàn)證配置
--forcefalsedelete強(qiáng)制刪除資源(繞過(guò)優(yōu)雅刪除策略)
--selector=<label>無(wú)資源查詢命令按標(biāo)簽篩選資源,縮寫 -l
--field-selector=<query>無(wú)get按字段條件篩選資源(如 status.phase=Running
--recordfalseapply/set在資源注解中記錄命令操作歷史
--server=<address>無(wú)所有命令直接指定 Kubernetes API 服務(wù)器地址
--insecure-skip-tls-verifyfalse所有命令跳過(guò) TLS 證書(shū)驗(yàn)證(僅測(cè)試環(huán)境使用)
--filename無(wú)apply/create/delete/diff/replace/get/explain本地文件/目錄/URL/標(biāo)準(zhǔn)輸入流 加載資源配置,驅(qū)動(dòng)聲明式或命令式操作,縮寫 -f

特殊場(chǎng)景參數(shù)擴(kuò)展表

Flag 參數(shù)典型使用場(chǎng)景示例命令
--watch / -w實(shí)時(shí)監(jiān)控資源變化kubectl get pods -w
--timeout=<duration>設(shè)置命令超時(shí)時(shí)間(如 30s, 5mkubectl delete pod --timeout=10s
--all操作全部資源(慎用)kubectl delete pods --all
--show-labels顯示資源標(biāo)簽列kubectl get pods --show-labels
--sort-by=<jsonpath>按字段排序輸出結(jié)果kubectl get pods --sort-by=.metadata.creationTimestamp

使用說(shuō)明

  • 命令兼容性:不同子命令支持的 flags 存在差異(如 --replicas 僅適用于 kubectl scale
  • 動(dòng)態(tài)查看幫助
# 查看全局 flags 
kubectl options 
# 查看子命令專屬 flags 
kubectl <command> --help 

參考資料:

參考1
參考2

到此這篇關(guān)于kubectl 命令的文章就介紹到這了,更多相關(guān)kubectl 命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章讀懂K8S的PV和PVC以及實(shí)踐攻略

    一篇文章讀懂K8S的PV和PVC以及實(shí)踐攻略

    本文詳細(xì)介紹了Kubernetes中的存儲(chǔ)卷(Volume)機(jī)制,包括PersistentVolume(PV)、PersistentVolumeClaim(PVC)及其與后端存儲(chǔ)的關(guān)系,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • Rainbond云原生部署開(kāi)源社區(qū)Discourse的配置過(guò)程

    Rainbond云原生部署開(kāi)源社區(qū)Discourse的配置過(guò)程

    這篇文章主要為大家介紹了Rainbond云原生部署開(kāi)源社區(qū)Discourse配置過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Kubernetes Gateway API TLS路由使用及說(shuō)明

    Kubernetes Gateway API TLS路由使用及說(shuō)明

    TLSRoute是GatewayAPI中的一個(gè)資源類型,用于處理TLS流量,可以根據(jù)主機(jī)名等TLS元數(shù)據(jù)將流量定向到不同的Kubernetes后端服務(wù),通過(guò)配置Gateway和TLSRoute,可以實(shí)現(xiàn)TLS流量的透?jìng)骱徒K止處理,滿足不同的安全和管理需求
    2026-03-03
  • 云原生技術(shù)持久化存儲(chǔ)PV與PVC

    云原生技術(shù)持久化存儲(chǔ)PV與PVC

    這篇文章主要介紹了云原生技術(shù)持久化存儲(chǔ)PV與PVC
    2022-03-03
  • k8s擴(kuò)展調(diào)度能力的三種實(shí)現(xiàn)方式

    k8s擴(kuò)展調(diào)度能力的三種實(shí)現(xiàn)方式

    Kubernetes調(diào)度器擴(kuò)展主要通過(guò)調(diào)度框架和調(diào)度器擴(kuò)展器實(shí)現(xiàn),調(diào)度框架提供多種插件接口,如QueueSort、Filter、Score等,允許擴(kuò)展調(diào)度邏輯,調(diào)度器擴(kuò)展器通過(guò)HTTP服務(wù)擴(kuò)展調(diào)度功能,支持Filter、Prioritize等擴(kuò)展點(diǎn)
    2025-10-10
  • K8s PV和PVC持久化存儲(chǔ)詳解

    K8s PV和PVC持久化存儲(chǔ)詳解

    Kubernetes PV由管理員創(chuàng)建,支持多種存儲(chǔ)類型,提供生命周期管理,PVC請(qǐng)求PV資源,需匹配大小、存儲(chǔ)類和訪問(wèn)模式,并在同一命名空間,回收策略包括Retain、Delete和Recycle,生產(chǎn)環(huán)境建議使用NAS而非NFS
    2025-08-08
  • Linux安裝Kubernetes(k8s)超詳細(xì)教程

    Linux安裝Kubernetes(k8s)超詳細(xì)教程

    Kubernetes是一個(gè)輕便的和可擴(kuò)展的開(kāi)源平臺(tái),用于管理容器化應(yīng)用和服務(wù),通過(guò)Kubernetes能夠進(jìn)行應(yīng)用的自動(dòng)化部署和擴(kuò)縮容,這篇文章主要給大家介紹了關(guān)于Linux安裝Kubernetes(k8s)的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Rainbond上部署API?Gateway?Kong及環(huán)境配置教程

    Rainbond上部署API?Gateway?Kong及環(huán)境配置教程

    這篇文章主要為大家介紹了Rainbond上部署API?Gateway?Kong及環(huán)境配置教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Hadoop 2.x與3.x 22點(diǎn)比較,Hadoop 3.x比2.x的改進(jìn)

    Hadoop 2.x與3.x 22點(diǎn)比較,Hadoop 3.x比2.x的改進(jìn)

    本文介紹了Hadoop3版本中添加的新功能,Hadoop 2和Hadoop 3的區(qū)別,在這篇文章中,我們將討論Hadoop 2.x與Hadoop 3.x之間的比較。感興趣的朋友跟隨小編一起看一下
    2018-09-09
  • 使用kubectl獲取pod日志小技巧分享

    使用kubectl獲取pod日志小技巧分享

    文章介紹了如何使用kubectl命令查看K8S中Pod的日志,包括獲取單個(gè)Pod日志、同一deployment下多個(gè)副本Pod的日志、最近xx行日志、最近一段時(shí)間的日志、上一個(gè)崩潰但還存在的Pod的日志、指定或所有容器的日志以及持續(xù)獲取Pod日志的方法
    2026-02-02

最新評(píng)論

浦江县| 县级市| 同德县| 湘西| 林周县| 谢通门县| 万源市| 陆川县| 育儿| 囊谦县| 棋牌| 光山县| 杭锦旗| 年辖:市辖区| 大丰市| 玉溪市| 英德市| 江门市| 寿宁县| 铜川市| 阿城市| 巴彦淖尔市| 循化| 桐乡市| 乳山市| 邯郸县| 邵东县| 江华| 灵璧县| 满洲里市| 宣化县| 慈利县| 裕民县| 镇坪县| 定安县| 崇信县| 呼和浩特市| 个旧市| 滨州市| 济阳县| 施甸县|