1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      如何理解Kubernetes的三種IP地址類型

      本篇文章給大家分享的是有關(guān)如何理解Kubernetes的三種IP地址類型,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

      成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),臨縣網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:臨縣等地區(qū)。臨縣做網(wǎng)站價(jià)格咨詢:18980820575

      很多Kubernetes的初學(xué)者對Kubernetes里面三種不同的IP地址和工作機(jī)制理解得不是很清楚。

      我們通過一個最簡單的例子來學(xué)習(xí)。

      用如下命令行創(chuàng)建一個基于nginx的deployment:

      kubectl run nginx --image=nginx:maxline

      用kubectl get deploy查看成功生成的名為nginx的deployment:

      如何理解Kubernetes的三種IP地址類型

      此時這個deployment里的nginx pod還無法對外界提供服務(wù)。

      我們創(chuàng)建一個service讓外界能夠消費(fèi)。使用命令行創(chuàng)建這樣的一個service:

      kubectl expose deployment nginx --type=LoadBalancer --port=80 --target-port=80

      type的類型選擇為LoadBalancer, --port指定的是80端口,意思是這個service對外界暴露出來的服務(wù)端口是80,--target-port=80,這個端口是pod內(nèi)部的nginx docker容器提供服務(wù)的工作端口,默認(rèn)為80。這里實(shí)際上建立了向外界開發(fā)的80端口同nginx容器內(nèi)部端口的一個映射關(guān)系。

      如何理解Kubernetes的三種IP地址類型

      執(zhí)行完畢后,我們調(diào)用下面的命令行,看到了創(chuàng)建的service的Cluster IP和External IP。

      如何理解Kubernetes的三種IP地址類型

      其中external IP很好理解,這個service通過external IP加上我們前面介紹的被映射到80端口向外界提供服務(wù):

      瀏覽器里輸入External IP http://35.241.173.27:80, 能成功訪問nginx服務(wù)器的index.html:

      如何理解Kubernetes的三種IP地址類型

      而我們通過Service的Cluster IP是無法訪問這個Service提供的功能的。

      我們知道Kubernetes里的所有pod都可以彼此通信,而不需要通過網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation-NAT),所有的節(jié)點(diǎn)也可以與所有的pod通信。而Service的Cluster IP,是一個內(nèi)部的IP地址,專門用于同Cluster內(nèi)部的節(jié)點(diǎn)或者pod通信。同外界通信,還是通過External IP進(jìn)行。

      NodePort

      再試試NodePort。

      kubectl expose deployment nginx --type=NodePort --port=80 --target-port=80

      注意看下圖的PORT欄下面顯示的類型為NodePort的端口:31375

      這個端口號是Kubernetes expose命令自動生成的,范圍在30000到32767之間。如果需要修改,可以編輯api server的配置文件:/etc/kubernetes/apiserver:

      如何理解Kubernetes的三種IP地址類型

      如何理解Kubernetes的三種IP地址類型

      有了這個端口號,我們隨便使用一個node的IP地址,后面拼接上:31375即是外部可以消費(fèi)的完整地址。

      使用命令行kubectl get nodes -o wide, 在結(jié)果里選擇任意節(jié)點(diǎn)的External-IP,后面加上:31375:

      如何理解Kubernetes的三種IP地址類型

      測試:

      http://146.148.23.183:31375/

      測試通過。

      如何理解Kubernetes的三種IP地址類型

      Pod的端口轉(zhuǎn)發(fā)功能

      值得一提的是,有時我們出于測試的目的,需要一種簡單的辦法查看一個pod是否能正常提供服務(wù)。如果每次通過kubectl的方式創(chuàng)建service就太麻煩了。

      這里介紹一種簡單的辦法:pod的端口轉(zhuǎn)發(fā)功能(port forward)。

      比如我們想測試下圖get pods返回的第一個pod的功能,名稱為nginx-6f754dd4b9-74jdn:

      如何理解Kubernetes的三種IP地址類型

      執(zhí)行命令行 kubectl port-forward pod/nginx-6f754dd4b9-74jdn 8080:80

      看到提示信息Forwarding from 127.0.0.1:8080 -> 80, 意思是把當(dāng)前主機(jī)的8080端口映射到nginx pod的80工作端口:

      如何理解Kubernetes的三種IP地址類型

      最后,就能夠通過localhost:8080直接訪問nginx pod提供的服務(wù)了:

      如何理解Kubernetes的三種IP地址類型

      以上就是如何理解Kubernetes的三種IP地址類型,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


      當(dāng)前名稱:如何理解Kubernetes的三種IP地址類型
      本文網(wǎng)址:http://www.ef60e0e.cn/article/pdehjs.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        邯郸县| 阿图什市| 松江区| 七台河市| 磐石市| 成武县| 营山县| 新郑市| 嵊泗县| 疏附县| 铜梁县| 蒙城县| 施秉县| 玛多县| 大名县| 利辛县| 阿克陶县| 周至县| 九龙城区| 四子王旗| 漯河市| 德安县| 衢州市| 九江市| 兰考县| 习水县| 兴城市| 崇信县| 大田县| 长顺县| 大庆市| 册亨县| 六枝特区| 桦甸市| 龙州县| 克拉玛依市| 福建省| 平舆县| 高要市| 中西区| 林周县|