K8s: 从集群外部访问Service

k8s集群外访问集群内部服务的几种方式 前言 目前k8s+docker算是运维必修了,docker能让我们的环境一键迁移,k8s能自动编排还能保证服务高可用,两者结合自然是无敌了,当然任何技术的使用,都需要根据具体环境来定,就像你要杀鸡,却非要选牛刀,牛刀是很锋利,但还不够你折腾的 本文重点介绍k8s集群外如何访问集群内的服务 一、hostPort或hostNetwork hostPort和host... 阅读详情

从集群外部访问 Service


1 )概述

  • 在前面我们一直实践的是在集群内部访问 Service,之前有2种方法
    • 方法1:在一个node节点上,通过对创建的的时候,对port进行一个环境变量的注册
    • 来保证Service能够正确对 不同的pod 访问到
    • 就是在这个node节点上,也是在集群内部
    • 方法2:另外一种方式呢是通过DNS记录
    • 比如说静态的pod创建这种专有域名的方式来保证集群内部都能访问到这个pod,这个service
  • 但是,有些服务,比如说前端的应用 nginx,它要对集群外部进行服务提供的
  • 所以在这种情况下,需要集群提供对外部访问的这种机制
  • K8s提供了ClusterIP, NodePort和 LoadBalancer 这三种方式提供集群外部的访问
  • ClusterIP
    • 仅仅使用一个集群内部的IP地址 - 这是默认值
    • 选择这个值意味着你只想这个服务在集群内部才可以被访问到
    • 像你创建这个 Service, 默认,它会给你创建一个集群内部的一个IP地址
    • 它是一个相当于是一个内网的IP这个IP, 实际上, 外网(公网)它是访问不到的
    • 如果你是在内网的话,不推荐用这种方式创建 Service
  • NodePort
    • 在集群内部IP的基础上,在集群的每一个节点的端口上开放这个服务
    • 你可以在任意:NodePort地址上访问到这个服务
    • 这里的node指的是 worknode,在这个node上开一个端口,任何在这个端口口的请求
    • 它会会被转发到咱们的这个NodePort类型的service上
    • 如果是自己实践的话,可以实现这种NodePort类型的方式
  • LoadBalancer
    • 在使用一个集群内部IP地址和在NodePort上开放一个Service的基础上
    • 还可以向云提供者申请一个负载均衡器
    • 将流量转发到已经以NodePort形式开发的Service上
    • 在公网生产环境使用的时候,推荐是用这个LoadBalancer去负载均衡的方式
    • 向云提供商申请一个负载均衡器,然后这个负载均衡器再把流量转发到咱们的集群内部
    • 或者NodePort上开个放一个Service, 一般在公有云上上可以用 ELB 服务去构建Service域名

2 )基于NodePort来实践

  • 首先还是创建Service, 用于pod的通信
  • 之后创建这个deployment,创建deployment之后,它会创建一个nginx中的一个pod
【k8s】K8S中的IP地址(Node IP、Pod IP、Cluster IP、External IP、Internal-IP) 文章目录参考 kubernetes里有三张不同的网络,每种IP地址,就代表一个不同的寻址空间: Node IP:Node节点的IP地址 Pod IP:Pod的IP地址 Cluster IP:Service的IP地址 首先,Node IP是kubernetes集群中每个节点的物理网卡的IP地址(包括虚拟机的网卡),这是一个真实存在的物理网络,所有属于这个网络的服务器之间都能通过这个网络进行通信,不管他们中是否有部分节点不属于这个kebernetes集群。这也表明了Kubenetes集群之外的节点访问Kub 阅读详情

相关推荐

k8s-service及域名访问

如果某个service属于不同的namespace,那么在进行service查找时,需要补充该namespace的名称(service_name.namespace),组合成完整的域名,否则会查找失败。service可以实现“pod的发现和副本间负载均衡”,但访问service也需要ip和端口号,因此又引出了service的发现的问题。在服务后面的pod可能删除重建,它们的地址可能改变,数量也可能增减,但是始终可以通过服务的单一不变地址访问到这些pod。1、Pod是短暂的,他们随时会启动或者关闭。

查士丁尼绵_的博客 4725

kubernetes入门到精通(二):k8s部署Tomcat集群,基于NTFS协议的文件集群共享,Service提供负载均衡,端口转发工具Rinetd配置外部访问

配置 Docker 阿里云镜像加速服务 登录阿里云账号,进入控制台 -> 容器镜像服务 (不需要有阿里云的服务器,只要注册账号即可) 在两台 node 节点上配置好阿里云的镜像加速。 重启一下 docker sudo systemctl restart docker 重启一下 k8s systemctl start kubelet 部署Tomcat集群 方法1:使用可视化界面部署 tomcat 集群 dashboard -> 工作负载 -> 创建 -> 创建应用 稍等几分钟之后,

寒泉 6万+

18.kubernetes集群——暴露service供外部访问的4种方法

Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)

迷逝 7667

Kubernetes - 集群中容器访问集群外部服务

