超詳細(xì)的Kubernetes?(k8s)常用命令整理
1. 基本集群管理命令
查看集群信息
命令:kubectl cluster-info
解析:用于查看 Kubernetes 集群的基本信息,例如 API Server 和 DNS 的訪問(wèn)地址。

檢查當(dāng)前上下文(在k8s中,上下文(context)是集群信息、用戶和命名空間的組合這樣一個(gè)概念。)
命令:kubectl config current-context
解析:用于顯示當(dāng)前使用的集群上下文,尤其在多集群環(huán)境下很重要。

切換上下文
命令:kubectl config use-context <context-name>
解析:切換到其他上下文以管理不同的集群。

查看所有上下文
命令:kubectl config get-contexts
解析:列出所有的集群上下文及相關(guān)配置信息。

2. 節(jié)點(diǎn)與集群資源查看
查看所有節(jié)點(diǎn)
命令:kubectl get nodes
解析:列出當(dāng)前集群中的所有節(jié)點(diǎn)及其狀態(tài)信息。

查看節(jié)點(diǎn)詳細(xì)信息
命令:kubectl describe node <node-name>
解析:獲取指定節(jié)點(diǎn)的詳細(xì)狀態(tài),包括容量、分配的資源和當(dāng)前負(fù)載情況。


查看集群資源使用情況
命令:kubectl top nodes
解析:顯示每個(gè)節(jié)點(diǎn)的 CPU 和內(nèi)存使用情況,(需要部署 Metrics Server)。

3. 管理 Pod
查看所有 Pod
命令:kubectl get pods -A -o wide
解析:列出所有 Pod 的基本信息,顯示所有命名空間下的 Pod及分布節(jié)點(diǎn)ip,name等信息。

查看某命名空間的 Pod
命令:kubectl get pods -n <namespace>
解析:指定命名空間查看 Pod,可以加 -o wide 查看更多細(xì)節(jié)。

查看 Pod 詳細(xì)信息
命令:kubectl describe pod <pod-name>
解析:列出指定 Pod 的詳細(xì)信息,包括事件、環(huán)境變量、容器信息等。

查看 Pod 日志
命令:kubectl logs <pod-name>
解析:獲取 Pod 的標(biāo)準(zhǔn)輸出日志,常用于調(diào)試。

通過(guò)shell進(jìn)入 Pod 容器終端
命令:kubectl exec -it <pod-name> -- /bin/bash
解析:?jiǎn)?dòng)一個(gè)交互式終端,與容器內(nèi)部直接交互。

像這種報(bào)錯(cuò)進(jìn)不去,可能是因?yàn)槿萜魉诘溺R像做的非常輕量,不包含完整的shell環(huán)境,可以通過(guò)精簡(jiǎn)的shell進(jìn)去
命令: kubectl exec -it <pod -name> -- /bin/sh

刪除 Pod
命令:kubectl delete pod <pod-name>
解析:刪除指定 Pod,常用于重新調(diào)度或解決問(wèn)題。

這里啟動(dòng)時(shí)間已經(jīng)修改,證明我們的pod已經(jīng)被刪了,但是因?yàn)槲覀兊膒od控制器類型這里是replicaset,所以刪除過(guò)后他又自動(dòng)創(chuàng)建了一個(gè)新的pod
4. 部署與管理工作負(fù)載
查看部署信息
命令:kubectl get deployments -A
解析:顯示當(dāng)前集群中的所有 Deployment。

創(chuàng)建或更新資源
命令:kubectl apply -f <file.yaml>
解析:使用 YAML 文件創(chuàng)建或更新資源,是聲明式管理的核心命令。

創(chuàng)建Deployment
命令: kubectl create deployment <pod_name> --image=<image> --replicas=<副本數(shù)>
解析: 創(chuàng)建Deployment類型的控制器,并指定鏡像和副本數(shù)

查看 Deployment 詳細(xì)信息
命令:kubectl describe deployment <deployment-name>
解析:列出 Deployment 的詳細(xì)信息,如策略、副本數(shù)、條件等。

縮放 Deployment 副本數(shù)
命令:kubectl scale deployment <deployment-name> --replicas=<number>
解析:動(dòng)態(tài)調(diào)整 Deployment 的副本數(shù)。

查看 Deployment 歷史
命令:kubectl rollout history deployment <deployment-name>
解析:列出 Deployment 的歷史版本信息。

