Kubernetes常用命令總結

文章目錄

  • Kubernetes常用命令總結
    • 1. 集群管理命令
      • `kubectl cluster-info`
      • `kubectl get nodes`
      • `kubectl describe node <node-name>`
      • `kubectl top nodes`
    • 2. Pod相關命令
      • `kubectl get pods`
      • `kubectl get pods -o wide`
      • `kubectl describe pod <pod-name>`
      • `kubectl logs <pod-name>`
      • `kubectl logs <pod-name> -f`
      • `kubectl logs <pod-name> -c <container-name>`
      • `kubectl exec -it <pod-name> -- /bin/bash`
      • `kubectl delete pod <pod-name>`
      • `kubectl get pods --all-namespaces`
    • 3. Deployment相關命令
      • `kubectl get deployments`
      • `kubectl create deployment <name> --image=<image>`
      • `kubectl apply -f <deployment-file.yaml>`
      • `kubectl describe deployment <deployment-name>`
      • `kubectl scale deployment <name> --replicas=<number>`
      • `kubectl set image deployment/<name> <container-name>=<new-image>`
      • `kubectl rollout status deployment/<name>`
      • `kubectl rollout history deployment/<name>`
      • `kubectl rollout undo deployment/<name> --to-revision=<number>`
      • `kubectl delete deployment <name>`
    • 4. Service相關命令
      • `kubectl get services`
      • `kubectl create service <type> <name> --tcp=<port>:<target-port>`
      • `kubectl expose deployment <deployment-name> --port=<port> --target-port=<target-port> --type=<type>`
      • `kubectl describe service <service-name>`
      • `kubectl delete service <name>`
    • 5. 命名空間相關命令
      • `kubectl get namespaces`
      • `kubectl create namespace <name>`
      • `kubectl delete namespace <name>`
      • `kubectl get pods -n <namespace>`
      • `kubectl config set-context --current --namespace=<namespace>`
    • 6. 配置管理命令
      • `kubectl get configmaps`
      • `kubectl create configmap <name> --from-literal=<key>=<value>`
      • `kubectl create configmap <name> --from-file=<file-path>`
      • `kubectl describe configmap <name>`
      • `kubectl get secrets`
      • `kubectl create secret generic <name> --from-literal=<key>=<value>`
      • `kubectl describe secret <name>`
    • 7. 日志與監控命令
      • `kubectl logs <pod-name> --previous`
      • `kubectl top pods`
      • `kubectl get events`
      • `kubectl get events --sort-by='.lastTimestamp'`
    • 8. 問題排查命令
      • `kubectl get pods --field-selector=status.phase=Pending`
      • `kubectl get pods --field-selector=status.phase=Failed`
      • `kubectl exec -it <pod-name> -- <command>`
      • `kubectl debug <pod-name> -it --image=busybox`
      • `kubectl port-forward pod/<pod-name> <local-port>:<pod-port>`
    • 9. 資源操作通用命令
      • `kubectl apply -f <yaml-file>`
      • `kubectl delete -f <yaml-file>`
      • `kubectl get <resource-type>`
      • `kubectl get <resource-type> <resource-name> -o yaml`
      • `kubectl describe <resource-type> <resource-name>`
      • `kubectl edit <resource-type> <resource-name>`
      • `kubectl delete <resource-type> <resource-name>`
    • 10. 其他常用命令
      • `kubectl get all`
      • `kubectl get all -n <namespace>`
      • `kubectl explain <resource-type>`
      • `kubectl api-resources`
      • `kubectl config view`
      • `kubectl config use-context <context-name>`
      • `kubectl cp <local-file-path> <pod-name>:<pod-file-path>`
      • `kubectl cp <pod-name>:<pod-file-path> <local-file-path>`

Kubernetes常用命令總結

1. 集群管理命令

kubectl cluster-info

  • 說明:顯示集群的基本信息,包括控制平面和服務的地址

  • 示例

    kubectl cluster-info
    
  • 輸出

    Kubernetes control plane is running at https://192.168.99.100:8443
    KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    

