Kubernetes K8s从入门到精通系列之五:K8s的基本概念和术语之应用类
一、Service与Pod
Service:
- Service指的是无状态服务,通常多个程序副本提供服务,在特殊情况下也可以是有状态的单实例服务,比如MySQL这种数据存储类的服务。
- K8s里的Service具有一个全局唯一的虚拟ClusterIP地址,客户端可以通过这个虚拟IP地址+服务的端口直接访问该服务,再通过部署K8s集群的DNS服务,可以实现Service Name(域名)到ClusterIP地址的DNS映射功能,只要使用服务的名称(DNS名称)即可完成到目标服务的访问请求。
Pod:
- Pod都有一个被称为根容器的Pause容器。
- 每个Pod都还包含一个或多个紧密相关的用户业务容器。Pod里的多个业务容器共享Pause容器的IP,共享Pause容器挂接的Volume,这样既简化了密切关联的业务容器之间的通信问题,也很好地解决了它们之间的文件共享问题。
- K8s为每个Pod都分配了唯一的IP地址,一个Pod里的多个容器共享Pod IP地址。K8s要求实现底层网络支持集群内任意两个Pod之间的TCP/IP直接通信,这通常采用虚拟二层网络技术实现,例如Flannel、Open vSwitch等。
- 在K8s里,一个Pod里的容器与另外主机上的Pod容器能够直接通信。