Pod
Pod 最重要的一个事实是:它只是一个逻辑概念。Pod,其实是一组共享了某些资源的容器。
共享Network Namespace<br>
共享Volume
生命周期
Pending
Running
Succeeded
Failed
Unknown
Container
Deployment
Deployment 实际上是一个两层控制器。首先,它通过ReplicaSet 的个数来描述应用的版本;然后,它再通过ReplicaSet 的属性(比如 replicas 的值),来保证 Pod 的副本数量。
Deployment 控制 ReplicaSet(版本),ReplicaSet 控制 Pod(副本数)。这个两层控制关系一定要牢记。
Service
my-svc.my-namespace.svc.cluster.local-》serviceip-》podip
Service 是由 kube-proxy 组件,加上 iptables 来共同实现的
一直以来,基于 iptables 的 Service 实现,都是制约 Kubernetes 项目承载更多量级的 Pod 的主要障碍。<br><br>而 IPVS 模式的 Service,就是解决这个问题的一个行之有效的方法
ClusterIP(默认)
集群的内部 IP 公开 Service,选择该值时 Service 只能够在集群内部访问
NodePort
通过每个节点上的 IP 和静态端口(NodePort)公开 Service。
LoadBalancer
使用云平台的负载均衡器向外部公开 Service。
ExternalName
将服务映射到 externalName 字段的内容(例如,映射到主机名 api.foo.bar.example)。 该映射将集群的 DNS 服务器配置为返回具有该外部主机名值的 CNAME 记录。 集群不会为之创建任何类型代理。
Headless
不会获得集群 IP,kube-proxy 不会处理这类 Service, 而且平台也不会为它们提供负载均衡或路由支持。