在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. Redis 数据库配置与应用

    Redis 是一个key-value存储系统.Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. ...

  2. Redis中的key的生存时间和过期时间

    目录 1.说明 2.指令 2.1.删除和更新 3.过期时间的保存 4.计算剩余生存时间 5.过期键的删除策略 5.1.定时删除 5.2.惰性删除 5.3.定期删除 1.说明 生存时间: (Time T ...

  3. Docker从认识到实践再到底层原理(九)|Docker Compose 容器编排

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...

  4. Go语言实现八大排序|排序算法|超详细保姆级别注释

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...

  5. php生成唯一订单号,高并发下不重复

    //生成唯一订单号 function create_trade_no($prefix='dd') { return $prefix . date('YmdHis', time()) . substr( ...

  6. RPA AI .NET Core 与未来--学习笔记

    摘要 当下 RPA 平台主要采用 .NET Framework 框架,也限制了 RPA 只用于 Windows 平台..NET Core 的开放与跨平台特性赋予 RPA 更大发展空间. RPA是什么 ...

  7. 当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记

    摘要 .NET Framework在过去十多年在跨平台上的尝试. .NET Core跨平台的实现有何不同? 基于 .NET Standard的平台兼容性是如何实现的? 讲师介绍 历史枷锁 .NET F ...

  8. Hive报错:Call From hadoop01/172.23.238.2 to hadoop01:10020 failed on connection exception

    问题描述 在阿里云服务器上安装的Hadoop和Hive,刚开始关闭了防火墙.但是由于服务器被被黑客安装挖矿程序,所以开启了防火墙.但是即使开启了所有可能的端口,但是在向Hive中插入数据时,依然报错提 ...

  9. C++自定义sort比较函数的四种方法

    sort函数:对于容器等进行排序,头文件位于<algorithm>中. 普通:可以在sort的第三个参数传入 无参:default = less<>() less<> ...

  10. JOISC 2023 纪录

    记录一下 JOISC 2023 的做题记录 Day1 T1 Two Currencies 给定一棵树,在边上有总计 \(m\) 个检查站,经过一个检查站需要叫 \(1\) 枚金币或者若干枚银币.\(Q ...