谈及容器技术,毫不夸张地说,2017年是“Kubernetes的元年”。Kubernetes自2014年推出以来,一直保持稳步增长。
云原生
Kubernetes的稳步增长,要归功于云原生的兴起。准确来说,云原生更像是一种文化,它是云计算的一个必然导向。
其实在 Kubernetes 出现之前,就已经有人提出了云原生的概念,如 2010 年 Paul Fremantle 就在他的博客中提出了云原生的核心理念,但是还没有切实的技术解决方案。
而那时候 PaaS 才刚刚出现,PaaS 平台提供商 Heroku 提出了12因素(基准代码、依赖、配置、后端服务、发布、进程、端口绑定、并发、易处理、开发环境与线上环境等价、日志、管理进程)应用的理念,为构建 SaaS 应用提供了方法论,该理念在云原生时代依然适用。
Kubernetes
Kubernetes 是一个相对较新的运行容器化负载的平台,它解决了这些问题。云原生应用理念要求将环境配置存在应用运行的环境中,在K8s集群中,所有的环境配置都存在分布式共享存储Etcd中。Kubernetes有一些操作对象是用来专门存储环境配置的。
例如ConfigMap是存储通用的配置变量的。ConfigMap有点儿像一个统一的配置文件,使用户可以将分布式系统中用于不同模块的环境变量统一到一个对象中管理。
更重要的是,云原生应用理念要求尽量保证开发、测试和生产环境的配置一致,但是同时这几个不同的环境又应该是彼此隔离。在Kubernetes集群中,不同的环境可以通过namespace进行隔离,保证彼此不互相干扰。
可以说,Kubernetes在像 OpenStack 这样的基础架构即服务(IaaS)和完整的平台即服务 (PaaS)的资源之间达到了最佳平衡,它的底层运行时实现完全由供应商控制。Kubernetes 提供了两个优势:对管理基础设施的抽象,以及深入裸机进行故障排除的工具和功能。
源自中国IDC圈
不要错过
领取专属 10元无门槛券
私享最新 技术干货