linux cpu占用率如何看
251
2022-11-11
云原生技术
内容来自原文地址。并进行整理。
什么是云原生技术?
云原生技术可让企业在构建和运行可伸缩性应用时更加容易,并且应用所部署的环境是新潮的、动态变化。环境可以是公有云,私有云或者其他的云平台。容器,服务网格,微服务,不可变的基础设施,公开的API都接近云原生相关概念。
云原生技术可以让系统松耦合,支持弹性伸缩、可管理的、清晰的。通过整合健壮且有效的自动化,工程师可以用很少的劳动来完成频繁的、预期中的高危代码修改。
在企业中使用云技术时步骤大体分为:
程序装箱
通常使用Docker作为容器。任意大小的应用和依赖都可以装箱。随着上线后时间推移,可能需要把程序进行适当的分割,并写一些异步函数化的微服务。
CI/CD
使用持续集成和持续交付,修改代码后会自动在新的容器中构建,测试,发布到测试环境,如果需要,也可发布到生产环境。安装过程需要自动发布,回滚,测试。
基础平台和平台应用定义
Kubernetes是行业领先的基础平台解决方案。在cncf.io/ck上选择使用受到认证的Kubernetes分发,托管,安装工具。Helm,是Kubernetes的包管理器,可以帮我们定义、安装、更新最复杂的Kubernetes应用。
系统监控及分析
用于监控,日志,问题追踪。可考虑使用CNCF的项目Prometheus用于监控,Fluentd用于日志采集,Jaeger用于问题追踪。对于问题追踪也可用OpenTracing,实现类似Jaeger。
服务的代理、发现和网格(Mesh)
CoreDNS用于服务发现,特点是快速灵活。Envoy和Linkerd都是服务网格架构。均提供心跳检查,路由,负载均衡。
网络和相关安全策略
如果要用更灵活的网络,需要使用符合CNI的网络项目,例如Calico,Flannel,Weave Net。Open Policy Agent(OPA)是一个常规的策略引擎,包括授权、准入控制,数据过滤等。
分布式数据库和存储
如果需要数据库弹性和扩展性,Vitess是通过切分方式水平扩展MySQL。Rook是一个存储协调器,整合Kubernetes上的存储解决方案。etcd提供可靠的在集群中储存数据功能,是Kubernetes的大脑。TiKV是通过Rust开发的高性能的分布式带事务的key-value数据库。
流及消息处理
如果需要比JSON-REST更高的性能,可考虑使用gRPC或者NATS。gRPC是一个通用的RPC框架。NATS是一个多模型的消息处理系统,包括请求/回复,发布/订阅,负载均衡队列。
容器注册中心和运行时
Harbor是一个注册中心,会存储、签名和扫描内容。运行时我们可以选择,最常用是使用OCI兼容的产品,例如rkt或cri-o。
程序分发
如果需要安全稳定的程序分发,可使用Notary,基于TUF(The Update Framework)的实现。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~