Cloud Native Foundation - Overview
|Word Count:196|Reading Time:1mins
基本概念
- 在包括公有云、私有云、混合云等动态环境中构建和运行规模化应用的能力
- 云原生是一种思想,是技术、企业管理方法的集合
- 技术层面
- 应用程序从设计之初就为在云上运行而做好准备
- 云平台基于自动化体系
- 流程层面
- 基于 DevOps CI/CD
- 技术层面
- 基于多种手段
- 应用容器化封装
- 服务网格
- 不可变基础设施
- 声明式API - 核心 + 标准
- 意义
- 提升系统的适应性、可管理性、可观测性
- 使工程师能以最小成本进行频繁和可预测的系统变更
- 提升速度和效率,助力业务成长,缩短I2M(Idea to Market)
核心项目
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2021-07-12
应用编排与管理 -- Job + CronJob
Job作用 创建一个或多个 Pod 来确保指定数量的 Pod 可以成功地运行终止 跟踪 Pod 状态,根据配置及时重试失败的 Pod 确定依赖关系,保证上一个任务运行完毕后再运行下一个任务 控制任务并行度,并根据配置确保 Pod 队列大小 实践YAML 文件job.yaml123456789101112131415161718apiVersion: batch/v1kind: Jobmetadata: name: pispec: backoffLimit: 4 # 重试次数 template: # Pod Selector spec: containers: - name: pi image: perl ports: null command: - perl - '-Mbignum=bpi' - '-wle' - print bpi(2000) restartP...

2024-10-13
Observability - Concept
概述 可观测性 - 从系统向外部输出的信息来推断出系统内部状态的好坏 可观测强调的是一种度量能力 在不发布新代码(如新增诊断日志)的情况下理解系统内部状态 - 系统具有可观测性 Metrics + Logs + Tracing Metrics + Logs + Tracing 只是遥测数据类型,而 Observability 并非具体技术,而是系统属性,类似于 HA Key Desc Metrics 在一段时间内测量的数值,默认是结构化的,便于查询和存储优化 Logs 对特定时间发生的事件的文本记录,一般是非结构化字符串,会在程序执行期间被写入磁盘 Tracing 表示请求通过分布式系统的端到端的路径,执行的每个操作被称为 Span Tracing 一般会通过可视化的瀑布图展现出来 Metrics 由于 Metrics 最大的特点是聚合性 Metrics 生成的数值是反映预定义时间段内系统状态的汇总报告 - 缺乏颗粒度 Metrics 之间可能彼此不相关 Metrics 常用于 - 静态仪表盘的构建、随时间变化的趋势分析、监控维度是否保持在定义的阈值内 但都...

2022-09-18
Kubernetes - Containerization
镜像 只读:依赖的文件系统、依赖库、环境变量、启动参数等 核心解决的问题:应用分发 应用容器化 应用不再直接与 OS 打交道,而是封装成镜像,再交给容器环境去运行 常用命令镜像 命令 作用 docker pull 从远端仓库拉取镜像 docker images 列出当前本地已有的镜像 docker rmi 删除不再使用的镜像 容器12$ docker run -h srv --rm alpine hostnamesrv 1234567891011121314151617181920$ docker run -d nginx:alpine6376e2649ef2d4a6073b977fcc4408f7a3f21b6f32775b42be85711b989dd6ce$ docker run -d --name redis_srv redis2a79d491ecb3108b07df7d369dfe8abc6ac314efc2054951ef7b77e0deba0584$ docker run -it --name ubuntu ubuntu sh# cat /etc/o...

2022-12-17
Go - Project Layout
演进历史Go 1.3 以 all.bash 为代表的源码构建脚本放在了 src 的顶层目录下 123456789101112131415161718192021222324$ tree -LF 1 ./src./src/├── Make.dist├── all.bash*├── all.bat├── all.rc*├── clean.bash*├── clean.bat├── clean.rc*├── cmd/├── lib9/├── libbio/├── liblink/├── make.bash*├── make.bat├── make.rc*├── nacltest.bash*├── pkg/├── race.bash*├── race.bat├── run.bash*├── run.bat├── run.rc*└── sudo.bash* ./src/cmd 存放着 Go 可执行文件的相关目录,每个子目录都是一个 Go 工具链命令或子命令对应的可执行文件 12345678910111213141516171819$ tree -LF 1 ./src/cmd./src/cmd/├── ...

2021-07-07
Kubernetes -- 核心概念
核心功能 Kubernetes是工业级容器编排平台,源于希腊语,意为『舵手』、『飞行员』 Kubernetes是自动化的容器编排平台:部署、弹性、管理 核心功能 服务发现与负载均衡 容器自动装箱(调度) 存储编排 自动容器恢复 自动发布与回滚 配置与密文管理 批量执行(Job) 水平伸缩(弹性) 调度Placement(红色容器):调度器观察正在被调度容器的大小,为其寻找一个能满足其资源需求的节点 自动恢复 将失败节点上的容器迁移到健康节点 水平伸缩 架构 Master 组件 职责 扩展性 API Server 用来处理 API 操作Kubernetes中所有组件都会与 API Server 进行连接组件与组件之间一般不进行独立的连接,依赖于 API Server 进行消息的传送 水平扩展 Controller 用来完成集群状态的管理(如自动恢复、水平扩张等) 热备 Scheduler 用来完成调度操作 热备 etcd 分布式存储系统,用来存储 API Server 所需要的元数据本身为高可用系统,可以保证 Master 组件的高可用性 Node Nod...

2021-07-11
应用编排与管理 -- Deployment
作用每个 Deployment 管理一组相同的应用 Pod(相同的一个副本) 实践YAML 文件nginx-deployment123456789101112131415161718192021apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 3 # 期望的 Pod 数量 selector: # Pod Selector matchLabels: app: nginx template: # Pod Template metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 查看 Deployment123456789$ kubectl g...
Announcement
Things are always unexpected!






