码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何通过port-forward命令在本地访问 k8s 集群服务


    合集 - 云原生(13)
    1.最佳实践-使用Github Actions来构建跨平台容器镜像2023-11-152.滚动更新和回滚部署在 Kubernetes 中的工作原理2023-11-203.Kubernetes 中的服务注册与发现原理分析2023-11-294.通过滴滴技术博客:探寻造成此次P0故障的真正原因2023-11-305.从物理机到K8S:应用系统部署方式的演进及其影响2023-11-306.如何基于 k8s做私有化部署2023-12-187.一文搞定K8S监控告警平台选型2023-12-20
    8.如何通过port-forward命令在本地访问 k8s 集群服务2023-12-26
    9.什么是革命性技术eBPF?为什么可观测性领域都得用它2023-12-2710.在k8s中快速搭建基于Prometheus监控系统2023-12-2911.Prometheus 与 VictoriaMetrics对比01-0512.什么是Helm?它是如何提升云原生应用私有化部署效率的01-0813.十分钟教你在 k8s 中部署一个前后端应用01-12
    收起

    公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享

    概述

    在我们访问k8s中的pod服务时,一般通过node port映射pod端口进行访问,还有一种是通过ingress或者istio通过域名方式来访问,虽然两种方式能满足我们需求,但是如果针对临时访问,配置起来还是有点复杂和耗时,那么我们就可以使用 kubectl port-forward来满足我们需求

    port-forward 介绍

    kubectl port-forward 是 Kubernetes 命令行工具 kubectl 提供的一个功能,用于在本地主机和 Kubernetes 集群中的 Pod 之间建立端口转发。

    当你运行 kubectl port-forward 命令时,它会将本地主机上的一个端口与 Kubernetes 集群中的一个 Pod 的端口进行绑定。这样,在本地主机上监听的端口上收到的流量将被转发到 Pod 的端口上,反之亦然。

    这个功能在开发和调试应用程序时非常有用。以下是一些 kubectl port-forward 的常见用途和好处:

    • 访问远程 Pod 的本地服务: 你可以将 Pod 的端口转发到本地主机,从而能够直接访问 Pod 上运行的服务。例如,你可以将一个运行在 Kubernetes 集群中的数据库 Pod 的端口转发到本地,以便在本地开发环境中连接和测试数据库。

    • 调试和日志记录: 通过将 Pod 的端口转发到本地,你可以使用本地工具来调试和监视在 Kubernetes 中运行的应用程序。你可以使用本地的调试器、日志记录工具或其他开发工具来检查应用程序的状态、调试问题或查看日志。

    • 绕过 Kubernetes 服务和负载均衡器: 有时候,你可能想直接访问运行在 Kubernetes 中的应用程序,而不经过 Kubernetes 的服务发现和负载均衡机制。通过将 Pod 的端口转发到本地,你可以绕过这些机制,直接连接到应用程序。

    kubectl port-forward 命令的基本语法如下:

      kubectl port-forward  [local-port:]pod-port [-n namespace]
      
      kubectl port-forward deployment/ [local-port:]pod-port [-n namespace]
    

    基于以上介绍下面对port-forward命名进行一个简单验证

    Kubectl 安装

    1. 下载
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
    
    
    1. 将 kubectl 置为可执行文件:
    chmod +x ./kubectl
    
    1. 将可执行文件 kubectl 移动到系统可寻址路径 PATH 内的一个位置:
    sudo mv ./kubectl /usr/local/bin/kubectl
    sudo chown root: /usr/local/bin/kubectl
    

    说明:

    确保 /usr/local/bin 在你的 PATH 环境变量中。

    1. 测试一下,确保你安装的是最新的版本:
    kubectl version --client
    

    或者使用下面命令来查看版本的详细信息:

    kubectl version --client --output=yaml
    
    1. 安装插件后,清理安装文件:
    rm kubectl kubectl.sha256
    

    配置kubectl

    访问rancher控制台,下载kubeCofig文件

    执行cd 到当前用户跟目录,创建.kube文件夹

    cd & mkdir .kube & cd .kube
    

    copy下载集群配置文件到.kube目录下,假设文件路径为:/Users/g2/Downloads/ ,文件名为:pdc-demo.yaml,那么命令如下

    mv /Users/g2/Downloads/pdc-demo.yaml ./config
    

    执行kubectl get pods 查看配置是否生效,返回如下信息即生效

    端口转发配置验证

    下面使用port-forward命令对集群中的elastic-job和eureka进行本地访问

    elatic-job访问验证

    如下图,假如要访问elatic-job

    那么执行以下命令,这里的命令表示访问本地8080端口转发的pod上,pod的端口为80

    kubectl port-forward elastic-job-86fc7b856-jxflx 8080:80
    

    本地请求8080端口 地址,效果如下图

    eureka访问验证

    eureka的pod端口也为80映射到本地端口为8762

     kubectl port-forward eureka-5d4cf57b88-l8bgd  8762:80
    

    可以看到访问成功

  • 相关阅读:
    某讯D-Link AC集中管理平台未授权访问漏洞复现 CNVD-2023-19479
    Vue学习笔记
    代码随想录算法训练营第六十天| LeetCode 739 每日温度、LeetCode 496 下一个更大元素 I
    R语言置信区间计算(confidence interval)、计算均值对应的置信区间、为均值构建95%执行区间、使用glue包把最终结果以标准格式输出
    Mybatis学习之动态Sql
    MVCC 脏读理解
    帆软FineReport决策报表之页面布局
    【算法100天 | 7】二叉树的前序、中序、后序、层序遍历(递归和迭代两种实现)
    Clion学习
    百度文心一言
  • 原文地址:https://www.cnblogs.com/waldron/p/17927449.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号