当前位置: 首页 > news >正文

[k8s] kubectl port-forward 和kubectl expose的区别

kubectl port-forward 和 kubectl expose 是 Kubernetes 命令行工具 kubectl 提供的两种不同方式来公开服务。

kubectl port-forward

kubectl port-forward 命令用于在本地主机集群内部的 Pod 之间建立一个临时的端口转发通道。
该命令将本地机器上的一个端口绑定到集群内部的 Pod 上的指定端口,从而允许您直接访问该 Pod。
适用于临时调试测试,或者当您只需要与特定 Pod 进行交互时使用。
示例:

kubectl port-forward <pod-name> <local-port>:<pod-port>

kubectl expose

kubectl expose 命令用于创建一个新的 Service 资源对象,以公开指定的 Deployment、Pod 或其他资源。

通过创建 Service 对象,您可以为集群内外提供稳定的服务访问点,并自动启用负载均衡服务发现

适用于常驻性的服务公开和长期运行。

示例:

kubectl expose <resource-type> <resource-name> --port=<port> --target-port=<target-port> --type=<service-type>

kubectl expose 命令是通过指定一些选项来创建 Service 对象。以下是创建 Service 时可能用到的一些选项:

<resource-type>:指定要公开的资源类型,如 Deployment、Pod、ReplicaSet 等。
<resource-name>:指定要公开的资源名称。
--port=<port>:指定 Service 对象要监听的端口。
--target-port=<target-port>:指定 Service 对象要转发到的目标端口。
--type=<service-type>:指定 Service 对象的类型,如 ClusterIP、NodePort、LoadBalancer 或 ExternalName。

以下是 service-type 详解:

  • ClusterIP(默认):

ClusterIP 类型将服务公开为仅在集群内部可访问的 IP 地址。
通过该类型的 Service,其他 Pod 或服务可以通过 Cluster IP 地址访问服务。
这是默认的 Service 类型。

  • NodePort

NodePort 类型为每个节点分配一个随机端口,并将请求转发到 Service 上的目标端口。
通过该类型的 Service,可以使用节点的 IP 地址和分配的端口从集群外部访问服务。
注意,虽然会打开一个高于 30000 的端口范围,但是该类型不适合直接在生产环境中使用,通常用于开发和测试。

  • LoadBalancer

LoadBalancer 类型通过云服务提供商为 Service 创建一个外部的负载均衡器,并为 Service 分配一个公共 IP 地址。
通过该类型的 Service,可以从公共 IP 地址访问服务,负载均衡器会自动将请求转发到后端 Pod。
注意,使用该类型的 Service 需要确保 Kubernetes 集群运行在支持提供商的云平台上,并且需要正确配置提供商的负载均衡器。

  • ExternalName

ExternalName 类型允许将 Service 映射到集群外部的任意 DNS 记录。
通过该类型的 Service,可以使用 Service 的名称访问外部服务或域名,而不需要通过 Cluster IP 或者负载均衡器来转发请求。


区别总结如下

  1. kubectl port-forward 主要用于临时的本地端口转发,允许直接与 Pod 进行交互,适用于调试和测试。
    kubectl expose 创建一个新的 Service 对象来公开资源(如 Deployment 或 Pod),提供稳定的服务访问点,适用于长期运行。

  2. kubectl port-forward 可以单独与一个指定的 Pod 进行通信,
    而 kubectl expose 会在集群中创建一个新的 Service 对象,为多个 Pod 提供统一的访问点。

  3. 使用 kubectl port-forward 后,您需要手动将本地服务地址告知其他人或服务,而 kubectl expose 可以自动处理负载均衡和服务发现。

相关文章:

[k8s] kubectl port-forward 和kubectl expose的区别

kubectl port-forward 和 kubectl expose 是 Kubernetes 命令行工具 kubectl 提供的两种不同方式来公开服务。 kubectl port-forward kubectl port-forward 命令用于在本地主机和集群内部的 Pod 之间建立一个临时的端口转发通道。 该命令将本地机器上的一个端口绑定到集群内部…...

vscode如何设置文件折叠

随着项目的不断迭代开发&#xff0c;复杂度越来越高&#xff0c;配置文件越来越多&#xff0c;导致vscode左侧文件列表展示非常不直观&#xff0c;幸好可以通过文件折叠来简化展示效果&#xff0c;把同类相关的文件折叠在一块展示&#xff0c;方便查看配置文件。配置好后的效果…...

Linux centos7 bash编程训练

训练编写一段代码&#xff0c;打印输出100之内的明7暗7&#xff0c;同时要求每5个数字打印在一行。 此项训练主要是考察for循环的使用&#xff0c;及条件判断表达式的设置和不同写法的应用。 常用的for循环有四种写法&#xff08;如打印1-100的整数&#xff09;&#xff1a; …...

k8s集群换ip