kubectl get nodes

  • 說明:列出集群中的所有節點及其狀態

  • 示例

    kubectl get nodes
    
  • 輸出

    NAME       STATUS   ROLES           AGE   VERSION
    minikube   Ready    control-plane   10d   v1.24.3
    

kubectl describe node <node-name>

  • 說明:顯示節點的詳細信息,包括資源使用情況、運行的Pod等

  • 示例

    kubectl describe node minikube
    

kubectl top nodes

  • 說明:顯示節點的CPU和內存使用情況

  • 示例

    kubectl top nodes
    
  • 輸出

    NAME       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
    minikube   150m         7%     1200Mi          31%
    

2. Pod相關命令

kubectl get pods

  • 說明:列出當前命名空間中的所有Pod

  • 示例

    kubectl get pods
    
  • 輸出

    NAME                         READY   STATUS    RESTARTS   AGE
    nginx-deployment-7f89b7589   1/1     Running   0          5m
    

kubectl get pods -o wide

  • 說明:顯示Pod的詳細信息,包括IP地址和所在節點

  • 示例

    kubectl get pods -o wide
    

kubectl describe pod <pod-name>

  • 說明:顯示Pod的詳細描述,包括容器信息、事件等

  • 示例

    kubectl describe pod nginx-deployment-7f89b7589
    

kubectl logs <pod-name>

  • 說明:獲取Pod的日志

  • 示例

    kubectl logs nginx-deployment-7f89b7589
    

kubectl logs <pod-name> -f

  • 說明:實時跟蹤Pod的日志輸出

  • 示例

    kubectl logs nginx-deployment-7f89b7589 -f
    

kubectl logs <pod-name> -c <container-name>

  • 說明:獲取Pod中指定容器的日志(當Pod有多個容器時)

  • 示例

    kubectl logs my-pod -c my-container
    

kubectl exec -it <pod-name> -- /bin/bash

  • 說明:在Pod中執行交互式命令,通常用于進入容器

  • 示例

    kubectl exec -it nginx-deployment-7f89b7589 -- /bin/bash
    

kubectl delete pod <pod-name>

  • 說明:刪除指定的Pod

  • 示例

    kubectl delete pod nginx-deployment-7f89b7589
    

kubectl get pods --all-namespaces

  • 說明:查看所有命名空間中的Pod

  • 示例

    kubectl get pods --all-namespaces
    

3. Deployment相關命令

kubectl get deployments

  • 說明:列出當前命名空間中的所有Deployment

  • 示例

    kubectl get deployments
    
  • 輸出

    NAME               READY   UP-TO-DATE   AVAILABLE   AGE
    nginx-deployment   3/3     3            3           10m
    

kubectl create deployment <name> --image=<image>

  • 說明:創建一個新的Deployment

  • 示例

    kubectl create deployment nginx --image=nginx:1.21
    

kubectl apply -f <deployment-file.yaml>

  • 說明:通過YAML文件創建或更新Deployment

  • 示例

    kubectl apply -f nginx-deployment.yaml
    

kubectl describe deployment <deployment-name>

  • 說明:顯示Deployment的詳細信息

  • 示例

    kubectl describe deployment nginx-deployment
    

kubectl scale deployment <name> --replicas=<number>

  • 說明:調整Deployment的副本數量

  • 示例

    kubectl scale deployment nginx-deployment --replicas=5
    

kubectl set image deployment/<name> <container-name>=<new-image>

  • 說明:更新Deployment中容器的鏡像

  • 示例

    kubectl set image deployment/nginx-deployment nginx=nginx:1.22
    

kubectl rollout status deployment/<name>

  • 說明:查看Deployment的更新狀態

  • 示例

    kubectl rollout status deployment/nginx-deployment
    

kubectl rollout history deployment/<name>

  • 說明:查看Deployment的歷史版本記錄

  • 示例

    kubectl rollout history deployment/nginx-deployment
    

kubectl rollout undo deployment/<name> --to-revision=<number>

  • 說明:回滾Deployment到指定版本

  • 示例

    kubectl rollout undo deployment/nginx-deployment --to-revision=2
    

