2. kubernetes操作概覽

以下是 Kubernetes 的核心操作概覽,涵蓋常用命令、資源管理和典型場景的操作流程:


1. 核心操作工具

(1) kubectl 命令行工具

Kubernetes 的所有操作均通過 kubectl 實現,常用命令如下:

操作類型命令示例作用說明
查看資源狀態kubectl get pods查看所有 Pod
kubectl get nodes查看集群節點狀態
kubectl describe pod <pod-name>查看 Pod 詳細信息(含事件日志)
部署應用kubectl apply -f deployment.yaml通過 YAML 文件創建/更新資源
刪除資源kubectl delete pod <pod-name>刪除指定 Pod
kubectl delete -f deployment.yaml通過 YAML 文件刪除資源
調試容器kubectl logs <pod-name> -c <container>查看容器日志
kubectl exec -it <pod-name> -- /bin/sh進入容器交互式終端
資源編輯kubectl edit deployment <deploy-name>直接編輯資源配置(實時生效)
端口轉發kubectl port-forward <pod-name> 8080:80將本地端口映射到 Pod 端口

2. 部署應用

(1) 部署一個簡單應用(以 Nginx 為例)
# 通過命令行直接創建 Deployment 和 Service
kubectl create deployment nginx --image=nginx:1.23
kubectl expose deployment nginx --port=80 --type=NodePort# 查看服務訪問端口
kubectl get service nginx
(2) 通過 YAML 文件部署
  1. 編寫 nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.23ports:- containerPort: 80
  1. 應用配置:
kubectl apply -f nginx-deployment.yaml

3. 服務暴露與網絡

(1) 通過 Service 暴露應用
apiVersion: v1
kind: Service
metadata:name: nginx-service
spec:type: NodePortselector:app: nginxports:- protocol: TCPport: 80targetPort: 80nodePort: 30080  # 外部訪問端口(范圍 30000-32767)
(2) 使用 Ingress 定義 HTTP 路由
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: nginx-ingress
spec:rules:- host: example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: nginx-serviceport:number: 80

4. 配置與密鑰管理

(1) 使用 ConfigMap 注入配置
  1. 創建 ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:name: app-config
data:app.properties: |logging.level=INFOserver.port=8080
  1. 掛載到 Pod:
spec:containers:- name: appimage: my-app:1.0volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: app-config
(2) 使用 Secret 管理敏感信息
# 通過命令行創建 Secret
kubectl create secret generic db-secret \--from-literal=username=admin \--from-literal=password=123456

在 Deployment 中引用:

env:
- name: DB_USERNAMEvalueFrom:secretKeyRef:name: db-secretkey: username

5. 存儲管理

(1) 動態創建持久化存儲(PVC)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: data-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi

掛載到 Pod:

volumeMounts:
- name: data-volumemountPath: /data
volumes:
- name: data-volumepersistentVolumeClaim:claimName: data-pvc

6. 擴縮容與更新

(1) 手動擴縮容
kubectl scale deployment nginx --replicas=5
(2) 自動擴縮容(HPA)
kubectl autoscale deployment nginx --cpu-percent=50 --min=2 --max=10
(3) 滾動更新
kubectl set image deployment/nginx nginx=nginx:1.24
kubectl rollout status deployment/nginx  # 查看更新狀態
kubectl rollout undo deployment/nginx   # 回滾到上一版本

7. 監控與日志

(1) 查看資源使用情況
kubectl top nodes  # 查看節點資源使用
kubectl top pods   # 查看 Pod 資源使用
(2) 集成 Prometheus + Grafana
  1. 部署 Prometheus Operator:
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/bundle.yaml
  1. 配置 ServiceMonitor 監控應用指標:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:name: app-monitor
spec:endpoints:- port: webselector:matchLabels:app: nginx

8. 權限控制(RBAC)

(1) 創建 ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:name: my-serviceaccount
(2) 定義 Role 和 RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: read-pods
subjects:
- kind: ServiceAccountname: my-serviceaccount
roleRef:kind: Rolename: pod-readerapiGroup: rbac.authorization.k8s.io

9. 故障排查

(1) 查看事件日志
kubectl get events --sort-by=.metadata.creationTimestamp
(2) 調試 Pod
kubectl describe pod <pod-name>    # 查看 Pod 詳細信息(事件、狀態)
kubectl logs <pod-name> -c <container> --previous  # 查看崩潰容器的日志

10. 圖形化管理工具

  1. Kubernetes Dashboard
    官方 Web UI,支持資源查看、部署和刪除操作。

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
    kubectl proxy  # 本地訪問 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
    
  2. Lens
    跨平臺桌面客戶端,提供可視化集群管理。


總結

