Skip to content

Latest commit

 

History

History
54 lines (47 loc) · 2.36 KB

README.md

File metadata and controls

54 lines (47 loc) · 2.36 KB

cncf

路标。或者说包含的类别:

  • 容器化
    • 可以配合docker使用
    • 不管应用服务的文件大小和依赖,都可以进行容器化
    • 随时间推移,应用服务可以被分割,功能可以微服务化
  • ci/cd
    • 持续集成 持续发布,源码的更改会自动进行构建 测试 发布到各个平台:测试平台、最终平台、预发布平台、产品
    • 自动化:自动发布,自动回滚,自动测试
  • 服务编排
    • k8s是市场领先的服务编排解决方案
    • cncf提供了已认证过的k8s发布版本,确保api都是合规定的
    • helm是k8s的包管理器,可以帮助构建更加复杂的k8s应用
  • 可观察、可分析
    • 这里的解决方案更多的是为了监控、日志、跟踪
    • 推荐使用prometheus项目做监控、fluentd做日志、jaeger做跟踪
    • 跟踪,也可以使用OpenTracing项目,兼容jaeger
  • 服务代理、服务发现、服务网格
    • 服务发现可使用CoreDNS,原因是快、灵活
    • 服务网格可是用Envoy或是Linkerd
    • 她们都提供了离线健康检查、路由、负载均衡
  • 网络和策略
    • calico、flannel、weave都兼容cni网络(container network interface)
    • opa有着更加一般的目标:策略引擎支持 认证、准入控制、数据过滤
  • 分布式数据库/分布式存储
    • 目标是更高的弹性、更强的可伸缩性。mysql的可伸缩可使用vitess项目
    • rook存储和k8s有良好的集成
    • k8s的核心大脑:etcd可提供一个可靠的存储集群
    • tikv是一个高性能分布式kv存储,ps 使用rust写的
  • 流和消息
    • 考虑高性能而不是json-rest,可选择grpc或nats
    • grpc使用广泛,nats支持多模式消息系统(请求/应答,订阅/发布,负载均衡队列)
  • 服务注册和运行时
    • 最常用,且兼容oci规范的是containerd、rkt、cri-o
    • harbor是一个容器仓库,可以存储、标记、扫描
  • 软件发行
    • "更新框架"的一个实现:Notary,用于 安全的软件发行

什么叫云原生:
应用程序要满足一下几点:

  • 运行时可伸缩
  • 运行在现代/动态环境:公有云、私有云、混合云
  • 容器化、服务网格、微服务、不变的基础设施、申明式api

这些技术都是为了构建一个松耦合的系统:

  • 有弹性、可管理、可视化
  • 自动化
  • 让工程师快速交付
  • 降低投入