Service

文章介绍了如何在Kubernetes中通过Label和Selector让Pod与Service关联,强调4层负载与7层负载的区别,7层负载需借助Ingress。同时,讨论了Service的三种类型——ClusterIP、NodePort和LoadBalancer,以及如何处理集群外部访问服务的问题,包括NodePort、LoadBalancer、IngressController和ECMP的使用场景。
摘要由CSDN通过智能技术生成

根据标签label和selector标签使pod和service建联。只支持4层负载,7层负载需要使用ingress,ingress本身不会自动创建负载均衡器,集群中需要运行一个ingress controller 来根据ingress的定义来管理负载均衡器。

service常用三种类型:

  • ClusterIp(集群内部使用)
  • NodePort(对外访问应用使用)
  • LoadBalancer(对外访问应用使用,公有云)

集群外部访问服务怎么办?

  • 使用nodeport服务再每台机器上绑定一个端口,可以通过nodeIP:nodeport来访问服务
  • 使用loadbalancer服务借助cloud provider 创建一个外部的负载均衡器,并将请求转发到nodeIP:nodeport,该方法适用于运行再云平台之中的kubernetes集群。
  • 使用ingress controller 再service之上创建7层负载均衡并对外开放。
  • 使用ECMP将service clusterip 网段路由到每个node,这样可以直接通过clusterip来访问服务,甚至可以直接再集群外部使用kube-dns,这一版在物理机部署的情况下

备注:

Port:service端口

targetPort:pod端口(应用访问端口)

创建svc命令:

kubectl expose deployment web --port=80 --target-port=80 --type=NodePort -o yaml > service.yaml 
kubectl apply -y service.yaml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值