女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析K8S實(shí)用命令

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2025-07-24 14:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言:作為運(yùn)維工程師,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文將深入解析 K8S 最實(shí)用的命令,從基礎(chǔ)操作到高級(jí)技巧,助你成為容器化集群管理專家。

快速導(dǎo)航

?基礎(chǔ)集群信息查看

?Pod 生命周期管理

?服務(wù)與網(wǎng)絡(luò)管理

?存儲(chǔ)與配置管理

?故障排查神技

?性能監(jiān)控與優(yōu)化

?高級(jí)運(yùn)維技巧

基礎(chǔ)集群信息查看

集群狀態(tài)總覽

# 查看集群信息
kubectl cluster-info

# 查看節(jié)點(diǎn)狀態(tài)
kubectl get nodes -o wide

# 查看節(jié)點(diǎn)詳細(xì)信息
kubectl describe node 

# 查看集群資源使用情況
kubectl top nodes
kubectl top pods --all-namespaces

命名空間管理

# 查看所有命名空間
kubectl get namespaces

# 創(chuàng)建命名空間
kubectl create namespace 

# 刪除命名空間(謹(jǐn)慎操作)
kubectl delete namespace 

# 設(shè)置默認(rèn)命名空間
kubectl config set-context --current --namespace=

實(shí)戰(zhàn)技巧:使用kubectl config view --minify | grep namespace快速查看當(dāng)前命名空間。

Pod 生命周期管理

Pod 基礎(chǔ)操作

# 查看所有 Pod
kubectl get pods --all-namespaces

# 查看指定命名空間的 Pod
kubectl get pods -n 

# 實(shí)時(shí)監(jiān)控 Pod 狀態(tài)變化
kubectl get pods -w

# 查看 Pod 詳細(xì)信息
kubectl describe pod  -n 

# 刪除 Pod
kubectl delete pod  -n 

# 強(qiáng)制刪除卡住的 Pod
kubectl delete pod  --grace-period=0 --force

Pod 高級(jí)查詢

# 按標(biāo)簽選擇器查詢
kubectl get pods -l app=nginx

# 按字段選擇器查詢
kubectl get pods --field-selector status.phase=Running

# 查看 Pod 的 YAML 配置
kubectl get pod  -o yaml

# 查看 Pod 資源使用情況
kubectl top pod 

