◆Service的工作模式:userspace, iptables, ipvs

•userspace: 1.1以前;已被淘汰。

•iptables: 1.10以前

• 灵活,功能强大

• 规则遍历匹配和更新,呈线性时延

• 可扩展性

•ipvs: 1.11以后,若没有配置ipvs,则降级为iptables;

• 工作在内核态,有更好的性能

• 调度算法丰富:rr,wrr,lc,wlc,ip hash

 

◆Service的类型:即服务的对外暴露方式。

ExternalName:当Service类型是ExternalName时,Service所关联的不是本地Pod应用,而是集群外部的服务。从而实现集群内部的Pod应用调用集群外部的服务,可以把集群外部的服务当作内部服务一样去调用它。当Service类型是ExternalName时,spec.externalName字段才生效。

 •ClusterIP:默认,自动分配一个仅cluster内部可以访问的虚拟IP,用于集群内部通信。

NodePort:分配一个内部集群IP地址,并在每个节点上启用一个端口来暴露服务,可以在集群外部访问。 访问地址:node端口范围30000-32067。

流:Client→NodeIP:NodePort→ClusterIP:ServicePort→PodIP:containerPort。

LoadBalancer:分配一个内部集群IP地址,并在每个节点上启用一个端口来暴露服务。 Kubernetes会请求底层云平台上的负载均衡器,将每个Node([NodeIP]:[NodePort])作为后端添加进去。

◆service例(类型:ClusterIP/redis-svc.yaml)

 1 apiVersion: v1
 2 kind: Service
 3 metadata:
 4   name: redis
 5   namespace: default
 6 spec:
 7   selector:
 8      app: redis
 9      role: logstor
10   clusterIP: 10.96.97.97
11   type: ClusterIP
12   ports:
13   - port: 6379
14     targetPort: 6379 
View Code

相关文章:

  • 2022-12-23
  • 2021-12-13
  • 2021-05-08
  • 2021-07-27
  • 2021-10-18
  • 2022-12-23
  • 2021-05-01
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-31
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2021-06-07
  • 2021-12-12
相关资源
相似解决方案