1.把/etc/kubernetes/*.conf中所有的旧ip换成新ip cd /etc/kubernetes/ find . -type f | xargs sed -i "s/$oldip/$newip/"2.替换$HOME/.kube/config文件中的旧ip为新ip(注意sudo的话需要改root下的) cd $HOME/.kube/ find . -type f | xargs sed -i "s/$old…...

选择HAL库还是标准库

选择HAL库还是标准库呢&#xff1f;HAL库是趋势&#xff0c;标准库不再升级了&#xff0c;转HAL库是大势所趋。HAL库有优点&#xff0c;也有自身的不足&#xff0c;建议初学者还是从标准库入手。 标准库是单片机开发的基本库&#xff0c;它把“用寄存器实现的功能”写成一个函…...

计算机竞赛 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…...

Mapbox gl HTML经纬度点渲染,动态轨迹播放,自定义图形以及轨迹上显示箭头方向

Mapbox gl HTML经纬度点渲染&#xff0c;动态轨迹播放&#xff0c;自定义图形以及轨迹上显示箭头方向 1. 效果图2. 源码2.1 line.html2.2line_arrow.html 参考 今天要排查个问题&#xff0c;需要显示多个经纬度点连接成线段的方向&#xff0c;于是尝试下展示。 1. mapbox渲染经…...

kubernetes部署(kubeadmin)

文章目录 1.环境准备2. 安装dokcer3.部署cri-docker4.各个节点安装kubeadm等5.整合kubelet和cri-dockerd配置cri-dockerd配置kubelet 6.初始化集群 1.环境准备 环境和软件版本 OS : ubuntu 20.04 container runtime: docker CE 20.10.22 kubernetes 1.24.17 CRI&#xff1a;cr…...

Leetcode168. Excel表列名称

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题解&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码如下&#xff1a; class Solution {public String convertToTitle(int columnNumber) {StringBuild…...

碎片笔记 | 大模型攻防简报

前言&#xff1a;与传统的AI攻防&#xff08;后门攻击、对抗样本、投毒攻击等&#xff09;不同&#xff0c;如今的大模型攻防涉及以下多个方面的内容&#xff1a; 目录 一、大模型的可信问题1.1 虚假内容生成1.2 隐私泄露 二、大模型的安全问题2.1 模型窃取攻击2.2 数据窃取攻击…...

【100天精通Python】Day63:Python可视化_Matplotlib绘制子图,子图网格布局属性设置等示例+代码

目录 1 基本子图绘制示例 2 子图网格布局 3 调整子图的尺寸 4 多行多列的子图布局 5 子图之间的共享轴 6 绘制多个子图类型 7 实战&#xff1a; 绘制一个大图&#xff0c;里面包含6个不同类别的子图&#xff0c;不均匀布局。 绘制子图&#xff08;subplots&#xff09;…...

【Android常见问题(六)】- UX标注色值带有百分比的使用方法

这里写自定义目录标题 透明度和不透明度的转换对应色值百分比透明度标注 透明度和不透明度的转换 需要不透明度值的&#xff0c;可以自己算&#xff1a;透明度值 不透明度值 100% 如果UI给的视觉稿标注是&#xff1a;颜色#FFFFFF&#xff0c;透明度40% 。那你的计算方式应该…...

Prometheus+Grafana可视化监控【ElasticSearch状态】

文章目录 一、安装Docker二、安装ElasticSearch(Docker容器方式)三、安装Prometheus四、安装Grafana五、Pronetheus和Grafana相关联六、安装elasticsearch_exporter七、Grafana添加ElasticSearch监控模板 一、安装Docker 注意&#xff1a;我这里使用之前写好脚本进行安装Docke…...

Java手写堆排序(Heap Sort)和案例

Java手写堆排序&#xff08;Heap Sort&#xff09; 1. 思维导图 下面是使用Mermaid代码绘制的思维导图&#xff0c;用于解释堆排序算法的实现思路原理&#xff1a; #mermaid-svg-cFIgsLSm5LOBm5Gl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size…...

Linux设备驱动模型之字符设备

Linux设备驱动模型之字符设备 前面我们有介绍到Linux的设备树&#xff0c;这一节我们来介绍一下字符设备驱动。字符设备是在IO传输过程中以字符为单位进行传输的设备&#xff0c;而字符设备驱动则是一段可以驱动字符设备驱动的代码&#xff0c;当前Linux中&#xff0c;字符设备…...

Kafka3.0.0版本——消费者(自动提交 offset)

目录 一、自动提交offset的相关参数二、消费者&#xff08;自动提交 offset&#xff09;代码示例 一、自动提交offset的相关参数 官网文档 参数解释 参数描述enable.auto.commi默认值为 true&#xff0c;消费者会自动周期性地向服务器提交偏移量。auto.commit.interval.ms如果…...

【业务功能116】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-公共服务 DNS

kubernetes集群公共服务 DNS 一、软件安装 # yum -y install bind二、软件配置 # vim /etc/named.conf # cat -n /etc/named.conf1 //2 // named.conf3 //4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS5 // server as a caching only…...

马斯洛的动机与人格、需求层次理论

马斯洛是在研究动机&#xff08;Motivation&#xff09;时&#xff0c;才提出需求层次作为理论基础来支持动机理论的。所谓动机&#xff0c;就是人类的行为到底是由什么驱动&#xff0c;其实是对人类行为的当下原动力&#xff0c;区别于过去、未来或者是有可能起作用的动力。 …...

TCP/IP网络传输模型及协议

文章目录 前言一、TCP/IP协议二、协议层报文间的封装与拆封1.发送数据2.接收数据前言 TCP/IP模型由OSI七层模型演变而来: 国际标准化组织 1984年提出了模型标准,简称 OSI(Open Systems Interconnection Model)七层模型: 物理层(Physics) :提供机械、电气、功能和过程特性…...

git 推送出现fatal: The remote end hung up unexpectedly解决方案

在使用git更新或提交项目时候出现 "fatal: The remote end hung up unexpectedly " 的报错&#xff1b; 报错的原因原因是推送的文件太大。 下面给出解决方法 方法一&#xff1a; 修改提交缓存大小为500M&#xff0c;或者更大的数字 git config --global http.po…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...