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

本文介绍如何使用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 16.04 桌面菜单栏 任务栏 标题栏消失的解决办法

将home目录下的.cache删除掉就可以了 & cd & sudo rm -r ./.cache

瓜子二手车发12月二手车价格:汉兰达奥德赛CR-V保值率居首

中新网1月22日电 日前,基于海量个人对个人的二手车成交数据,瓜子二手车公布了12月全国及多个核心城市的二手车交易“瓜子价”数据。数据显示,2018年12月全国瓜子二手车严选直卖签约均价为87934元,环比上涨0.16%,同比上…

概率分布之间的距离度量以及python实现(三)

概率分布之间的距离,顾名思义,度量两组样本分布之间的距离 。 1、卡方检验 统计学上的χ2统计量,由于它最初是由英国统计学家Karl Pearson在1900年首次提出的,因此也称之为Pearson χ2,其计算公式为 (i1,2&…

Windows vs Linux:\r\n 与 \r

Linux 下文本文件的换行符为 \nWindows 下文本文件的换行符为 \r\n,占两个字节: \r:归位键(CR),ascii 码为 13\n:换行键(LF),ascii 码位 10也即单行无换行文本…

C++求职题

文章大部分内容转载https://www.cnblogs.com/lanxuezaipiao/p/4127904.html 1.冒泡排序法: 如果有N个数字需要排序,那么需要进行(N-1)趟循环,第i趟循环需要对比的次数为(N-i)。所以可以用双重循环,外层循环用于控制循环的趟数&a…

Python-爬虫-requests

简介 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3)#注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码&am…

JS如何监听动画结束

场景描述 在使用JS控制动画时一般需要在动画结束后执行回调去进行DOM的相关操作,所以需要监听动画结束进行回调。JS提供了以下事件用于监听动画的结束,简单总结学习下。 CSS3动画监听事件 transitionEnd事件 transitionEnd事件会在CSS transition动画结束…

封装一个ViewPager真正的实现图片无限循环滚动带导航点

效果图: 大家在写项目的过程中常常会碰到须要实现Viewpager里面载入几张图片来循环自己主动轮播的效果,假设不封装一下的话代码分散在activity里面会显得非常乱。并且也不利于我们下次复用,所以这里我把viewpager的相关代码抽取出来放在了一个…

毕业论文页眉页脚页码插入

用word这么多年,第一次完整的操作了一遍页眉页脚页码的插入过程,其实三者都要要求奇偶页不同 1.页面布局-》右下角箭头-》版式-》奇偶页不同 因为文章不同的部分需要插入不同的页眉页脚页码,所以要在不同的部分插入分解符断开它们的连接 2、…

巴黎市中心降下2019年第一场雪

当地时间1月22日,法国巴黎市中心降下2019年第一场雪,气温也随之下降,街上的行人和车辆均有所减少。中新社记者 李洋 摄一对情侣在埃菲尔铁塔前合影留念。无家可归者在长椅上睡觉。游客在卢浮宫前拍照。

Echarts实现隐藏x轴,y轴,刻度线,网格

"yAxis": [{//就是一月份这个显示为一个线段,而不是数轴那种一个点点"show" : true,"boundaryGap": true,"type": "category","name": "时间","data": ["1月", "2…

Ubuntu16.04 + Matlab2018+ desktop creation

https://blog.csdn.net/m0_37601622/article/details/82731879 https://blog.csdn.net/l18092482025/article/details/78906436 The second blog teaches you how to download a matlab.png when there is no matlab.png in /usr/share/applications/.

Atom插件主题推荐

注意事项 主题和插件这方面,比 Sublime Text 人性化多了..一些比较用心的作者增加了二度设置功能。 何为二度设置,就是不用手写代码修改配置文件,点点鼠标,填填输入框就能生效,主题以 isotope-ui 这个做例子介绍,看图: 进入二度设…

印尼发生洪灾和山体滑坡 致多人死亡数千人撤离

当地时间1月23日,印尼南苏拉威西省望加锡居民受洪水影像,用竹筏运送摩托车。近日,印尼南苏拉威西省暴雨连连,造成洪灾和山体滑坡。目前,暴雨引发的洪灾和山体滑坡至少已造成8人死亡,数千人被迫撤离家园。。…

Django学习笔记第三篇--关于响应返回

一、返回简单类型: 1 #1、返回简单字符串 2 #from django.http import HttpResponse 3 return HttpResponse("return string") 4 #2、返回json 5 return HttpResponse(json.dumps(response_data),content_type"application/json") 二、返回文…

HTTP响应状态码

1XX:代表提示信息 2XX:代表成功信息 3XX:代表重定向 4XX:代表客户端错误信息 5XX:代表服务器错误 信息 500:500 错误是服务器内部错误 ,而且是程序上错误 为多,可能是你的用户权限的问题导致,或者是数据库连接出现了错误. 501:服务器501服务器501错误是服务器是否具有请求功能.…

pycharm中无法import已经安装的ros中的库

使用pycharm写python程序,无法import 已经安装的ros包,并提示ImportError: No module named sensor_msgs.msg 解决方法如下 1. pycharm->file->settings->project:csvfile->project interpreter-> 点击右侧下三角选择 show all 2. 在弹…

tcp/ip知识点的总结

知识点搜集于网络,在加上自己的总结,还有很多不全,希望大家多提意见,共享学习! 一、TCP/IP是什么? TCP/IP是一个协议族,而不是单独的协议。包括arp、ip、icmp、tcp、udp、http、ftp等协议 二、T…

搜索引擎ElasticSearchV5.4.2系列一之ES介绍

相关博文: 搜索引擎ElasticSearchV5.4.2系列一之ES介绍 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2kibanaV5.4.2x-packV5.4.2安装 搜索引擎ElasticSearchV5.4.2系列三之ES使用 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎…

[译] 前端组件设计原则

原文地址:Front end component design principles 原文作者:Andrew Dinihan 文中示例代码:传送门 限于个人能力,如有错漏之处,烦请不吝赐教。 前言 我在最近的工作中开始使用 Vue 进行开发,但是我在上一家公…