k8s资源之service

K8s新手系列之Service资源 当创建Service的时候会通过api-server向etcd写入创建的service的信息,而kube-proxy会基于监听的机制发现这种Service的变动,然后它会将最新的Service信息转换成对应的访问规则。服务发现:Kubernetes 中的 Pod 是动态创建和销毁的,它们的 IP 地址也是动态分配的。在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 阅读详情

 欢迎关注我的公众号:

 目前刚开始写一个月,一共写了18篇原创文章,文章目录如下:

istio多集群探秘,部署了50次多集群后我得出的结论

istio多集群链路追踪,附实操视频

istio防故障利器,你知道几个,istio新手不要读,太难!

istio业务权限控制,原来可以这么玩

istio实现非侵入压缩,微服务之间如何实现压缩

不懂envoyfilter也敢说精通istio系列-http-rbac-不要只会用AuthorizationPolicy配置权限

不懂envoyfilter也敢说精通istio系列-02-http-corsFilter-不要只会vs

不懂envoyfilter也敢说精通istio系列-03-http-csrf filter-再也不用再代码里写csrf逻辑了

不懂envoyfilter也敢说精通istio系列http-jwt_authn-不要只会RequestAuthorization

不懂envoyfilter也敢说精通istio系列-05-fault-filter-故障注入不止是vs

不懂envoyfilter也敢说精通istio系列-06-http-match-配置路由不只是vs

不懂envoyfilter也敢说精通istio系列-07-负载均衡配置不止是dr

不懂envoyfilter也敢说精通istio系列-08-连接池和断路器

不懂envoyfilter也敢说精通istio系列-09-http-route filter

不懂envoyfilter也敢说精通istio系列-network filter-redis proxy

不懂envoyfilter也敢说精通istio系列-network filter-HttpConnectionManager

不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册

 

————————————————

•在k8s集群中,service是一个抽象概念,它通过一个虚拟的IP映射指定的端口,将代理客户端发来的请求转到后端一组pod中的一个上。这是个神马意思呢?pod中的容器经常在不停地销毁和重建,因此pod的IP会不停的改变,这时候客户端就没法访问到pod了,现在有了service作为客户端和pod的中间层,它在这里抽象出一个虚拟IP,然后集群内部都可以通过这个虚拟IP访问到具体的pod。

常用命令:

•kubectl get svc

•kubectl label svc ServiceName type=s1

•kubectl label svc ServiceName type-

•kubectl get svc -l type=s1

•kubectl describe svc ServiceName

•kubectl edit svc ServiceName

•Kubectl delete svc ServiceName

•Kubectl delete svc -l type=s1

•Kubectl delete svc –all –n namespace

•Kubectl annotate svc ServiceName type=s1

•Kubectl annotate svc ServiceName type-

•kubectl patch service nginx-clusterip-svc -p '{"metadata":{"labels":{"aa":"bb"}}}‘

•kubectl get svc nginx-clusterip-svc -o yaml

•kubectl get svc nginx-clusterip-svc -o json

•kubectl get svc -o wide

Service的工作方式:

•Userspace方式

•iptables模型

• ipvs模型

Userspace模式:

Client Pod要访问Server Pod时,它先将请求发给本机内核空间中的service规则,由它再将请求,转给监听在指定套接字上的kube-proxy,kube-proxy处理完请求,并分发请求到指定Server Pod后,再将请求递交给内核空间中的service,由service将请求转给指定的clinet Pod。
  由于其需要来回在用户空间和内核空间交互通信,因此效率很差

iptables:

直接由内核中的iptables规则,接受Client Pod的请求,并处理完成后,直接转发给指定ServerPod

ipvs:

接有内核中的ipvs规则来接受Client Pod请求,并处理该请求,再有内核封包后,直接发给指定的Server Pod

