k8s中的service组件

本文介绍了Kubernetes(k8s)中的service组件,作为类似nginx网关的入口,它实现负载均衡并提供持久IP。通过创建tomcatpod和配置service,展示了如何为集群服务分配IP并确保流量代理。同时提及了kube-proxy和iptables在服务发现中的作用,以及服务如何通过环境变量在使用方pod中被利用。
摘要由CSDN通过智能技术生成

背景

service组件是k8s中类似于nginx网关的入口,通过它可以访问到背后的pod提供的服务,并且自带负载均衡的功能,本文就简单看下service组件

k8s中的service组件

假设我们要配置一个tomcat的service集群,配置步骤如下
1.首先我们要创建tomcat的pod,内部打开了端口8080,映射到宿主机8090端口中,配置文件如下

kind: pod  --pod类型
metadata:
	labels:
		name: tomcat-pod --pod的label名称
spec:
	containers:
		name: tomcat --pod中docker容器名称
		image: tomcat --tomcat docker容器的镜像
		ports:
			containerport:8080 --pod中tomcat容器内部端口
			hostport:8090      --pod中tomcat容器端口对应的宿主机的端口

2.创建service组件,打开端口80,通过serviceIp:80可以访问到后端的pod服务,配置文件如下:

kind: service   --service组件类型
spec:
	selector:
		name:tomcat-pod  --选择的pod的label标识
		ports:
			port:80	--service的访问端口

当完成以上步骤后,k8s会给service组件分配一个独一无二的ip,而且是长期有效的,通过这个serviceIp和service对外的80端口,使用方就可以访问到后端的pod服务了。

k8s实现service组件的方式是在集群的每个节点上都安装了一个kube-proxy代理,它会负责设置iptables路由规则,保证访问service的流量可以正确的代理到对应的pod上面。

使用方pod中如何使用service服务?
当使用方pod使用到对应的service时,会把service的ip和端口通过环境变量的方式设置到使用方pod的环境变量中,如此使用方pod就可以把对service的访问变成访问serviceIp:port的形式

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值