? 核心流程
構建鏡像 → 定義 YAML → 部署資源 → 暴露服務 → 監控維護
? 關鍵操作
? 使用 kubectl 管理資源生命周期。
? 通過 Deployment 和 Service 管理應用部署與訪問。
? 利用 ConfigMap 和 Secret 分離配置與代碼。
? 通過 PVC 和 StorageClass 管理持久化存儲。
? 結合 HPA 和監控實現自動化運維。

掌握這些操作后,即可高效管理 Kubernetes 集群中的容器化應用。

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

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

相關文章

從Ampere到Hopper:GPU架構演進對AI模型訓練的顛覆性影響

一、GPU架構演進的底層邏輯 AI大模型訓練效率的提升始終與GPU架構的迭代深度綁定。從Ampere到Hopper的演進路徑中&#xff0c;英偉達通過?張量核心升級?、?顯存架構優化?、?計算范式革新?三大技術路線&#xff0c;將LLM&#xff08;大語言模型&#xff09;訓練效率提升至…

p2p的發展

PCDN&#xff08;P2P內容分發網絡&#xff09;行業目前處于快速發展階段&#xff0c;面臨機遇與挑戰并存的局面。 一、發展機遇 技術融合推動 邊緣計算與5G普及&#xff1a;5G的高帶寬、低延遲特性與邊緣計算技術結合&#xff0c;顯著提升PCDN性能&#xff0c;降低延遲&#x…

計算機視覺與深度學習 | 視覺里程計(Visual Odometry, VO)學習思路總結

視覺里程計(Visual Odometry, VO)學習思路總結 視覺里程計(VO)是通過攝像頭捕獲的圖像序列估計相機運動軌跡的技術,廣泛應用于機器人、自動駕駛和增強現實等領域。以下是一個系統的學習路徑,涵蓋基礎理論、核心算法、工具及實踐建議:一、基礎理論與數學準備 核心數學工具…

Ubuntu 24.04 中文輸入法安裝

搜狗輸入法&#xff0c;在Ubuntu 24.04上使用失敗&#xff0c;安裝教程如下 https://shurufa.sogou.com/linux/guide 出現問題的情況&#xff0c;是這個帖子里描述的&#xff1a; https://forum.ubuntu.org.cn/viewtopic.php?t493893 后面通過google拼音輸入法解決了&#x…

阿里云 MSE Nacos 發布全新“安全防護”模塊,簡化安全配置,提升數據保護

作者&#xff1a;張文浩 阿里云在其微服務引擎&#xff08;MSE&#xff09;注冊配置中心 Nacos 上正式推出全新“安全防護”功能模塊&#xff0c;旨在幫助企業用戶有效管理安全狀態和降低開啟安全相關功能的學習成本&#xff0c;提升微服務架構的安全性。首期推出的“安全防護…

C#核心(23)StringBuilder

前言 我們先前已經了解了String的一些基本規則和常見的用法,今天就來講一下和string有所區別的StringBulider。 在 C# 中,StringBuilder 類是一個非常有用的工具,特別是在需要頻繁修改字符串時。與 String 類型不同,StringBuilder 類提供了一種動態字符串,可以在不創建新…

活動圖與流程圖的區別與聯系:深入理解兩種建模工具

目錄 前言1. 活動圖概述1.1 活動圖的定義1.2 活動圖的基本構成要素1.3 活動圖的應用場景 2. 流程圖概述2.1 流程圖的定義2.2 流程圖的基本構成要素2.3 流程圖的應用場景 3. 活動圖與流程圖的聯系4. 活動圖與流程圖的區別4.1 所屬體系不同4.2 表達能力差異4.3 使用目的與語境4.4…

idea運行springboot項目,運行時不能生成target

1&#xff0c;問題 項目本來運行正常&#xff0c;突然重啟項目運行時&#xff0c;提醒主類找不到&#xff0c;發現target未生成 2&#xff0c;解決辦法 查看.idea里面的文件&#xff0c;正常是下面這樣的 如果有缺失&#xff0c;刪除.idea里面的文件&#xff0c;清除idea緩…

【unity游戲開發——Animator動畫】Animator動畫狀態機復用——重寫動畫控制器 Animator Override Controller

注意&#xff1a;考慮到UGUI的內容比較多&#xff0c;我將UGUI的內容分開&#xff0c;并全部整合放在【unity游戲開發——Animator動畫】專欄里&#xff0c;感興趣的小伙伴可以前往逐一查看學習。 文章目錄 一、狀態機復用是什么&#xff1f;二、實戰專欄推薦完結 一、狀態機復…

山東大學軟件學院創新項目實訓(11)之springboot+vue項目接入deepseekAPI

