Kubernetes
1、简介
2、解决的问题
1、服务器环境
kubernetes是使用docker进行容器管理的,所以天生具备docker的所有特性,只需要使用相应环境的docker镜像就可以运行服务,还需要关心宿主机是redhat、centos还是ubuntu,只要在宿主机上安装docker环境即可,相比传统运维,减少了各种依赖环境的冲突,降低运维成本,也方便整体服务的迁移。
2、服务器资源管理
对于kubernetes来说,是不关心有几台服务器的,每个服务器都是一个资源对象(node),kubernetes关心的是这个node上有多少可用的cpu和内存。例如现在有两台服务器
server01 (4c16g), 已用(2c7.5g)
server02 (4c16g), 已用(3c13g)
现在有一个服务servicea需要部署,servicea申明自己运行需要至少3g内存,这时kubernetes会根据调度策略将其部署到server01上,很明显server01的资源是更加充足的。实际上kubernetes的调度策略要复杂的多,kubernetes会监控整体服务器资源的状态进行调度,而以前的运维方式只能由人工判断资源使用
3、服务容灾恢复
说简单点,就是服务挂了之后,能够自动恢复。例如现在有一个servicea,运行在server01上,kubernetes会通过内部的kubelet组件监控servicea服务进程的状态,一旦发现进程丢失(服务本身挂掉或者整个server01的服务器挂掉),就会尝试换一台资源充足的服务器重新部署servicea并启动,这样就可以确保我们的服务一直是可用状态,而不需要人工维护。
4、可视化管理
在kubernetes中,所有的概念都抽象成不同的对象,而所有的对象都是可以通过图形化界面进行管理和监控的,当然了,也同时提供了命令行客户端kubectl进行管理。
上一篇: SQL与NoSQL
下一篇: golang的time包