Skip to content

Latest commit

 

History

History
39 lines (29 loc) · 1.35 KB

2023-08-31-K8S-05Service.md

File metadata and controls

39 lines (29 loc) · 1.35 KB
layout title subtitle date author header-img catalog tags
post
K8S学习笔记|05-Service
Kubernetes
2023-08-31
Claire
img/post-bg-github-cup.jpg
true
Kubernetes
K8S
Service

前面提到Service是一个访问容器,主要了解Service如何为Pod做反向代理和负载均衡

Service和实际的Pod通过label来绑定,不受变化IP的影响

Service和Pod的网络映射关系通过iptables进行配置

Service拥有一个ClusterIP,由K8S的iptables规则管理

K8S Cluster的每一个节点都配置了相同的iptables规则,所有Cluster内都能通过Service的ClusterIP访问它

除了ClusterIP和iptables规则,还可以通过DNS来访问Service

kubeadm默认安装kube-dns组件

外网访问Service的方式

  • ClusterIP 只有Cluster内的节点和Pod可访问
  • NodePort 通过Cluster的静态端口提供服务,通过 NodeIp:NodePort 访问,实际是通过增加iptables规则,支持负载均衡到每一个Pod
    • nodePort如果不指定是使用随机选择的,也可以手动指定,随机选择的范围在30000~
    • nodePort是节点上监听的端口
    • port是ClusterIp上监听的应用的端口
    • targetPort是Pod监听的端口
    • nodePort和port监听到的请求都会转到tartgetPort上

LoadBalancer 使用cloud provider特有的 load balancer对外提供服务