kubectl delete deployment <name>

  • 說明:刪除Deployment

  • 示例

    kubectl delete deployment nginx-deployment
    

4. Service相關命令

kubectl get services

  • 說明:列出當前命名空間中的所有Service

  • 示例

    kubectl get services
    
  • 輸出

    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
    kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP   10d
    nginx        ClusterIP   10.96.234.123   <none>        80/TCP    5m
    

kubectl create service <type> <name> --tcp=<port>:<target-port>

  • 說明:創建一個新的Service

  • 示例

    kubectl create service clusterip nginx --tcp=80:80
    

kubectl expose deployment <deployment-name> --port=<port> --target-port=<target-port> --type=<type>

  • 說明:為Deployment創建Service

  • 示例

    kubectl expose deployment nginx-deployment --port=80 --target-port=80 --type=NodePort
    

kubectl describe service <service-name>

  • 說明:顯示Service的詳細信息

  • 示例

    kubectl describe service nginx-service
    

kubectl delete service <name>

  • 說明:刪除Service

  • 示例

    kubectl delete service nginx-service
    

5. 命名空間相關命令

kubectl get namespaces

  • 說明:列出集群中的所有命名空間

  • 示例

    kubectl get namespaces
    
  • 輸出

    NAME              STATUS   AGE
    default           Active   10d
    kube-system       Active   10d
    kube-public       Active   10d
    kube-node-lease   Active   10d
    

kubectl create namespace <name>

  • 說明:創建一個新的命名空間

  • 示例

    kubectl create namespace my-namespace
    

kubectl delete namespace <name>

  • 說明:刪除命名空間

  • 示例

    kubectl delete namespace my-namespace
    

kubectl get pods -n <namespace>

  • 說明:查看指定命名空間的Pod

  • 示例

    kubectl get pods -n kube-system
    

kubectl config set-context --current --namespace=<namespace>

  • 說明:設置當前上下文的默認命名空間

  • 示例

    kubectl config set-context --current --namespace=my-namespace
    

6. 配置管理命令

kubectl get configmaps

  • 說明:列出當前命名空間中的ConfigMap

  • 示例

    kubectl get configmaps
    

kubectl create configmap <name> --from-literal=<key>=<value>

  • 說明:創建ConfigMap

  • 示例

    kubectl create configmap app-config --from-literal=APP_ENV=production --from-literal=MAX_USERS=100
    

kubectl create configmap <name> --from-file=<file-path>

  • 說明:從文件創建ConfigMap

  • 示例

    kubectl create configmap app-config --from-file=config.properties
    

kubectl describe configmap <name>

  • 說明:查看ConfigMap詳情

  • 示例

    kubectl describe configmap app-config
    

kubectl get secrets

  • 說明:列出當前命名空間中的Secret

  • 示例

    kubectl get secrets
    

kubectl create secret generic <name> --from-literal=<key>=<value>

  • 說明:創建Secret

  • 示例

    kubectl create secret generic db-credentials --from-literal=username=admin --from-literal=password=secretpassword
    

kubectl describe secret <name>

  • 說明:查看Secret詳情

  • 示例

    kubectl describe secret db-credentials
    

7. 日志與監控命令

kubectl logs <pod-name> --previous

  • 說明:查看Pod之前的日志(如果Pod重啟過)

  • 示例

    kubectl logs nginx-deployment-7f89b7589 --previous
    

kubectl top pods

  • 說明:查看Pod的CPU和內存使用情況

  • 示例

    kubectl top pods
    

kubectl get events

  • 說明:查看集群中的事件,有助于排查問題

  • 示例

    kubectl get events
    

kubectl get events --sort-by='.lastTimestamp'

  • 說明:按時間排序查看事件

  • 示例

    kubectl get events --sort-by='.lastTimestamp'
    

8. 問題排查命令

kubectl get pods --field-selector=status.phase=Pending

  • 說明:查看處于Pending狀態的Pod,通常表示有調度問題

  • 示例

    kubectl get pods --field-selector=status.phase=Pending
    