# 查看所有容器狀態(tài)
kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}{"	"}{.status.phase}{"
"}{end}'

運(yùn)維秘籍:使用kubectl get pods --sort-by=.metadata.creationTimestamp按創(chuàng)建時(shí)間排序,快速定位新部署的應(yīng)用。

服務(wù)與網(wǎng)絡(luò)管理

Service 服務(wù)管理

# 查看所有服務(wù)
kubectl get services --all-namespaces

# 查看服務(wù)詳細(xì)信息
kubectl describe service 

# 查看服務(wù)端點(diǎn)
kubectl get endpoints 

# 臨時(shí)端口轉(zhuǎn)發(fā)(調(diào)試神器)
kubectl port-forward pod/ 8080:80
kubectl port-forward service/ 8080:80

# 查看服務(wù)的選擇器匹配的 Pod
kubectl get pods -l 

Ingress 管理

# 查看 Ingress 規(guī)則
kubectl get ingress --all-namespaces

# 查看 Ingress 詳細(xì)配置
kubectl describe ingress 

# 查看 Ingress 控制器日志
kubectl logs -n ingress-nginx deployment/nginx-ingress-controller

網(wǎng)絡(luò)策略與排查

# 查看網(wǎng)絡(luò)策略
kubectl get networkpolicies --all-namespaces

# 測(cè)試 Pod 間網(wǎng)絡(luò)連通性
kubectlexec-it  -- ping 
kubectlexec-it  -- nslookup 

# 查看 DNS 配置
kubectlexec-it  --cat/etc/resolv.conf

存儲(chǔ)與配置管理

ConfigMap 和 Secret

# 查看配置映射
kubectl get configmaps --all-namespaces

# 查看 ConfigMap 內(nèi)容
kubectl describe configmap 
kubectl get configmap  -o yaml

# 創(chuàng)建 ConfigMap
kubectl create configmap  --from-file=
kubectl create configmap  --from-literal=key=value

# 查看密鑰
kubectl get secrets --all-namespaces

# 查看 Secret 內(nèi)容(Base64 解碼)
kubectl get secret  -o jsonpath='{.data.password}'|base64-d

持久化存儲(chǔ)

# 查看持久卷
kubectl get pv

# 查看持久卷聲明
kubectl get pvc --all-namespaces

# 查看存儲(chǔ)類
kubectl get storageclass

# 查看卷詳細(xì)信息
kubectl describe pv 
kubectl describe pvc 

性能優(yōu)化:使用kubectl get pvc -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,VOLUME:.spec.volumeName,CAPACITY:.status.capacity.storage,STORAGECLASS:.spec.storageClassName快速查看存儲(chǔ)概況。

故障排查神技

日志查看與分析

# 查看 Pod 日志
kubectl logs  -n 

# 查看多容器 Pod 的特定容器日志
kubectl logs  -c 

# 實(shí)時(shí)跟蹤日志
kubectl logs -f 

# 查看之前崩潰容器的日志
kubectl logs  --previous

# 查看最近指定時(shí)間的日志
kubectl logs  --since=1h
kubectl logs  --since-time=2024-01-01T0000Z

# 導(dǎo)出所有 Pod 日志
forpodin$(kubectl get pods -o name);do
 kubectl logs$pod>${pod##*/}.log2>&1
done

容器調(diào)試

# 進(jìn)入容器 Shell
kubectlexec-it  -- /bin/bash
kubectlexec-it  -- /bin/sh

# 在多容器 Pod 中指定容器
kubectlexec-it  -c  -- /bin/bash

# 復(fù)制文件到/從容器
kubectlcp :
kubectlcp: 

# 臨時(shí)運(yùn)行調(diào)試容器
kubectl run debug-pod --rm-it --image=busybox -- /bin/sh

# 在現(xiàn)有網(wǎng)絡(luò)命名空間中運(yùn)行調(diào)試容器
kubectl debug  -it --image=nicolaka/netshoot

事件與狀態(tài)分析

# 查看集群事件
kubectl get events --sort-by='.lastTimestamp'

# 查看特定資源的事件
kubectl describe  

# 監(jiān)控資源變化
kubectl get pods -w
kubectl get events -w

# 查看資源使用情況
kubectl describe node  | grep -A 5"Allocated resources"

故障定位心法:

1. 先看 Pod 狀態(tài):kubectl get pods

2. 再看事件:kubectl describe pod

3. 查看日志:kubectl logs

4. 最后進(jìn)容器調(diào)試:kubectl exec -it -- /bin/bash

性能監(jiān)控與優(yōu)化

資源監(jiān)控

# 查看節(jié)點(diǎn)資源使用
kubectl top nodes

# 查看 Pod 資源使用
kubectl top pods --all-namespaces

# 查看特定命名空間資源使用
kubectl top pods -n 

# 按 CPU 使用率排序
kubectl top pods --sort-by=cpu

# 按內(nèi)存使用率排序
kubectl top pods --sort-by=memory

擴(kuò)縮容管理

# 手動(dòng)擴(kuò)縮容 Deployment
kubectl scale deployment  --replicas=5

# 查看 HPA(水平自動(dòng)擴(kuò)縮容)
kubectl get hpa

# 查看 VPA(垂直自動(dòng)擴(kuò)縮容)
kubectl get vpa

# 查看 Deployment 滾動(dòng)更新狀態(tài)
kubectl rollout status deployment/

# 查看滾動(dòng)更新歷史
kubectl rollouthistorydeployment/

# 回滾到上一個(gè)版本
kubectl rollout undo deployment/

資源配額管理

# 查看資源配額
kubectl get resourcequota --all-namespaces

# 查看 LimitRange
kubectl get limitrange --all-namespaces

# 查看資源配額詳情
kubectl describe resourcequota 

高級(jí)運(yùn)維技巧

批量操作與自動(dòng)化

# 批量刪除狀態(tài)為 Evicted 的 Pod
kubectl get pods --all-namespaces | grep Evicted | awk'{print $1, $2}'| xargs -n2 kubectl delete pod -n

# 批量重啟所有 Deployment
kubectl get deployments -o name | xargs -I {} kubectl rollout restart {}

# 批量獲取所有 Pod 的鏡像信息
kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{.metadata.name}{"	"}{.spec.containers[*].image}{"
"}{end}'

# 查找沒有設(shè)置資源限制的 Pod
kubectl get pods --all-namespaces -o json | jq'.items[] | select(.spec.containers[].resources.limits == null) | .metadata.name'

安全與權(quán)限管理

# 查看當(dāng)前用戶權(quán)限
kubectl auth can-i --list

# 檢查特定用戶權(quán)限
kubectl auth can-i create pods --as=

# 查看 RBAC 角色
kubectl get roles,rolebindings --all-namespaces
kubectl get clusterroles,clusterrolebindings

# 查看服務(wù)賬戶
kubectl get serviceaccounts --all-namespaces

# 查看安全策略
kubectl get podsecuritypolicies

集群維護(hù)與備份

# 驅(qū)逐節(jié)點(diǎn)(維護(hù)前)
kubectl drain  --ignore-daemonsets --delete-emptydir-data

# 標(biāo)記節(jié)點(diǎn)不可調(diào)度
kubectl cordon 

# 恢復(fù)節(jié)點(diǎn)調(diào)度
kubectl uncordon 

# 導(dǎo)出資源配置(備份)
kubectl get all --all-namespaces -o yaml > cluster-backup.yaml

# 導(dǎo)出特定資源類型
kubectl get configmaps --all-namespaces -o yaml > configmaps-backup.yaml
kubectl get secrets --all-namespaces -o yaml > secrets-backup.yaml

性能調(diào)優(yōu)命令

# 查看集群組件狀態(tài)
kubectl get componentstatuses

# 查看 API Server 指標(biāo)
kubectl get --raw /metrics

# 查看調(diào)度器隊(duì)列
kubectl get events --field-selector reason=FailedScheduling

# 分析 Pod 啟動(dòng)時(shí)間
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,START_TIME:.status.startTime,NODE:.spec.nodeName

實(shí)用技巧錦囊

命令行優(yōu)化

# 設(shè)置別名提高效率
aliask='kubectl'
aliaskgp='kubectl get pods'
aliaskgs='kubectl get services'
aliaskgn='kubectl get nodes'
aliaskdp='kubectl describe pod'
aliaskl='kubectl logs'

# 使用 kubectx 快速切換集群
kubectx 

# 使用 kubens 快速切換命名空間
kubens 

輸出格式化

# JSON 輸出
kubectl get pods -o json

# YAML 輸出
kubectl get pods -o yaml

# 自定義列輸出
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName

# 使用 JSONPath 提取特定字段
kubectl get pods -o jsonpath='{.items[*].metadata.name}'

# 格式化輸出(需要 jq)
kubectl get pods -o json | jq'.items[] | {name: .metadata.name, status: .status.phase}'

總結(jié)與最佳實(shí)踐

日常運(yùn)維檢查清單

1.集群健康檢查

? 節(jié)點(diǎn)狀態(tài):kubectl get nodes

? 系統(tǒng) Pod:kubectl get pods -n kube-system

? 資源使用:kubectl top nodes

2.應(yīng)用狀態(tài)監(jiān)控

? Pod 狀態(tài):kubectl get pods --all-namespaces

? 服務(wù)狀態(tài):kubectl get services --all-namespaces

? 事件監(jiān)控:kubectl get events --sort-by='.lastTimestamp'

3.性能優(yōu)化檢查

? 資源配額:kubectl describe node

? HPA 狀態(tài):kubectl get hpa

? 存儲(chǔ)使用:kubectl get pvc --all-namespaces

安全運(yùn)維準(zhǔn)則

? 定期備份關(guān)鍵配置:ConfigMap、Secret、PV

? 設(shè)置合理的資源限制和配額

? 監(jiān)控異常事件和失敗的調(diào)度

? 及時(shí)清理不需要的資源和鏡像

? 保持集群組件版本更新

寫在最后

掌握這些 K8S 命令,你已經(jīng)具備了高效管理容器化集群的核心技能。記住,熟練運(yùn)用這些命令不僅能提高工作效率,更能在關(guān)鍵時(shí)刻快速定位和解決問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 集群
    +關(guān)注

    關(guān)注

    0

    文章

    112

    瀏覽量

    17445
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    741

    瀏覽量

    22913
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    247

    瀏覽量

    9083

原文標(biāo)題:30分鐘掌握K8S核心命令:快速上手指南

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是 K8S,如何使用 K8S

    Kubernetes(簡(jiǎn)稱K8S)是一個(gè)用于管理容器化應(yīng)用程序的開源平臺(tái)。以下是關(guān)于K8S及其使用方法的介紹: 一、什么是 K8S 核心特點(diǎn) 自動(dòng)化容器編排:自動(dòng)處理容器的部署、擴(kuò)展、負(fù)載均衡
    發(fā)表于 06-25 06:45

    OpenStack與K8s結(jié)合的兩種方案的詳細(xì)介紹和比較

    OpenStack與K8S結(jié)合主要有兩種方案。一是K8S部署在OpenStack平臺(tái)之上,二是K8S和OpenStack組件集成。
    的頭像 發(fā)表于 10-14 09:38 ?2.8w次閱讀

    Docker不香嗎為什么還要用K8s

    Docker 雖好用,但面對(duì)強(qiáng)大的集群,成千上萬的容器,突然感覺不香了。 這時(shí)候就需要我們的主角 Kubernetes 上場(chǎng)了,先來了解一下 K8s 的基本概念,后面再介紹實(shí)踐,由淺入深步步為營(yíng)
    的頭像 發(fā)表于 06-02 11:56 ?3713次閱讀

    簡(jiǎn)單說明k8s和Docker之間的關(guān)系

    ,但最近發(fā)現(xiàn)k8s概念較多,命令也有些不夠用了,故想借此機(jī)會(huì)寫點(diǎn)東西,更全面認(rèn)識(shí)并使用k8s。本篇文章目的:讓你更全面了解k8s概念,以及學(xué)到在工作中常用的操作。整體更偏向于原理和應(yīng)用
    的頭像 發(fā)表于 06-24 15:48 ?3755次閱讀

    K8S集群服務(wù)訪問失敗怎么辦 K8S故障處理集錦

    問題1:K8S集群服務(wù)訪問失敗? ? ? 原因分析:證書不能被識(shí)別,其原因?yàn)椋鹤远x證書,過期等。 解決方法:更新證書即可。 問題2:K8S集群服務(wù)訪問失敗? curl: (7) Failed
    的頭像 發(fā)表于 09-01 11:11 ?1.6w次閱讀
    <b class='flag-5'>K8S</b>集群服務(wù)訪問失敗怎么辦 <b class='flag-5'>K8S</b>故障處理集錦

    K8S(kubernetes)學(xué)習(xí)指南

    K8S(kubernetes)學(xué)習(xí)指南
    發(fā)表于 06-29 14:14 ?0次下載

    切換k8s上下文有多快

    use-context 命令就會(huì)很低效。 今天介紹3個(gè)工具會(huì)讓你在多k8s集群環(huán)境中工作的很輕松。我將從以下幾個(gè)方面來評(píng)估工具實(shí)用性: 速度 如果你有多個(gè)k8s集群可選擇,你切換k8s
    的頭像 發(fā)表于 05-29 15:26 ?1019次閱讀
    切換<b class='flag-5'>k8s</b>上下文有多快

    k8s是什么意思?kubeadm部署k8s集群(k8s部署)|PetaExpres

    k8s是什么意思? kubernetes簡(jiǎn)稱K8s,是一個(gè)開源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效(powerful
    發(fā)表于 07-19 13:14 ?1332次閱讀

    什么是K3sK8sK3sK8s有什么區(qū)別?

    Kubernetes,通常縮寫為 K8s,是領(lǐng)先的容器編排工具。該開源項(xiàng)目最初由 Google 開發(fā),幫助塑造了現(xiàn)代編排的定義。該系統(tǒng)包括了部署和運(yùn)行容器化系統(tǒng)所需的一切。
    的頭像 發(fā)表于 08-03 10:53 ?8538次閱讀

    k8s生態(tài)鏈包含哪些技術(shù)

    去監(jiān)聽 K8s 中的 Ingress 資源,并對(duì)這些資源進(jìn)行相應(yīng)規(guī)則的解析和實(shí)際承載流量。在當(dāng)下趨勢(shì)中,像 Kubernetes Ingress Nginx 就是使用最廣泛的 Ingress
    的頭像 發(fā)表于 08-07 10:56 ?1568次閱讀
    <b class='flag-5'>k8s</b>生態(tài)鏈包含哪些技術(shù)

    k8s云原生開發(fā)要求

    Kubernetes(K8s)云原生開發(fā)對(duì)硬件有一定要求。CPU方面,建議至少配備2個(gè)邏輯核心,高性能CPU更佳。內(nèi)存至少4GB,但8GB或更高更推薦。存儲(chǔ)需至少20-30GB可用空間,SSD提升
    的頭像 發(fā)表于 10-24 10:03 ?618次閱讀
    <b class='flag-5'>k8s</b>云原生開發(fā)要求

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需在本地與公有云分別建立K8s集群,并確保網(wǎng)絡(luò)連接。接著,配置kubeconfig文件連接兩集群,并安裝云服務(wù)插件以實(shí)現(xiàn)資源互通。然后,編寫Deployment文件部署應(yīng)用,并使用kubectl命令
    的頭像 發(fā)表于 11-07 09:37 ?520次閱讀

    k8s和docker區(qū)別對(duì)比,哪個(gè)更強(qiáng)?

    Docker和Kubernetes(K8s)是容器化技術(shù)的兩大流行工具。Docker關(guān)注構(gòu)建和打包容器,適用于本地開發(fā)和單主機(jī)管理;而K8s則提供容器編排和管理平臺(tái),適用于多主機(jī)或云環(huán)境,具備自動(dòng)化
    的頭像 發(fā)表于 12-11 13:55 ?694次閱讀

    自建K8S集群認(rèn)證過期

    今天使用kubectl命令查看pod信息時(shí),一直正常運(yùn)行的k8s集群突然不能訪問了,輸入任何命令都提示以下報(bào)錯(cuò)。
    的頭像 發(fā)表于 02-07 12:32 ?420次閱讀

    k8s權(quán)限管理指南說明

    我們?cè)谀壳暗?b class='flag-5'>k8s集群環(huán)境里面,只能在master節(jié)點(diǎn)上執(zhí)行kubectl的一些命令,在其他節(jié)點(diǎn)上執(zhí)行就會(huì)報(bào)錯(cuò)。
    的頭像 發(fā)表于 06-26 14:06 ?158次閱讀