【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.pswp.cn/news/252481.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252481.shtml
英文地址,請注明出處:http://en.pswp.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 進行開發,但是我在上一家公…