如何在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
- 技术扩展阅读