Kubernetes 详解--简介

K8s 开源平台:跨集群主机的自动化部署、伸缩、应用管理,提供以容器为中心的基础设施。

1、迅速部署应用或者定时部署

2、伸缩应用

3、无缝升级回滚应用

4、最大化利用硬件资源(每个应用只分配它所需要的资源)

容器相对于虚拟机的优势:

1、应用的敏捷创建和部署:得益于容器镜像的轻量级

2、持续的部署、集成、部署:提供可靠搞笑的容器镜像制作和部署,易于回滚(基于镜像部署时,镜像并不会改变)

3、Dev和ops 分离:在编译发布阶段创建容器镜像,而不是在部署阶段。能够将应用的运行和基础设施分离

4、开发、测试、生产三种场景,可以在笔记本也可以在公有云

5、不感知操作系统:Centos、Ubuntu,各种容器引擎,都可以。

6、以应用为中心的管理:不感知底层资源(基于虚拟机还是物理机)

7、松散,分布式、弹性、无约束的微服务

8、资源隔离:应用性能可以预测

9、资源利用率:高效率和密集度的资源利用

Kubernets可以将运行在物理或者虚拟机集群,可以将应用从主机架构的基础设施迁移到以容器为中心的基础设施。Kubernets 主要是构建以容器为中心的基础设施。Kubernets满足了将应用运行到生产环境的大部分需求:

1、容器级别的进程协作:组合复杂应用,同时保留 一个应用一个容器的模型,参考Kubernets POD的概念

2、挂载存储

3、密钥管理

4、应用健康检查

5、水平弹性伸缩

6、命名和服务发现

7、负载均衡

8、滚动升级

9、资源监控

10、日志收集

11、support for introspection and debugging

12、认证和权限控制

l  Kubernets 不是一个传统的,全部包含的Paas。K8s不限制运行在k8s的应用运行环境,不区分应用和服务这两个概念。K8s目标是能够支持极端多样的负载,包含无状态、有状态、数据处理流。如果一个应用能够运行在Container,那么它就能够运行在K8s

l  K8s不提供中间件服务,消息中间件,数据处理框架、数据库,不提供集群存储并不会内置到K8s,但是这些服务可以运行到K8s

l  K8s 不提供一键部署的Service Market

l  K8s 不会部署源码,不会build 应用。CI因人而已

l  K8s 允许用户选择日志,监控,告警

l  K8s 没有提供,也没有强制一个综合的应用管理系统

l  K8s 没有提供也没有采用任何复杂的集群配置、维护、管理、自愈系统

K8s主要进行应用级别的管理,提供一些通用的应用管理特性:部署、扩容、负载均衡、日志、监控。然而k8s并不是单一的整理,这些默认的解决方案都是可选,可插拔的