在Kubernetes中,port-forwardServiceNodePortIngress都是用于将外部流量引入集群内部的方法,但它们在使用场景、实现方式和功能上有所不同。

  1. port-forward:

    • 使用场景:主要用于开发、测试和调试。它允许开发者在本地机器上访问集群内部的Pod,而无需将服务公开到外部网络。
    • 实现方式:通过kubectl命令行工具实现。开发者在本地机器上运行kubectl port-forward命令,指定要转发的Pod和端口号。该命令会创建一个从本地机器到Pod的端口转发连接。
    • 功能:临时性的、针对个人的端口转发。它不支持负载均衡和高可用性,只能用于单个Pod的访问。
  2. Service的NodePort:
    • 使用场景:适用于需要从集群外部访问集群内部服务,并且服务需要对多个用户或系统可用的情况。
    • 实现方式:通过Kubernetes的Service资源实现。在Service的定义中指定type: NodePort,并为Service分配一个NodePort。Kubernetes会在每个节点上打开该NodePort,并将流量转发到Service后端的Pod。
    • 功能:提供集群外部访问集群内部服务的能力。支持负载均衡(通过kube-proxy实现),但仅限于同一节点上的Pod之间的负载均衡。不具备高级路由功能。
  3. Ingress:
    • 使用场景:适用于需要从集群外部访问集群内部多个服务,并且需要基于HTTP/HTTPS进行路由的情况。Ingress可以提供更细粒度的访问控制、负载均衡和SSL/TLS终止等功能。
    • 实现方式:通过Kubernetes的Ingress资源实现。Ingress资源定义了外部访问的规则和路由信息。用户需要创建一个Ingress控制器(如Nginx Ingress Controller、Traefik等)来实际处理Ingress资源定义的规则。
    • 功能:提供集群外部访问集群内部多个服务的能力,并支持基于HTTP/HTTPS的路由、负载均衡、SSL/TLS终止等高级功能。Ingress控制器可以实现更复杂的路由规则、流量控制和安全策略。

总结来说,port-forward主要用于开发、测试和调试场景下的临时访问;Service的NodePort适用于需要从外部访问单个Service的情况,支持基本的负载均衡;而Ingress则适用于需要更复杂的路由和负载均衡规则的场景,特别是基于HTTP/HTTPS的访问控制。在选择使用哪种方式时,应根据具体的需求和场景进行权衡和选择。

k8s中port-forward 、service的nodeport与ingress区别的更多相关文章

  1. k8s的port、targetport、nodeport之间的区别

    先看举例: k8s集群中跑着一个tomcat服务,tomcat容器expose的端口为8080 apiVersion: v1 kind: Service metadata: name: tomcat- ...

  2. 详解k8s中的liveness和readiness的原理和区别

    liveness与readiness的探针工作方式源码解析 liveness和readiness作为k8s的探针,可以对应用进行健康探测. 二者支持的探测方式相同.主要的探测方式支持http探测,执行 ...

  3. k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡

    k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡 前言 endpoint kube-proxy userspace 模式 iptables ipvs kernels ...

  4. [转帖]k8s 中的服务如何沟通

    k8s 中的服务如何沟通 https://www.jianshu.com/p/9fae09876eb7 本文将介绍 k8s 中的服务如何相互访问,例如后端服务访问数据库,不同类型的服务间的相互访问.并 ...

  5. k8s中的网络(较详细汇总)

    目录 一.网络前提条件-网络模型 二.需要解决的网络问题 1.容器和容器之间的网络 2.pod与pod之间的网络 同一台node节点上pod和pod通信 不同node节点上pod和pod通信 3.po ...

  6. K8S中Service

    Service 的概念Kubernetes  Service  定义了这样一种抽象:一个  Pod  的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务. 这一组  Pod  能够被  Serv ...

  7. k8s 辨析 port、NodePort、targetPort、containerPort 区别

    刚接触 k8s 涉及到端口到内容较多,容易混淆,这里整理如下: 目录 nodePort port targetPort containerPort 参考文章 nodePort nodePort 提供了 ...

  8. k8s中几个基本概念的理解,pod,service,deployment,ingress的使用场景

    k8s 总体概览 前言 Pod 副本控制器(Replication Controller,RC) 副本集(Replica Set,RS) 部署(Deployment) 服务(Service) ingr ...

  9. k8s中ingress,service,depoyment,pod如何关联

    k8s中pod通过label标签名称来识别关联,它们的label  name一定是一样的.ingress,service,depoyment通过selector 中app:name来关联 1.查询发布 ...

  10. 在k8s中的基本概念

    在k8s中的基本概念 一.Pod1. podk8s下最重要也最基本的概念,由一个根容器Pause和许多用户业务容器组成,是容器的载体. 2. pod的yaml定义格式及字段 apiVersion: v ...

随机推荐

  1. Python 调用Zoomeye搜索接口

    钟馗之眼是一个强大的搜索引擎,不同于百度谷歌,它主要收集网络中的主机,服务等信息,国内互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合.整理,打造了一个名符其实的网络空间搜索引 ...

  2. 《Spring 手撸专栏》| 开篇介绍,我要带新人撸 Spring 啦!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 不正经!写写面经,去撸Spring源码啦? 是的,在写了4篇关于Spring核心源码 ...

  3. SpringCloud-07-Hystrix

    Hystrix 熔断器 1.Hystrix 概述 Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务.第三方库,防止出现级联失败(雪崩). 雪崩:一个服务失败,导致整条链路 ...

  4. SpringCloud-05-Gateway

    统一网关Gateway 1.为什么需要网关 网关功能: 身份认证和权限校验 服务路由.负载均衡 请求限流 2.网关的技术实现 在SpringCloud中网关的实现包括两种: gateway zuul ...

  5. linux(centos) 下搭建svn服务器

     1. 使用yum安装svn yum -y install subversion 安装完成之后,验证安装结果 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安 ...

  6. 群联预告满血PCIe 5.0 SSD主控:飙上14.7GB/s

    群联电子将在CES 2024上展示两款新的PCIe 5.0 SSD主控方案,一个定位旗舰,一个面向主流. PCIe 5.0 SSD诞生已经差不多一年了,但是受限于群联E26主控的先天不足,以及闪存技术 ...

  7. 双端队列(deque)--python

    Python中的双端队列(deque)是一种特殊的数据结构,它允许在队列的两端进行插入和删除操作12.双端队列可以看成栈和队列的结合3.在Python中,我们可以使用collections模块中的de ...

  8. [Kafka]Kafka学习 -- 初识Kafka

    Kafka学习 -- 初识Kafka 参考资料:稀土掘金<图解Kafka之实战指南>https://juejin.cn/book/6844733793220165639 Kafka是一个多 ...

  9. Lora 模块E22-400T22D(SX1268, 22dBm)

    无线串口(UART)模块, 基于SEMTECH SX1268射频芯片, 具有多种传输方式, 工作在410.125至493.125MHz频段(默认 433.125MHz). LoRa扩频技术, TTL电 ...

  10. 斐讯K3C改散热

    斐讯K3C改散热 斐讯K3C日常使用还是不错的,就是日常的温度还是比较高的,不过冬天用来当暖手宝还是不错的. 这个改散热的方法是跟贴吧老哥学的,不得不说贴吧老哥还是牛皮,原贴在这,我当时拍的照片不够, ...