k8s中的service组件

背景

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

k8s中的service组件

假设我们要配置一个tomcat的service集群,配置步骤如下

1.首先我们要创建tomcat的pod,内部打开了端口8080,映射到宿主机8090端口中,配置文件如下

xml 复制代码
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服务,配置文件如下:

xml 复制代码
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的形式

相关推荐
Lsetea15 分钟前
Kubernetes 1.37 Pod证书怎么签发:Signer与mTLS信任链排查
云原生·kubernetes·ssl证书·tls·mtls
新时代牛马2 小时前
docker run 起不来?从dockerd、containerd 到runc 一条线讲透
运维·docker·容器
努力努力再努力wz3 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
JavaPub-rodert4 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器
2601_962218474 小时前
万象生鲜系统多账套隔离技术适配集团生鲜企业集团化数字化管控
大数据·运维·微服务·云原生·架构
@PHARAOH5 小时前
WHAT - 微服务统一入口配置原理
微服务·云原生·架构
PC2005-cloud6 小时前
Qdrant 连接失败排查:localhost 解析到 __1,而 Docker 只绑了 IPv4
运维·docker·容器
2601_962218478 小时前
万象生鲜系统智能报表引擎技术为生鲜企业提供数字化经营分析能力
大数据·运维·微服务·云原生·架构
Meta399 小时前
cenots8安装docker
docker·容器·centos
CAE虚拟与现实12 小时前
docker desktop中的build功能是要build什么
java·docker·容器