kubectl get pods --field-selector=status.phase=Failed

  • 說明:查看處于Failed狀態的Pod

  • 示例

    kubectl get pods --field-selector=status.phase=Failed
    

kubectl exec -it <pod-name> -- <command>

  • 說明:在Pod中執行命令,用于檢查容器內部情況

  • 示例

    # 檢查網絡連接
    kubectl exec -it nginx-deployment-7f89b7589 -- ping -c 3 google.com# 檢查文件系統
    kubectl exec -it nginx-deployment-7f89b7589 -- df -h# 檢查內存使用
    kubectl exec -it nginx-deployment-7f89b7589 -- free -m
    

kubectl debug <pod-name> -it --image=busybox

  • 說明:創建一個調試容器連接到Pod

  • 示例

    kubectl debug nginx-deployment-7f89b7589 -it --image=busybox
    

kubectl port-forward pod/<pod-name> <local-port>:<pod-port>

  • 說明:將本地端口轉發到Pod端口,用于測試連接

  • 示例

    kubectl port-forward pod/nginx-deployment-7f89b7589 8080:80
    

9. 資源操作通用命令

kubectl apply -f <yaml-file>

  • 說明:通過YAML文件創建或更新資源

  • 示例

    kubectl apply -f deployment.yaml
    

kubectl delete -f <yaml-file>

  • 說明:通過YAML文件刪除資源

  • 示例

    kubectl delete -f deployment.yaml
    

kubectl get <resource-type>

  • 說明:查看指定類型資源

  • 示例

    kubectl get deployments
    kubectl get services
    kubectl get configmaps
    

kubectl get <resource-type> <resource-name> -o yaml

  • 說明:以YAML格式查看資源詳情

  • 示例

    kubectl get deployment nginx-deployment -o yaml
    

kubectl describe <resource-type> <resource-name>

  • 說明:查看指定資源詳情

  • 示例

    kubectl describe service nginx-service
    

kubectl edit <resource-type> <resource-name>

  • 說明:編輯資源配置

  • 示例

    kubectl edit deployment nginx-deployment
    

kubectl delete <resource-type> <resource-name>

  • 說明:刪除資源

  • 示例

    kubectl delete pod my-pod
    kubectl delete deployment my-deployment
    

10. 其他常用命令

kubectl get all

  • 說明:查看當前命名空間中的所有資源

  • 示例

    kubectl get all
    

kubectl get all -n <namespace>

  • 說明:查看指定命名空間中的所有資源

  • 示例

    kubectl get all -n kube-system
    

kubectl explain <resource-type>

  • 說明:獲取資源類型的詳細說明

  • 示例

    kubectl explain deployment
    kubectl explain pod.spec.containers
    

kubectl api-resources

  • 說明:查看所有API資源類型

  • 示例

    kubectl api-resources
    

kubectl config view

  • 說明:查看kubectl配置

  • 示例

    kubectl config view
    

kubectl config use-context <context-name>

  • 說明:切換集群上下文

  • 示例

    kubectl config use-context minikube
    

kubectl cp <local-file-path> <pod-name>:<pod-file-path>

  • 說明:復制文件到Pod

  • 示例

    kubectl cp local-file.txt my-pod:/tmp/remote-file.txt
    

kubectl cp <pod-name>:<pod-file-path> <local-file-path>

  • 說明:從Pod復制文件到本地

  • 示例

    kubectl cp my-pod:/tmp/remote-file.txt local-file.txt
    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89846.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89846.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89846.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

roboflow使用教程

如何利用roboflow標注自己的訓練集、調用開源數據集 官網&#xff1a;Roboflow: Computer vision tools for developers and enterprises&#xff08;國內代理進不去&#xff09; 先注冊登陸進去 訓練自己的數據集 點擊“New Project”,名字按照自己的需求來 我不想寫了&am…

IDEA中使用Tomcat兩種方式

Catalogue1 集成本地Tomcat2 Tomcat Maven插件&#xff08;推薦&#xff09;1 集成本地Tomcat 將本地Tomcat集成到Idea中&#xff0c;然后進行項目部署即可 點擊編輯配置 點擊加號 添加local的Tomcat 配置Application Server 可以修改一下Name 至此&#xff0c;配置完成 …

