这篇文章主要为大家展示了“kubernetes中云原生的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中云原生的示例分析”这篇文章吧。
一: 云原生
云原生包含了一组应用的模式,用于帮助企业快速,持续,可靠,规模化地交付业务软件。云原生由微服务架构,DevOps 和以容器为代表的敏捷基础架构组成
二:微服务十二要素
1.基准代码
每个代码仓库(repo)都生成docker image保存到镜像仓库中,并使用唯一的ID管理,在Jenkins中使用编译时的ID。
2.依赖
显式得声明代码中的依赖,使用软件包管理工具声明,比如Go中的Glide。
3.配置
将配置与代码分离,应用部署到kubernetes中可以使用容器的环境变量或ConfigMap挂载到容器中。
4.后端服务
把后端服务当作附加资源,实质上是计算存储分离和降低服务耦合,分解单体应用。
5.构建、发布、运行
严格分离构建和运行,每次修改代码生成新的镜像,重新发布,不能直接修改运行时的代码和配置。
6.进程
应用程序进程应该是无状态的,这意味着再次重启后还可以计算出原先的状态。
7.端口绑定
在kubernetes中每个Pod都有独立的IP,每个运行在Pod中的应用不必关心端口是否重复,只需在service中指定端口,集群内的service通过配置互相发现。
8.并发
每个容器都是一个进程,通过增加容器的副本数实现并发。
9.易处理
快速启动和优雅终止可最大化健壮性,kuberentes优秀的Pod生存周期控制。
10.开发环境与线上环境等价
在kubernetes中可以创建多个namespace,使用相同的镜像可以很方便的复制一套环境出来,镜像的使用可以很方便的部署一个后端服务。
11.日志
把日志当作事件流,使用stdout输出并收集汇聚起来,例如到ES中统一查看。
12.管理进程
后台管理任务当作一次性进程运行,kubectl exec进入容器内部操作。
三:Kubernetes与云原生
云原生应用就是为了在云上运行而开发的应用,要运行这样的应用必须有一个操作系统,就像我们运行PC或手机应用一样,而Kubernetes就是一个这样的操作系统。
以上是“kubernetes中云原生的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云搜网行业资讯频道!