以上不论哪种,kube-proxy都通过watch的方式监控着kube-APIServer写入etcd中关于Pod的最新状态信息,它一旦检查到一个Pod资源被删除了 或 新建,它将立即将这些变化,反应再iptables 或 ipvs规则中,以便iptables和ipvs在调度Clinet Pod请求到Server Pod时,不会出现Server Pod不存在的情况

启用方法:

以service方式启动kube-proxy

• –proxy-mode= userspace
• – proxy-mode= iptables
• – proxy-mode= ipvs

以pod方式启动kube-proxy

kubectl edit cm kube-proxy -n kube-system

mode: “ipvs” or iptables or userspace

之后重启各个节点上的kube-proxy pod

Service类型:

•ExternalName

•ClusterIP

•NodePort

•LoadBalancer

clusterip:

[root@master01 service]# cat nginx-clusterIp-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc
spec:
 selector:  
   app: nginx
 type: ClusterIP
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-clusterIp-svc-assign-address.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc-with-ip
spec:
 selector:  
   app: nginx
 clusterIP: 10.68.100.100
 type: ClusterIP
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-clusterIp-svc-headless.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc-headless
spec:
 selector:  
   app: nginx
 type: ClusterIP
 clusterIP: None
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-clusterIp-svc-with-externalip.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc-with-externalip
spec:
 selector:  
   app: nginx
 type: ClusterIP
 externalIPs: 
 - 192.168.198.111
 ports:
 -  name: http
    port: 8000      
    targetPort: 80

exteranlName:

[root@master01 service]# cat nginx-exteranlName-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-externalname-svc
spec:
 externalName: www.baidu.com
 type: ExternalName
[root@master01 service]# cat nginx-exteranlName-svc-with-externalips.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-externalname-svc-with-externalips
spec:
 externalName: www.baidu.com
 type: ExternalName
 externalIPs:
 - 192.168.198.16
 - 192.168.198.17

loadblancer:

[root@master01 service]# cat nginx-loadblancer-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-loadblancer-svc
spec:
 selector:  
   app: nginx
 type: LoadBalancer
 loadBalancerIP: 1.2.3.4
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-loadblancer-svc-without-ip.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-loadblancer-withoutip-svc
spec:
 selector:  
   app: nginx
 type: LoadBalancer
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-loadblancer-svc-with-externalips.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-loadblancer-with-externalips
spec:
 selector:  
   app: nginx
 type: LoadBalancer
 externalIPs:
 - 192.168.198.13
 - 192.168.198.14
 ports:
 -  name: http
    port: 8000      
    targetPort: 80

nodePort:

[root@master01 service]# cat nginx-nodePort-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-nodeport-svc
spec:
 selector:  
   app: nginx
 type: NodePort
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-nodePort-svc-with-port.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-nodeport-svc-with-port
spec:
 selector:  
   app: nginx
 type: NodePort
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
    nodePort: 31000
[root@master01 service]# cat nginx-nodePort-svc-with-externalip.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-nodeport-svc-with-externalips
spec:
 selector:  
   app: nginx
 type: NodePort
 externalIPs:
 - 192.168.198.10
 - 192.168.198.11
 ports:
 -  name: http
    port: 8000      
    targetPort: 80

sessionaffinity:

[root@master01 service]# cat nginx-clusterIp-svc-sessionAffinity.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc-with-sessionaffinity
spec:
 selector:  
   app: nginx
 type: ClusterIP
 sessionAffinity: ClientIP
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-nodePort-svc-with-sessionaffinity.yal 
apiVersion: v1
kind: Service
metadata:
  name: nginx-nodeport-svc-with-sessionaffinity
spec:
 selector:  
   app: nginx
 type: NodePort
 sessionAffinity: ClientIP
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-loadblancer-svc-with-sessionaffinity.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-loadblancer-with-sessionaffinity
spec:
 selector:  
   app: nginx
 type: LoadBalancer
 sessionAffinity: ClientIP
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-exteranlName-svc-with-sessionaffinity.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-externalname-svc-with-sessionaffinity
spec:
 externalName: www.baidu.com
 type: ExternalName
 sessionAffinity: ClientIP