企业内部一般存在很多的微服务,在逐步容器化的过程中,会有部分服务在集群外部,未完成容器化,比如数据库,而部分已经完成容器化的依赖于这些服务的服务,过渡过程中,需要集群内部的容器访问集群外部的服务。 为了在容器化过程中,让服务不中断,就需要让Kubernetes集群内部的容器能访问集群外部的服务,怎么做到呢,在每个应用的配置文件中使用外部IP或者外部rds名字吗?这样做,在外部的应用容器化后,还需要...

研究与专注 9520

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

刚接触 k8s 涉及到端口到内容较多,容易混淆,这里整理如下: 文章目录nodePortporttargetPortcontainerPort参考文章 nodePort nodePort 提供了集群外部客户端访问 Service 的一种方式,nodePort 提供了集群外部客户端访问 Service 的端口,通过 nodeIP:nodePort 提供了外部流量访问k8s集群中service的入口。 比如外部用户要访问k8s集群中的一个Web应用,那么我们可以配置对应service的type=NodePort

Veeupup博客 3684

K8S系列:Service类型(ClusterIP、NodePort区别)

默认的Service类型

NIO4444 1268

zemax显微镜设计

光学显微镜(Optical Microscope,简写OM)是利用光学原理,把人眼所不能分辨的微小物体放大成像,以供人们提取微细结构信息的。我这里是插入进来之后才反转,如果之前已经在目镜的单独文件夹反转过了就不用了。将目镜的焦距设定为25mm,通过缩放,然后将镜头调转过来。镜头数据中的曲率半径、物距像距都设置为变量。将镜头的焦距整体变为16.25mm。将孔径类型设置为按照光阑尺寸浮动。打开物镜的文件,选择插入镜头。由英国物理学家虎克制作。2、像空间孔径0.25。3、像面大小-0.9。

fendoudecheng的博客 8547

反制反心理特征的研究

抓牛股

m0_58032574的博客 908

基于Super-Jacoco的精准测试实践之路

灵魂拷问这个版本的影响范围到底有多大?研发改动了代码,为什么不通知测试?测试用例真的全面覆盖了吗?测试同学的测试覆盖情况该怎么评估?什么是精准测试概念借助技术手段、通过辅助算法对软件测试过...

咻咻ing的专栏 5842

iOS中.obj、.usdz、.dae和.scn格式之间的转化(思路清晰版)

作者最近在写项目的过程中遇到了一些3d模型格式问题,故写下这篇文章记录一下解决问题的过程。

yueliangmua的博客 5586

卡尔曼滤波五步拆解:用Excel手推姿态解算全过程

本文通过Excel手推演示,详细拆解了卡尔曼滤波在姿态解算中的五步核心流程。文章以融合陀螺仪与加速度计数据估算角度为例,从状态预测、协方差更新到增益计算,逐步展示如何将抽象的矩阵运算转化为可视化的表格计算,帮助读者直观理解滤波器的“预测-修正”机制,并为算法实现与参数调优提供清晰指导。

hhh00的博客 984

Microsemi Libero系列教程(一)——Libero开发环境介绍、下载、安装与注册

前言 相比与Xilinx和Altera在国内的市场,Microsemi的FPGA在国内应用很少很少,网上几乎没有详细的教程,刚开始使用时,遇到了各种问题,自己也走了不少弯路。本系列教程以Libero V11.8.2.4,SmartFusion系列A2F200M3F FPGA芯片为例,将详细介绍Libero SoC软件的基本使用,及使用过程中遇到一些问题的解决方法。 Libero 简介 关于Lib...

whik1194的博客 3万+

YOLO26改进策略【Neck】| CVPR2025 LCA轻量交叉注意力 跨层级双向引导 + 分层降噪增强,提升微小目标特征表达

简单相加、拼接融合无法建立深浅层双向约束关系,浅层微小目标易被深层背景覆盖,深层全局信息难以修正浅层噪声;普通单路自注意力仅单一层内建模依赖,缺少跨层级特征互引导机制,深浅特征信息割裂;标准多头跨注意力计算量大、参数量高,轻量化单模态检测/分割网络部署困难,无法区分前景目标与背景噪声。为此设计单模态轻量化交叉注意力LCA,构建浅层细节、深层语义双分支双向引导结构,轻量完成跨层级特征交互,同步降噪并强化单模态微小目标特征。

Limiiiing的博客 523

cesium 综合教程200+【目录】(已包含186篇文章)

cesium示例教程100+旨在为开发者提供简单快捷的,。在每一个示例中,解释相应的API知识点,做到。目录中有链接的为已有文章,没链接的为目标文章,不断更新中…

大剑师兰特的GIS世界 8898

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: K8s: 集群内Pod通信机制之DNS
下一篇: K8s: Ingress对象, 创建Ingress控制器, 创建Ingress资源并暴露服务
Wang's Blog
博客等级 码龄12年 7433粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Wang's Blog

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

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

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

打赏作者

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

抵扣说明:

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

余额充值