本文介绍如何使用kubectl port-forward命令连接K8S集群中运行的Redis服务。这种连接方式有助于数据库的调试工作。

注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同。

0x00 准备工作

在进行该操作之前,需要满足以下条件:

  • 需要有一个K8S集群,并且配置好了kubectl命令行工具来与集群通信。如果未准备好集群,那么你可以使用Minikube创建一个K8S集群,或者你也可以使用下面K8S环境二者之一:

    • Katacoda
    • Play with Kubernetes
  • 安装了redis-cli

如果需要查看K8S版本信息,可以输入指令kubectl version

0x01 创建Pod运行Redis服务器

1、创建一个Pod:

kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-master.yaml

表示该Pod成功创建的输出结果如下所示:

pod "redis-master" created

2、检查该Pod是否运行并处于ready状态:

kubectl get pods

当该Pod处于ready状态时,输出内容中的STATUS字段的值为Running:

NAME           READY     STATUS    RESTARTS   AGE
redis-master   2/2       Running   0          41s

3、确认Redis服务运行于该Pod中,并监听端口6379:

kubectl get pods redis-master --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'

输入结果会展示端口号:

6379

0x02 转发本地端口到Pod端口

1、转发本地6379端口到redis-masterPod的6379端口:

kubectl port-forward redis-master 6379:6379

输出结果类似如下内容:

I0710 14:43:38.274550    3655 portforward.go:225] Forwarding from 127.0.0.1:6379 -> 6379
I0710 14:43:38.274797    3655 portforward.go:225] Forwarding from [::1]:6379 -> 6379

2、启动Redis命令行界面:

redis-cli

3、在Redis命令行提示中,输入ping命令:

127.0.0.1:6379>ping

ping请求成功将返回PONG

0x03 总结

向本地端口6379发起的连接,将会转发到运行着Redis服务器的Pod的6379端口。通过这种机制,我们就可以使用本地工作站来调试运行在Pod内的数据库了。

注意:由于已知的限制,端口转发目前仅仅支持TCP协议,对于UDP协议的支持功能目前正在由issue 47862跟踪。

英文原文:https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/

转载于:https://www.cnblogs.com/leejack/p/8319050.html

【K8S学习笔记】Part1:使用端口转发访问集群内的应用相关推荐

  1. 学习笔记Hadoop(七)—— Hadoop集群的安装与部署(4)—— 配置Hadoop集群

    四.配置Hadoop集群 Hadoop集群总体规划 Hadoop集群安装采用下面步骤: 在Master节点:上传并解压Hadoop安装包 . 在Master节点:配置Hadoop所需configura ...

  2. Spark基础学习笔记07:搭建Spark HA集群

    文章目录 零.本讲学习目标 一.Spark HA集群概述 二.Spark HA集群架构 三.集群角色分配表 四.Spark HA集群搭建步骤 (一)安装配置ZooKeeper 1.在虚拟机master ...

  3. SpringCloud学习笔记(一)【Euraka集群搭建】

    来自[狂神说]Java学习完整路线https://www.bilibili.com/read/cv5702420 SpringCloud概述---Rest学习搭建---Eureka集群 SpringC ...

  4. 学习笔记Hadoop(八)—— Hadoop集群的安装与部署(5)—— Hadoop配置参数介绍、Hadoop集群启动与监控

    五.Hadoop配置参数介绍 Hadoop集群配置文件主要有: 它们的默认参数配置可以看: core-default.xml :https://hadoop.apache.org/docs/stabl ...

  5. Redis学习笔记(11)——Redis缓存集群方案

    为什么80%的码农都做不了架构师?>>>    由于单台Redis服务器的内存管理能力有限,使用过大内存的Redis又会使得服务器的性能急剧下降,一旦服务器发生故障将会影响更大范围业 ...

  6. Spark基础学习笔记05:搭建Spark Standalone集群

    文章目录 零.本讲学习目标 一.Spark Standalone架构 (一)client提交方式 (二)cluster提交方式 二.Spark集群拓扑 (一)集群拓扑 (二)集群角色分配 三.搭建三节 ...

  7. 学习笔记Hadoop(六)—— Hadoop集群的安装与部署(3)—— 配置ssh无密码登录

    三.配置ssh无密码登录 3.1.SSH SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全 ...

  8. 学习笔记Spark(二)—— Spark集群的安装配置

    一.我的软件环境 二.Spark集群拓扑 2.1.集群规模 192.168.128.10 master 1.5G ~2G内存.20G硬盘.NAT.1~2核 : 192.168.128.11 node1 ...

  9. 学习笔记Hadoop(五)—— Hadoop集群的安装与部署(2)—— Hadoop集群部署模式、配置固定IP

    一.Hadoop集群部署模式 Hadoop的安装部署的模式一共有三种: 独立模式(本地模式) standalone 默认的模式,无需运行任何守护进程(daemon),所有程序都在单个JVM上执行.由于 ...

最新文章

  1. 提高mysql性能的开源软件
  2. 从数据类型 nvarchar 转换为 bigint 时出错_JavaScript数据类型的一些细节点
  3. 全年月平均工作时间和工资折算办法
  4. 大学阶段总结——大二
  5. HarmonyOS之将SVG文件转换为XML文件
  6. 【MFC】可调整按钮位置的工具栏
  7. SAP Marketing 和SAP marketing Cloud的区别
  8. 【OpenCV学习】OpenMP并行化实例
  9. 臭名昭著的sun.misc.Unsafe解释
  10. Django模板:url反向解析
  11. Linux glibc 库的修复方案扯出更严重的新漏洞
  12. 使用oss对象存储的ossutil工具
  13. 更改 VSCode 字体
  14. word导出手机端乱码或者打不开解决办法
  15. 2018年深圳,武汉房价走势分析
  16. 中国电信翼支付网关接口接入
  17. cocos2d-x小游戏——飞机大战
  18. Android studio录屏按钮不能用怎么办
  19. ALGO-973 唯一的啥子( 蓝桥杯题解)
  20. 百度通用翻译api在微信小程序中的使用

热门文章

  1. 用camelot读取表格_如何使用Camelot从PDF提取表格
  2. Best Free Network Performance Test tool – Iperf
  3. 大学生每个月1500元的生活费,够吗?
  4. 神圣的傻瓜,善良的杰克·凯鲁亚克:纪念《在路上》50年
  5. 《魔鸟》:上帝可以宽恕,魔鬼却一个都不放过
  6. Windows Mobile logo测试介绍
  7. Unable to find the ncurses libraries的解决办法
  8. 视频图像处理平台对比_对比传统智能结算,戈子视觉结算有了质的改变
  9. 大唐发电厂计算机考试题,全国计算机等级考试上机考试与题库解析:一级B
  10. c语言数组中两元素交换,如可交换两个数组中的元素?