externalTrafficPolicy:

• LoadBalancer and Nodeport type services

如果服务需要将外部流量路由到 本地节点或者集群级别的端点,即service type 为LoadBalancer或NodePort,那么需要指明该参数。存在两种选项:”Cluster”(默认)和 “Local”。 “Cluster” 隐藏源 IP 地址,可能会导致第二跳(second hop)到其他节点,但是全局负载效果较好。”Local” 保留客户端源 IP 地址,避免 LoadBalancer 和 NodePort 类型服务的第二跳,但是可能会导致负载不平衡

root@master01 service]# cat nginx-nodePort-svc-externalTrafficPolicy.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-nodeport-svc-externaltrafficpolicy
spec:
 selector:  
   app: nginx
 type: NodePort
 externalTrafficPolicy: Local
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
[root@master01 service]# cat nginx-loadblancer-svc-externalTrafficPolicy.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-loadblancer-svc-externaltrafficpolicy
spec:
 selector:  
   app: nginx
 type: LoadBalancer
 externalTrafficPolicy: Local
 ports:
 -  name: http
    port: 8000      
    targetPort: 80

healthCheckNodePort:

只有当类型被设置成 “LoadBalancer” 并且 externalTrafficPolicy 被设置成 “Local” 时,才会生效

ipFamily:

[root@master01 service]# cat nginx-clusterIp-svc-ipFamily.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc-ipfamily
spec:
 selector:  
   app: nginx
 type: ClusterIP
 ipFamily: IPv6
 ports:
 -  name: http
    port: 8000      
    targetPort: 80
• To enable IPv4/IPv6 dual-stack, enable the IPv6DualStack  feature gate  for the relevant components of your cluster, and set dual-stack cluster network assignments:
• kube -controller-manager:
– --feature-gates="IPv6DualStack=true"
– --cluster- cidr =<IPv4 CIDR>,<IPv6 CIDR>  eg . --cluster- cidr =10.244.0.0/16,fc00::/24
– --service-cluster- ip -range=<IPv4 CIDR>,<IPv6 CIDR>
– --node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6 defaults to /24 for IPv4 and /64 for IPv6
• kubelet :
– --feature-gates="IPv6DualStack=true"
• kube -proxy:
– --proxy-mode= ipvs
– --cluster- cidrs =<IPv4 CIDR>,<IPv6 CIDR>
– --feature-gates="IPv6DualStack=true"
loadBalancerSourceRanges:
• This feature is currently supported on Google Compute Engine, Google Kubernetes Engine, AWS Elastic Kubernetes Service, Azure Kubernetes Service, and IBM Cloud Kubernetes Service.
sessionAffinityConfig:
[root@master01 service]# cat nginx-clusterIp-svc-sessionAffinityConfig.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-clusterip-svc-sessionaffinityconfig
spec:
 selector:  
   app: nginx
 type: ClusterIP
 sessionAffinity: ClientIP
 sessionAffinityConfig:
   clientIP:
     timeoutSeconds: 2
 ports:
 -  name: http
    port: 8000      
    targetPort: 80

Kubernetes集群Service资源异常排查思路 基于这种情况,可以在K8S集群中定义Service资源对象,充电一个负载均衡器的作用,定义一个唯一的服务访问入口,这个地址可以是域名也可以是Service资源的地址,由Service资源管理一个服务的所有Pod资源,服务之间的调用就可以通过Service资源访问到具体的Pod资源。3)查看Service资源的详细信息后,发现没有关联上任何一个Pod资源,那么问题也就出在了Service资源这里,Service资源管理Pod资源是通过标签选择器进行关联的,下面我们来查看Pod定义的标签列表。 阅读详情

相关推荐

告别SquareLine!用免费的NXP GUI-Guider为海思3516AV300开发LVGL界面(附完整移植流程)