因為該階段是前后端搭建階段&#xff0c;所以沒有進大模型的專項訓練&#xff0c;所以先用老師給的deepseek接口進行代替 且因為前端設計部分非本人負責且還沒有提交到github上&#xff0c;所以目前只能先編寫一個簡易的界面進行功能的測試 首先進行創建model類 然后創建Cha…

FreeRTOS入門與工程實踐-基于STM32F103(二)(互斥量,事件組,任務通知,軟件定時器,中斷管理,資源管理,調試與優化)

互斥量 一、互斥量&#xff08;Mutex&#xff09;&#xff1a;解決多任務 “搶資源” 的問題 1. 是什么&#xff1f; 互斥量是一種 “任務間互斥訪問資源” 的工具&#xff0c;本質是一個 只能被鎖定&#xff08;0&#xff09;或釋放&#xff08;1&#xff09;的二進制信號量…

軟考筆記10——網絡與信息安全基礎知識

第十章節——網絡與信息安全基礎知識 網絡與信息安全基礎知識 第十章節——網絡與信息安全基礎知識一、網絡概述1. 計算機網絡概念2. 計算機網絡分類3. 網絡拓補結構4. ISO/OSI網絡體系結構1. ISO/OSI參考模型 二、網絡互聯硬件1. 網絡的設備2. 網絡的傳輸介質 三、網絡協議與標…

Tycoon2FA釣魚工具包發布重大更新,強化反檢測能力

釣魚即服務&#xff08;PhaaS&#xff09;平臺升級反檢測功能 網絡安全公司Sekoia于2023年發現的釣魚工具包Tycoon2FA近期發布重大更新&#xff0c;顯著提升了其反檢測能力。該工具包現采用多項高級規避技術&#xff0c;包括通過HTML5 canvas實現的自定義驗證碼、混淆JavaScri…

【信息系統項目管理師】高分論文:論信息系統項目的整合管理(旅游景區導游管理平臺)

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 論文一、制定項目章程二、制訂項目管理計劃三、指導和管理項目工作四、管理項目知識五、監控項目工作六、實施整體變更控制七、結束項目或階段論文 在國家《中國旅游“十三五”發展規劃信息化專項規劃的背景下…

深入理解微信小程序開發:架構、組件化與進階實戰

&#x1f4d8;博文正文&#xff1a; 深入理解微信小程序開發&#xff1a;架構、組件化與進階實戰 微信小程序已成為移動互聯網的重要入口。隨著業務復雜度提升&#xff0c;僅靠入門知識已無法應對日常開發需求。本文將深入剖析小程序開發架構、組件化模式、狀態管理、網絡封裝…

PBKDF2全面指南(SpringBoot實現版)

文章目錄 第一部分:PBKDF2基礎概念1. 什么是PBKDF2?2. 為什么需要PBKDF2?3. PBKDF2的工作原理4. PBKDF2與其他密碼散列函數的比較第二部分:在Java和SpringBoot中使用PBKDF21. Java內置的PBKDF2支持2. SpringBoot中集成PBKDF22.1 添加依賴2.2 配置PBKDF2密碼編碼器2.3 自定義…

RTP Payload Format for H.264 Vide(1)

摘要&#xff1a;&#xff1a; 本備忘錄描述了一種用于 ITU-T H.264 視頻編碼標準&#xff08;與 ISO/IEC 國際標準 14496-10 技術上相同&#xff09;的 RTP 負載格式&#xff0c;但不包括可伸縮視頻編碼&#xff08;SVC&#xff09;擴展和多視角視頻編碼&#xff08;MVC&#…

論文翻譯:2024-arxiv How to Steer LLM Latents for Hallucination Detection?

總目錄 大模型安全相關研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 How to Steer LLM Latents for Hallucination Detection? https://arxiv.org/pdf/2503.01917 https://www.doubao.com/chat/2818934852496130 其它資料: https://blog.csdn.net/we…

第四篇:[特殊字符] 深入理解MyBatis[特殊字符] 掌握MyBatis Generator ——入門與實戰

引言 什么是 MyBatis Generator&#xff1f; MyBatis Generator (MBG) 是一個代碼生成工具&#xff0c;專為 MyBatis 框架設計。它可以根據數據庫表結構自動生成 Java 實體類、Mapper 接口、Mapper XML 文件以及 Example 類。通過使用 MBG&#xff0c;開發者可以顯著減少編寫…

利用純JS開發瀏覽器小窗口移動廣告小功能

效果展示 直接上代碼 如果要用到vue項目里面&#xff0c;直接按照vue的寫法改動就行&#xff0c;一般沒有多大的問題&#xff0c;頂部的占位是我項目需求&#xff0c;你可以按照要求改動。 <!DOCTYPE html> <html> <head><meta charset"utf-8"…