Kubernetes入门
一、认识Kubernetes
K8s是一个全新的基于容器技术的分布式架构领先方案。K8s是一个开放的开发平台。K8s不局限于任何一种语言,没有限定任何编程接口,所以不论是用Java、Go、C++还是用Python编写的服务,都可以毫无困难地映射为K8s的Service,并通过标准的TCP通信协议进行交互。由于K8s平台对现有的编程语言、编程框架、中间件没有任何侵入性,因此现有的系统也很容易改造升级并迁移到K8s平台上。
K8s是一个完备的分布式系统支撑平台。
K8s具有完备的集群管理能力:
- 多层次的安全防护和准入机制
- 多租户应用支撑能力
- 透明的服务注册和服务发现机制
- 内建智能负责均衡器
- 强大的故障发现和自我修复能力
- 服务滚动升级和在线扩容能力
- 可扩展的资源自动调度机制
- 多粒度的资源配额管理能力
- 完善的管理工具,涵盖包括开发、部署测试、运维监控在内的各个环节
因此,K8s是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
二、Service
在K8s中,Service(服务)是分布式集群架构的核心,一个Service对象拥有如下关键特征。
- 拥有一个唯一指定的名字(比如mysql-server)
- 拥有一个虚拟IP(Cluster IP、Service IP 或 VIP)和端口号
- 提供远程服务能力
- 被映射到了提供这种服务的一组容器应用上
负载均衡和故障恢复机制
Service的服务进程目前都基于Socket通信