服務器上的文件復制到本地 Windows 系統

在 Windows 上通過 SSH 連接到 Linux 服務器后&#xff0c;如果需要將服務器上的文件復制到本地 Windows 系統&#xff0c;可以使用以下幾種方法&#xff1a;方法 1&#xff1a;使用 scp&#xff08;Secure Copy&#xff09;命令 scp&#xff08;基于 SSH 的安全復制&#xff0…

大語言模型置信度增強實戰指南

LLM怎么簡單增強置信度 在大語言模型(LLM)的應用中,“置信度增強”核心目標是提升模型輸出的可靠性(減少錯誤/幻覺) 并讓模型更清晰地表達自身的不確定性(避免“一本正經地胡說”)。常用方式可分為“輸出優化”“知識補充”“校準調整”三大類, 一、基于“推理過程優…

NLP:人名分類器案例分享

本文目錄&#xff1a;一、案例介紹&#xff08;一&#xff09;關于人名分類&#xff08;二&#xff09;人名分類數據預覽二、案例步驟&#xff08;一&#xff09;導入工具包&#xff08;二&#xff09;數據預處理1. 獲取常用的字符數量2. 國家名種類數和個數3.讀數據到內存4.構…

3分鐘實戰!用DeepSeek+墨刀AI生成智能對話APP原型圖

如今&#xff0c;AI生成原型圖已經逐漸成為產品經理的一項常用輔助技能&#xff0c;不僅能加快設計進程&#xff0c;還能顯著提升前期溝通效率。最近我嘗試將大語言模型工具與AI原型工具結合測試&#xff0c;目標是看看是否能生成更高質量的原型頁面。直到我使用DeepSeek墨刀AI…

CentOS網絡配置與LAMP環境搭建指南

一、CentOS配置網絡1、查看網卡名稱ifconfig2、找到網卡對應配置文件網卡存放路徑 &#xff1a;/etc/sysconfig/network-scriptscd /etc/sysconfig/network-scripts3、修改網卡對應配置文件使用 vi/vim 打開文件&#xff0c;查看以下內容vim ifcfg-ens33將ONBOOTno 改為 ONBOOT…

TinyMCE 富文本編輯器在 vue2 中的使用 @tinymce/tinymce-vue

TinyMCE是一款功能強大、高度可定制的富文本編輯器。官方文檔 TinyMCE DOCS tinymce-vue包的版本4及更高版本支持Vue.js 3。但不支持Vue.js 2.x。對于Vue.js 2。X應用程序&#xff0c;使用tinymce-vue版本3。 安裝TinyMCE和Vue集成包 npm install tinymce/tinymce-vue3 tiny…

LP-MSPM0G3507學習--04GPIO控制

關鍵函數&#xff1a; DL_GPIO_readPins(GPIO_Regs* gpio, uint32_t pins):同時讀一組端口DL_GPIO_writePins(GPIO_Regs* gpio, uint32_t pins)&#xff1a;同時寫一組端口DL_GPIO_setPins(GPIO_Regs* gpio, uint32_t pins)&#xff1a;對指定某組端口的某管腳置高DL_GPIO_cle…

LVS(Linux virtual server)-實現四層負載均衡

一、簡介LVS:Linux Virtual Server&#xff0c;負載調度器&#xff0c;內核集成&#xff0c;章文嵩&#xff0c;阿里的四層SLB(Server LoadBalance)是基 于LVSkeepalived實現LVS 官網: http://www.linuxvirtualserver.org/二、LVS運行原理2.1LVS 的集群結構2.2lvs相關概念RS&am…

Kubernetes CNI網絡插件性能瓶頸排查與優化實踐

Kubernetes CNI網絡插件性能瓶頸排查與優化實踐 CNI&#xff08;Container Network Interface&#xff09;是 Kubernetes 網絡層的核心組件&#xff0c;不同 CNI 插件實現了容器間網絡通信、多租戶隔離、流量限速等功能。然而在大規模集群或高并發業務場景下&#xff0c;CNI 插…

