超詳細(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控制器類(lèi)型這里是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類(lèi)型的控制器,并指定鏡像和副本數(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(縮寫(xiě)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)寫(xiě)svc)
解析:顯示當(dāng)前集群中的 Service 信息,包括 ClusterIP 和類(lèi)型。
查看 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)文章
云服務(wù)器Jenkins部署Springboot項(xiàng)目及Vue項(xiàng)目的詳細(xì)過(guò)程
本文詳細(xì)介紹了如何在云服務(wù)器上使用Jenkins部署Springboot和Vue項(xiàng)目,包括創(chuàng)建Springboot項(xiàng)目并上傳到Git倉(cāng)庫(kù)、安裝Maven和配置Maven插件、安裝Gitee插件、配置Jenkins任務(wù)以及創(chuàng)建自由風(fēng)格項(xiàng)目等步驟,感興趣的朋友一起看看吧2025-02-02青龍面板拉庫(kù)解決沒(méi)有或丟失依賴(lài)can‘t?find?module的保姆級(jí)教程(附青龍面板腳本倉(cāng)庫(kù))
這篇文章主要介紹了青龍面板拉庫(kù)解決沒(méi)有或丟失依賴(lài)can‘t?find?module的保姆級(jí)教程(附青龍面板腳本倉(cāng)庫(kù)),需要的朋友可以參考下2022-05-05安裝ingress-nginx遇到的一些坑實(shí)戰(zhàn)記錄
ingress是kubernetes集群對(duì)外暴露服務(wù)的一種方式,下面這篇文章主要給大家介紹了關(guān)于安裝ingress-nginx遇到的一些坑,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09一文詳解基于Kubescape進(jìn)行Kubernetes安全加固
這篇文章主要為大家介紹了基于Kubescape進(jìn)行Kubernetes安全加固詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02教你在k8s上部署HADOOP-3.2.2(HDFS)的方法
這篇文章主要介紹了k8s-部署HADOOP-3.2.2(HDFS)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04Kubernetes中創(chuàng)建命名空間實(shí)現(xiàn)方法
這篇文章主要為大家介紹了Kubernetes中創(chuàng)建命名空間實(shí)現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11云原生技術(shù)kubernetes(K8S)簡(jiǎn)介
這篇文章主要介紹了云原生技術(shù)kubernetes的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用K8S,感興趣的朋友可以了解下2021-03-03