• k8s中的service组件


    背景

    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容器端口对应的宿主机的端口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

    kind: service   --service组件类型
    spec:
    	selector:
    		name:tomcat-pod  --选择的pod的label标识
    		ports:
    			port:80	--service的访问端口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    当完成以上步骤后,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的形式

  • 相关阅读:
    1、MQ基础
    能否在 vpp 外部释放 vpp 创建的 vlib buffer?
    (附源码)springboot教学评价 毕业设计 641310
    rtsp 和 rtmp 推流(一)
    vue-cli引入全局less
    【C语言基础】循环
    智慧家庭解决方案-最新全套文件
    Excel - 使用VBA通过ADO数据库连接来操作一个Excel数据源
    Java中的字符串
    金融的本质是什么?
  • 原文地址:https://blog.csdn.net/lixia0417mul2/article/details/136588452