如何在Kubernetes上開發和維護插件,擴展Kubernetes的功能?
lstio 是什么?
---
AIGC
---
游戲
----
> # Docker
- 核心概念
* **鏡像(Image)**:一個應用的運行環境(類似 ISO)。
* **容器(Container)**:從鏡像啟動的運行實例(類似虛擬機,但更輕量)。
* **Dockerfile**:定義如何構建鏡像的文件。
* **倉庫(Registry)**:存儲鏡像的地方(如 Docker Hub)。
* **網絡(Network)**:橋接容器通信(bridge、host、overlay)。
* **數據卷(Volume)**:持久化存儲數據。
```
docker ps # 查看運行的容器
docker images # 查看本地鏡像
docker logs -f 容器ID # 查看日志
docker exec -it 容器ID sh # 進入容器
docker rm -f 容器ID # 刪除容器
docker rmi 鏡像ID # 刪除鏡像
```
- Kubernetes:一個**容器編排系統**,提供了自動化的容器部署、擴展、負載均衡、容器健康檢查、日志管理等功能,幫助開發者和運維人員高效地管理容器化應用。
- Pod 是 Kubernetes 中最小的可部署單元,它包含一個或多個容器。多個容器在同一個 Pod 中運行時,它們共享網絡、存儲等資源。
- Service: 為一組 Pod 提供一個固定的訪問地址來解決這個問題。這個固定的地址不會隨著 Pod 的重啟或遷移而改變
* **ClusterIP**:默認類型,只能在集群內部訪問。
* **NodePort**:讓你可以通過集群節點的 IP 和指定端口訪問服務。
* **LoadBalancer**:在支持的云平臺上,創建一個外部負載均衡器來訪問 Service。
* **ExternalName**:將 Service 映射到外部的 DNS 名稱(例如:`example.com`)
- Deployment (迪普洛伊門特)用于管理 Pod 的副本,控制應用的生命周期
- Namespace: 是 Kubernetes 中的一種隔離機制,允許在同一個集群內創建多個虛擬集群,每個虛擬集群有自己的資源和配置(區分 dev pre master)
* **ConfigMap 和 Secret**:
* **ConfigMap** 用于存儲非敏感的配置信息,**Secret** 用于存儲敏感信息(如密碼、API 密鑰等)。
* **Persistent Volume (PV) 和 Persistent Volume Claim (PVC)**:
* PV 是集群中的存儲資源,PVC 是對 PV 的請求。Kubernetes 管理存儲資源的生命周期,以便容器使用持久化存儲。
- Prometheus(普羅米修斯)- 收集和存儲監控數據:
- 開源的**時序數據庫(TSDB)**,專門用于**監控 & 報警**
- 通過 **Pull 模型** 定期從**目標**拉取監控數據
- Grafana(格拉發納)- 展示和分析監控數據:
- 可視化監控工具, 提供Dashboard(儀表盤,可以創建圖表、警報
- DevOps (德夫-奧普斯):
* **Agile**:采用敏捷框架(如 Scrum、Kanban、Extreme Programming 等)來管理開發過程,強調團隊自主性、日常站立會議(Daily Standup)、沖刺(Sprint)、回顧和迭代。
* **DevOps**:采用一系列自動化工具和流程來進行代碼的構建、測試、部署、監控和反饋。包括持續集成(CI)、持續交付(CD)、自動化測試、基礎設施即代碼(IaC)等實踐
---
- 深度學習框架:
- TensorFlow : 谷歌(Google)開發的開源機器學習庫
- PyTorch : Facebook(現 Meta)開發的一個開源機器學習框架
- Python Django框架(江戈)
* **Django**:
* **大型和復雜的項目**:Django 是一個“全棧框架”,它集成了大量的功能(如 ORM、身份驗證、管理后臺等),非常適合開發功能復雜、需要快速開發的應用程序,尤其是大型網站和復雜系統。
* **有規范和標準化要求的項目**:Django 提供了統一的開發結構和很多約定,適合團隊合作和需要遵循最佳實踐的項目。
* **開發時間緊迫且功能要求全面的項目**:如果你需要一個開箱即用的解決方案,Django 提供了許多內置工具,可以快速開始開發。
* **Flask**:
* **小型項目和原型開發**:Flask 是一個輕量級的框架,非常適合快速構建小型應用、原型開發或 MVP(最小可行產品)。
* **需要高度自定義的應用**:如果你需要完全控制應用程序的結構和功能,Flask 的靈活性非常適合這種場景。
* **RESTful API 開發**:Flask 非常適合開發 API 服務,許多開發者使用 Flask 來創建輕量級、快速響應的 RESTful API。
- 目錄
- 第一例 gRPC使用例子
- 第二例 基于go-micro做服務注冊和服務發現
- 第三例 留言板項目源碼
- 第四例 聊天室
- 第五例 工具庫
- dao
- common
- common.go
- config
- config.go
- gorm
- grom.go
- sqlx
- sqlx.go
- kafka
- kafka.go
- log
- log.go
- log2.go
- redis
- redis.go
- zookeeper
- zookeeper.go
- init
- main.go
- 工具庫
- cache
- cfg.go
- redis
- 示例
- database
- cfg.go
- gorm.go
- sql.go
- 示例
- mq
- cfg.go
- kafka_consumer.go
- kafka_producter.go
- 示例
- time
- time.go
- 第六例 原生sql操作
- 第七例 sqlx操作
- 第八例 Redis數據庫(gomodule/redigo)
- 第九例 Redis消息隊列
- 第十例 Redis集群連接
- 十一例 Zookeeper操作
- 十二例 Kafka操作
- 十三例 NSQ操作
- 十四例 二分查找
- 十五例 交換排序 - 冒泡排序
- 十六例 插入排序 - 直接插入排序
- 十七例 插入排序 - 希爾排序
- 十八例 交換排序 - 快速排序
- 十九例 算法求解應用
- 二十例 pprof性能分析
- 二一例 CPU信息采集
- 二二例 Heap信息采集
- 二三例 Http信息采集
- 二四例 單元測試(功能測試)
- 二五例 基準測試(壓力測試/性能測試)
- 二六例 gdb調試
- 二七例 json序列化和反序列化
- 二八例 protobuf序列化和反序列化
- 二九例 包管理工具 go vendor
- 三十例 包管理工具 go mod
- 三一例 zip壓縮
- 三二例 交叉編譯
- 三三例 線上環境部署
- 三四例 業務:實現固定周期維護
- 三五例 聊天室(精簡版)
- 三六例 并發安全字典
- 三七例 導出Excel表格
- 三八例 導出CSV表格
- 三九例 聊天室(高并發)
- 四十例 JWT (Json Web Token)
- 四一例 雪花算法生成 Id
- 四二例 對稱加密 AES
- 四三例 非對稱加密 RSA
- 四四例 簽名算法 SHA1
- 四五例 數據庫操作 gorm
- gorm V2
- 四六例 數據庫操作 gorm 集合
- 數據庫連接和創建表
- 查詢 - 分頁
- 查詢所有數據
- 查詢單條數據
- 插入一條或多條數據
- 更新一條或多條數據
- 更新一條或多條數據(有零值)
- 四七例 RSA(MD5WithRSA 算法)簽名和驗簽方式
- 四八例 線上部署腳本
- 四九例 Elasticsearch
- 五十例 對象池
- 五一例 中間庫(github.com/wong-winnie/library)
- 五二例 二維碼(生成和解析)
- 五三例 回調用例
- 五四例 文件服務器(MINIO)
- 五五例 chm文檔轉json
- 提取內容頁Json
- 將目錄索引和內容頁混合生成Json
- 目錄層級小案例
- 五六例 部署 gogs 代碼管理工具
- 五七例 通過命令行操作SVN
- 五八例 根據數據庫表生產模型
- 五九例 Trie樹
- 六十例 二進制排序
- 六一例 遞歸+迭代實現無限級分類
- 六二例 Arrow 數據結構
- 簡單介紹
- Go 用Arrow數據格式與其它語言交互
- 六三例 LMDB 內存映射型數據庫
- 獲取指定Key位置
- 六四例 切片數據按字段分類
- 六五例 Xorm 批量插入數據
- 六六例 FlatBuffers 序列化和反序列化
- FlatBuffers 步驟1
- FlatBuffers 步驟2
- 六七例 數據同步
- 增量同步v1
- 全量同步v1
- 定時器
- 六八例 Http請求
- 六九例 Gin + 數據庫操作
- 七十例 ClickHouse 列式數據庫
- 七一例 用圖表展示數據庫數據
- 七二例 go:linkname
- 七三例 四舍五入、保留3小數位
- 七四例 判斷兩個時間戳是否同一天
- 七五例 Gin Http請求
- 七六例 過濾器
- 七七例 Excel 導入導出
- 七八例 小程序向公眾號推消息
- 七九列 解析二進制數據
- 例子一
- 例子二
- 八十例 路由轉發
- 八一例 協程池(安全執行任務,捕獲異常)
- 八二例 切片 slice
- 八三例 集合 map
- 八四例 Redis 六種數據類型
- 八五例 Zstd壓縮
- 八六例 提高接口并發量
- 八七例 協程 goroutine 和 通道 channel
- 八七例 Mysql 事務和索引等
- 編寫中
- 數據交互
- mysql 索引和事務
- 發請求
- defer
- 其它
- linux
- OAuth2.0 和 JWT
- 其它2
- 其他
- Web3.0 智能合約
- 多人貪吃蛇
- V1
- 客戶端
- 服務端
- V2
- 同步方式
- 游戲框架
- deepseek
- k8s
- TRPC
- Kafka
- 加密
- mm
- 技術擴展閱讀