20250720-6-Kubernetes 調度-nodeName字段,DaemonS_筆記

一、污點與容忍&#xfeff;1. 給節點添加污點&#xfeff;1&#xff09;命令格式基本語法&#xff1a;kubectl taint node [node] keyvalue:[effect]示例&#xff1a;kubectl taint node k8s-node1 gpuyes:NoSchedule操作說明&#xff1a;與打標簽命令類似&#xff0c;將"…

微軟開源項目 Detours 詳細介紹與使用實例分享

目錄 1、Detours概述 2、Detours功能特性 3、Detours工作原理 4、Detours應用場景 5、Detours兼容性 6、Detours具體使用方法 7、Detours使用實例 - 使用Detours攔截系統庫中的UnhandledExceptionFilter接口,實現對程序異常的攔截 C++軟件異常排查從入門到精通系列教程…

研發知識系統選型實戰:從 Notion 到 Gitee Wiki 的迭代經驗

關鍵詞&#xff1a;知識管理、版本控制、協作編輯、國產平臺、研發效能 在日常研發管理中&#xff0c;知識管理平臺往往被視為“非核心工具”&#xff0c;但它的好壞直接影響著團隊交接效率、文檔可用性以及協作深度。過去幾年&#xff0c;我們團隊先后使用過 Notion、Confluen…

從一開始的網絡攻防(三):sqlmap快速上手

一、確定目標 使用sqlmap的第一步是確定探測的目標&#xff0c;一般有四種&#xff1a; 數據庫URL文件Google批量掃 環境 Target IP: 192.168.8.133 Port: 13306(Mysql)、8088(sqli_labs) mysql&#xff1a; docker pull的最新mysql sqlmap github&#xff1a;https://g…

《Anaconda 精簡路徑治理》系列 · 番外篇Conda 虛擬環境路徑結構方案全解——六種路徑布局對比、優劣與治理建議

Python 多版本環境治理理念驅動的系統架構設計&#xff1a;三維治理、四級隔離、五項自治 原則-CSDN博客 Anaconda 路徑精簡后暴露 python 及工具到環境變量的配置記錄-CSDN博客 【終極實戰】Conda/Poetry/Virtualenv/Pipenv/Hatch 多工具協同 AnacondaPyCharm&#xff1a;構建…

容器基礎知識3-kubectl、kubeadm 和 kubelet,kube-proxy

kubectl、kubeadm 和 kubelet&#xff0c;kube-proxy的概念和關系一、kubeadm&#xff1a;K8s 集群的 “搭建工程師”核心定位如果把 K8s 集群比作一棟大樓&#xff0c;kubeadm 就是負責 “打地基、搭框架” 的工程師&#xff0c;專門用來快速搭建 K8s 集群的工具。具體工作內容…

langchain調用本地ollama語言模型和嵌入模型

參考&#xff1a;ollama兼容OpenAIEmbeddings的解決思路 解決代碼&#xff1a; 訪問embedding模型代碼 # 測試以下兩個引用都可以 from langchain_openai import OpenAIEmbeddings #from langchain_community.embeddings import OpenAIEmbeddings from typing import List,…

gitlab私有化部署

以下是整理好的Markdown格式文檔&#xff0c;詳細描述了從下載鏡像、啟動鏡像、修改external_url以及設置或重置root密碼的步驟。 GitLab 安裝與配置指南 本文檔將指導您完成GitLab的安裝和基本配置過程&#xff0c;包括下載鏡像、啟動容器、修改外部訪問URL(external_url)及設…

CCLink IE轉ModbusTCP網關配置無紙記錄器(上篇)

本研究案例采用CCLink IE轉ModbusTCP網關技術&#xff0c;實現了將記錄儀數據傳輸至三菱PLCPLC的過程。具體操作步驟如下所述。在確保無紙記錄儀與PT100傳感器傳感器的連接無誤后&#xff0c;應將無紙記錄儀與個人計算機&#xff08;PC&#xff09;通過以太網線進行連接&#x…