本文详细介绍了如何利用免费的NXP GUI-Guider工具为海思Hi3516AV300开发LVGL界面,包括环境配置、代码移植和性能优化等全流程实战指南。特别针对二维码组件缺失等常见问题提供解决方案,帮助开发者零成本构建高效嵌入式GUI系统。

weixin_28292761的博客 417

k8s - Service ExternalName

类型ExternalName 类型为 ExternalName 的服务将服务映射到 DNS 名称,而不是典型的选择器,例如my-service或者cassandra。 您可以使用spec.externalName参数指定这些服务。 例如,以下 Service 定义将prod名称空间中的my-service服务映射到my.database.example.com: apiVersion: v1 kind: Service metadata: name: my-service ...

会哭的雨@的博客 9734

微积分,用编程理解高数(python,C,C++)

很好理解,导数中,x是哪一点的导数,dx是精准度,y等于f(x)即函数。导数结果就是瞬时变化率。积分很好理解,a为下限,b为上限,y为函数,结果就是y=f(x)下a到b的面积。只要用定积分代入a=0,b=10(10s)y=x(1*x=1)就得到结果。F(x)为原函数,即微分后的函数是f(x)dx,微分前是F(x)一列车初始速度为10m/s,加速度为。才几十行代码,微积分也不是很难啊。,问速度达到20时车走了多少米。

linhhanpy的博客 1181

k8s的Service详解

我们在使用pod的时候,pod之前可以相互ping通的,机器本身也可以ping通pod和另外机器的pod,如果是一个serivce的话,我们通过端口号,就可以访问service。 不要直接使用和管理Pods,为什么? 当我们使用ReplicaSet 或者ReplicationController做水平扩展scale的时候,Pods可能被结束。 当我们使用Deployment的时候,我们去...

lixinkuan的博客 8170

Ubuntu升级遇到grub-efi-amd64-signed安装失败?3步搞定这个烦人错误

本文深度解析Ubuntu系统升级时grub-efi-amd64-signed安装失败并提示“cannot find EFI directory”错误的根本原因。该错误通常由EFI系统分区挂载异常、BIOS/UEFI引导模式不匹配或dpkg包状态死锁导致。文章提供了三步精准修复流程:首先检查并修复ESP分区挂载,其次处理dpkg依赖问题,最后针对传统BIOS系统提供适配方案,帮助用户安全彻底地解决这一常见升级难题。

r7s8t的博客 400

磁悬浮轴承控制策略设计及性能对比

摘要:针对高速磁悬浮转子控制问题,本文提出多方案对比分析。建立含陀螺效应的5自由度动力学模型,分析陀螺耦合、质量不平衡等关键挑战。对比四种控制策略:基础PID解耦、交叉反馈+自适应陷波、H∞鲁棒+前馈补偿、滑模控制+观测器,从实时性、鲁棒性等维度评估优劣。推荐采用交叉反馈+H∞+自适应陷波的混合方案,通过内环电流环与外环位置环协同,实现陀螺效应动态解耦和扰动抑制。实施步骤包括系统辨识、控制器设计、硬件部署等,需配合实验验证与参数整定。该方案综合性能最优,适用于高转速、强扰动场景。

技术工作者 1776

K8S容器源码分析和设计

在 Kubernetes 中,Service 是一种抽象,用于定义一组逻辑上的 Pod 以及访问它们的策略。Service 提供了稳定的网络入口,使得客户端可以通过统一的方式访问动态变化的 Pod 集群。调度器负责将新创建的 Pod 分配到合适的节点上。调度过程涉及资源过滤、优先级打分和绑定等步骤。持久卷(Persistent Volume, PV)和持久卷声明(Persistent Volume Claim, PVC)提供了抽象层,使得存储资源可以独立于 Pod 生命周期进行管理。

远方雪的专栏 1652

串口通信的性能瓶颈分析:如何提高数据吞吐量和降低延迟