回滾 Deployment
命令:kubectl rollout undo deployment <deployment-name>
解析:回滾到上一個(gè)版本,解決更新后出現(xiàn)的問(wèn)題。
5. 命名空間管理
查看所有命名空間
命令:kubectl get namespaces(縮寫ns)
解析:顯示所有命名空間。

創(chuàng)建命名空間
命令:kubectl create namespace <namespace-name>
解析:用于隔離不同的環(huán)境或應(yīng)用。

刪除命名空間
命令:kubectl delete namespace <namespace-name>
解析:刪除指定命名空間及其所有資源。

6. 服務(wù)與負(fù)載均衡
查看 Service
命令:kubectl get services(簡(jiǎn)寫svc)
解析:顯示當(dāng)前集群中的 Service 信息,包括 ClusterIP 和類型。

查看 Service 詳細(xì)信息
命令:kubectl describe service <service-name>
解析:查看指定 Service 的詳細(xì)配置和狀態(tài)。

測(cè)試 Service 連接
命令:kubectl port-forward <pod-name> <local-port>:<container-port>
解析:將本地端口映射到 Pod 的端口,測(cè)試訪問(wèn)服務(wù)。

8. 調(diào)試與排錯(cuò)
排查 Pod 問(wèn)題
命令:kubectl describe pod <pod-name>
解析:通過(guò)事件日志查看 Pod 創(chuàng)建和運(yùn)行中可能遇到的錯(cuò)誤。

Events:主要顯示鏡像在創(chuàng)建過(guò)程,拉取鏡像,啟動(dòng)等,


檢查資源狀態(tài)
命令:kubectl get events
解析:列出所有資源的事件,用于排查問(wèn)題。

測(cè)試網(wǎng)絡(luò)連通性
命令:kubectl exec -it <pod-name> -- ping <ip-address>
解析:在 Pod 中測(cè)試網(wǎng)絡(luò)是否暢通。(部分鏡像可能沒(méi)有ping命令)

9. 備份與恢復(fù)
導(dǎo)出資源配置
命令:kubectl get <resource-type> <resource-name> -o yaml > backup.yaml
解析:導(dǎo)出資源配置,保存為 YAML 文件以備后續(xù)恢復(fù)。


恢復(fù)資源配置
命令:kubectl apply -f backup.yaml
解析:從 YAML 文件恢復(fù)資源。
總結(jié)
到此這篇關(guān)于超詳細(xì)的Kubernetes (k8s)常用命令整理的文章就介紹到這了,更多相關(guān)k8s常用命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
K8S內(nèi)部pod之間相互調(diào)用案例以及詳解
這篇文章主要給大家介紹了關(guān)于K8S內(nèi)部pod之間相互調(diào)用案例的相關(guān)資料,Pod是Kubernetes中最小的可部署單元,它是一個(gè)或多個(gè)容器的集合,它們共享網(wǎng)絡(luò)和存儲(chǔ)資源,并在同一節(jié)點(diǎn)上運(yùn)行,需要的朋友可以參考下2023-08-08
基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng)的案例詳解
這篇文章主要介紹了基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
kubernetes部署dashboard及應(yīng)用小結(jié)
Dashboard?是基于網(wǎng)頁(yè)的?Kubernetes?用戶界面,可以對(duì)?Deployment?實(shí)現(xiàn)彈性伸縮、發(fā)起滾動(dòng)升級(jí)、重啟?Pod?或者使用向?qū)?chuàng)建新的應(yīng)用,這篇文章主要介紹了kubernetes部署dashboard,需要的朋友可以參考下2024-06-06
Rainbond功能架構(gòu)及應(yīng)用管理官方文檔介紹
這篇文章主要為大家介紹了Rainbond功能機(jī)構(gòu)及使用官方文檔,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
StatefulSet的每個(gè)Pod單獨(dú)創(chuàng)建Service實(shí)踐
本文介紹了如何為StatefulSet的每個(gè)Pod創(chuàng)建獨(dú)立的Service,并提供了一個(gè)示例腳本,以批量生成Service定義,通過(guò)這種方式,可以實(shí)現(xiàn)從集群外部訪問(wèn)每個(gè)Pod的功能,并且可以根據(jù)需要配置不同的Service類型(如NodePort、LoadBalancer、ClusterIP+Ingress等)2026-01-01