摘要: 串口通信在高频或大数据场景下存在吞吐量不足、延迟高、丢帧等问题,主要瓶颈包括波特率限制、缓冲区不足、CPU轮询延迟等。优化策略包括:提升波特率至硬件上限、增大缓冲区、采用异步I/O(如ReadAsync)减少线程切换,使用二进制协议降低解析开销。实时性方面需启用硬件流控、批量发送数据,并优化线程优先级。跨平台适配需区分Windows/Linux的缓冲区设置与异步机制。性能测试可通过吞吐量、延迟及回环测试验证优化效果,核心原则是硬件匹配、异步处理、协议优化与跨平台适配。(150字)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 986

k8s Service之LoadBalancer和ExternalName

学亮编程手记 2156

高数15种常见特殊曲线:星形线、心形线、摆线、对数螺线、双曲螺线、阿基米德螺线、伯努利双纽线、三叶玫瑰线、四叶玫瑰线、六叶玫瑰线、三次抛物线、半立方抛物线、箕舌线、蔓叶线、笛卡儿叶形线、概率曲线

4.1 对数螺线(等角螺线、生长螺线)三叶玫瑰线、四叶玫瑰线、六叶玫瑰线。​7.2 半立方抛物线(尼尔曲线)10.笛卡儿叶形线(茉莉花瓣曲线)常考选择题、填空题,大题也涉及。​4.2 双曲螺线(倒数螺线)11.阿基米德螺线(等速螺线)3.摆线(圆滚线、旋轮线)5.双纽线(伯努利双纽线)1.星形线(四尖瓣线)2.心形线(心脏线)..................

刘鑫磊 1万+

【论文复现】水下单光子激光雷达设计 Sequential Multimodal Underwater Single

针对对慢速小水下目标进行远距离、高分辨率重建的需求,单光子激光雷达(LiDAR)目标重建技术的研究正在进行。本文报告了一种基于时空序列融合的顺序多模态水下单光子 LiDAR 自适应目标重建算法,该算法具有强大的信息提取和噪声过滤能力,能够从复杂的回波光子计数和空间像素关系中重建目标的深度和反射强度信息。该方法包括三个步骤:数据预处理、序列优化极值推断滤波以及图像优化协同变分策略,以实现复杂水下环境下的高质量目标重建。

u012133341的博客 293

Kubernetes系列之理解K8s Service的几种模式

原文地址:Kubernetes系列之理解K8s Service的几种模式 今天给大家介绍下k8s的service的几种访问模式。 概述 我们知道pod的ip不是固定的,是根据所在宿主机的docker0网卡生成的,每次重启,更新,调度等情况IP都会变,那pod与pod之间需要互相调用,肯定不能用ip的,因为地址不是固定的, 如何能保障pod之前访问的可靠性,由此就衍生出Service的概念。 在实际生产环境中,一般有两种访问 对集群内部的访问, 集群外部的访问。service现在分为以下类型 Clu

优秀技术文章收录 1354

3.摄像头组件- CVP (ISP)

本文介绍 车载摄像头组件-ISP

2401_83458819的博客 1618

Kubernetes(k8s)的Service资源

1、Service资源,为什么K8s要引入Service资源。 答:运行在docker中的业务,想要被外界访问,我们需要为它做端口映射才能被访问,那么运行在k8s中的容器,为什么不能直接为它做端口映射呢?   RC(Replication Controller)虽然保证了Pod的高可用,但是我们仅仅只能在k8s的内部访问它,但是在客户端是无法进行访问的,因为Pod的ip地址是私有ip地址,外界是无法进行访问的,而Docker中的容器是通过端口映射可以让容器中的业务被外界所访问,在k8s中,不能直接通过端

Biexiansheng的博客 673

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【K8S】Kubernetes 中微服务对应的资源对象——Service

Pod的数量虽然不会变化,但是因为资源等原因Pod会不断地销毁和重建,所以这个数量的不变其实是动态的平衡。因为Pod的这种变化,导致访问Pod 的IP 也会变化,IP的变化会对服务的访问产生一定的麻烦。于是Service资源对象应运而生,让其他的服务访问Service,由Service来管理请求到具体Pod 的路由

Transient_的博客 1256

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【k8s常用资源的使用】deployment资源、service资源的使用——kubernetes从放弃到入门

deployment资源可以同时创建多个pod,它可以保证同时多个pod存活,deploy创建后先生成个rs,由rs再启多个pod。 service资源可以为k8s中的容器做映射,来达到被外界访问的目的。 创建deployment资源有两种方式:yaml文件方式和命令行方式。 创建deployment方式一:yaml文件方式 在master节点创建nginx-deploy.yaml文件 apiVersion: extensions/v1beta1 kind: Deployment ...

tangdaren2的博客 1606

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

K8S-Service资源对象

在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是,每个Node节点上都运行着一个kube-proxy服务进程。

weixin_50045291的博客 749

7、kubernetes资源清单之Service资源190714

一、Service简介 Service为Pod提供固定服务端点 Service的本质是一条iptables或者ipvs的转发规则 userspace:1.1- iptables:1.1+ ipvs:1.11+ 二、Service类型 ExternalName ClusterIP:使用集群网络提供服务 NodePort:直接使用节点网络提供服务 LoadBalancer:例如k8s构建在阿里云...

weixin_30467087的博客 150

kubernetes资源对象之Service

在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。

qq_62935472的博客 860

6.Kubernetes资源对象之Service

运行在Pod中的应用是向客户端提供服务的守护进程,比如,nginx、tomcat、etcd等等,它们都是受控于控制器的资源对象,存在生命周期,我们知道Pod资源对象在自愿或非自愿终端后,只能被重构的Pod对象所替代,属于不可再生类组件。而在动态和弹性的管理模式下,Service为该类Pod对象提供了一个固定、统一的访问接口和负载均衡能力。

java程序鱼的博客 790

k8s资源清单创建pod、deployment、service

文章目录1. k8s核心资源分类1.1 工作负载型资源(workload)1.2 服务发现及负载均衡型资源(Service Discovery LoadBalance)1.3 配置与存储型资源1.4 集群级资源1.5 元数据型资源2. 创建资源的方式3. 资源清单的组成4. 资源清单格式5. 资源清单配置实例5.1 pod yaml5.2 deployment yaml k8s 中所有的内容都抽象为资源,资源实例化之后,叫做对象。 1. k8s核心资源分类 1.1 工作负载型资源(workload) p

欢迎来到夜舞精狼的博客 1099

容器编排系统k8s之Service资源

Service资源在k8s上主要用来解决pod访问问题;我们知道在k8s上pod由于各种原因重建,对于重建后的podip地址和名称都是变化的,这样一来使得我们访问pod就变得有些不便;为了解决pod访问能有一个固定的端点,在k8s上就是用service来解决的;简单来讲,service对象就是工作在节点上的一组iptables或ipvs规则,用于将到达service对象ip地址的流量调度转发至相应endpoint对象指向的ip地址和端口之上;工作于每个节点的kube-proxy组件通过apiserver持续

lym377200300的博客 203

k8s之Service资源

目录 Service为四层调度器 svc类型 Ingress资源,7层代理|调度 Service资源是为动态管理的Pod对象添加一个固定访问入口。 Service为四层调度器 service通过标签选择器关联至拥有相关标签的Pod对象 客户端向Service进行请求,而非目标Pod对象,当Service资源变动时,有kube-proxy控制器将规则应用至本机iptables或者ipvs规则。 而kube-proxy为DaemonSet 控制器将会在集群中每个节点运行一个Pod或者守护进程

Dragon的博客 620
上一篇: k8s资源之pod全面讲解
下一篇: k8s资源之namespace&replicaset&deployment
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值