成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

應(yīng)用開發(fā)者必須了解的Kubernetes網(wǎng)絡(luò)二三事

HelKyle / 1741人閱讀

摘要:在容器領(lǐng)域內(nèi),已毋庸置疑成為了容器編排和管理的社區(qū)標(biāo)準(zhǔn)??蛻舳藷o需連接到每個(gè)的,而是直接連接負(fù)載均衡器的地址。通過這樣的操作,使用持續(xù)交付和部署方法論的快速開發(fā)和部署周期將會(huì)成為常態(tài)。

在容器領(lǐng)域內(nèi),Kubernetes已毋庸置疑成為了容器編排和管理的社區(qū)標(biāo)準(zhǔn)。如果你希望你所搭建的應(yīng)用程序能充分利用多云(multi-cloud)的優(yōu)勢(shì),有一些與Kubernetes網(wǎng)絡(luò)相關(guān)的基本內(nèi)容是你必須了解與考慮的。

Kubernetes網(wǎng)絡(luò)基本的部署調(diào)度單元:Pod

Kubernetes中的基本管理單元并非是一個(gè)容器,而是一個(gè)叫做pod的東西。我們認(rèn)為部署了一個(gè)或多個(gè)容器的環(huán)境是一個(gè)pod單元。通常情況下,它們代表了提供部分服務(wù)的單個(gè)功能端點(diǎn)。

舉兩個(gè)有效的pods單元為例:

數(shù)據(jù)庫pod -- 一個(gè)單一MySQL容器

Web pod -- 包含一個(gè)python實(shí)例的容器及包含Redis數(shù)據(jù)庫的容器

pods具有以下常用的特性:

它們共享資源 -- 包括了網(wǎng)絡(luò)棧和命名空間

pod包含了一個(gè)IP地址,用于客戶端連接

pod的配置定義了任意公共端口以及哪個(gè)容器占用該端口

pod中的全部容器可以通過網(wǎng)絡(luò)中的任意端口進(jìn)行交互(這些容器都會(huì)被本地引用,因此需要確保pod中的服務(wù)都有唯一的端口)

Kubernetes服務(wù)(Kubernetes Services)

Kubernetes服務(wù)位于負(fù)載均衡器之后,負(fù)責(zé)管理多個(gè)相同的pods。客戶端無需連接到每個(gè)pod的IP,而是直接連接負(fù)載均衡器的IP地址。Kubernetes服務(wù)會(huì)將你的應(yīng)用程序定義為一個(gè)服務(wù),使得Kubernetes可以根據(jù)定義的規(guī)則和實(shí)際可用資源動(dòng)態(tài)擴(kuò)展pod數(shù)量。

若想要應(yīng)用程序被Kubernetes基礎(chǔ)設(shè)施外部的客戶端訪問到,唯一的方法是將應(yīng)用程序定義為服務(wù)的一部分。無論你是否擴(kuò)展節(jié)點(diǎn),都需要Kubernetes服務(wù)分配外部IP地址。

標(biāo)簽(Labels)

標(biāo)簽是Kubernetes中一組作用于對(duì)象(如pods)的鍵值對(duì),需要具有實(shí)際意義且有相關(guān)性。

在Kubernetes的標(biāo)準(zhǔn)配置中,標(biāo)簽并不直接影響與Kubernetes相關(guān)的核心操作,而是主要用于對(duì)對(duì)象的分組和識(shí)別。

網(wǎng)絡(luò)安全(Network Security)

下面我們將介紹一些Kubernetes推薦使用的網(wǎng)絡(luò)插件,這些插件用到了我們上一節(jié)提到的標(biāo)簽。利用標(biāo)簽,它們可以在容器運(yùn)行時(shí)改變某些功能。在Kubernetes中,大多數(shù)使用的網(wǎng)絡(luò)插件都是基于容器網(wǎng)絡(luò)接口(Container Networking Interface ,CNI)規(guī)范,這項(xiàng)規(guī)范由Cloud Native Computing Foundation(CNCF)制定。CNI允許在多個(gè)容器平臺(tái)中使用相同的網(wǎng)絡(luò)插件。現(xiàn)在我們使用一種調(diào)整網(wǎng)絡(luò)安全策略的方法,該方法并不像傳統(tǒng)的網(wǎng)絡(luò)或者安全團(tuán)隊(duì)模型那樣預(yù)先設(shè)置好一切,而是在容器運(yùn)行時(shí),利用標(biāo)簽來調(diào)整正確的網(wǎng)絡(luò)策略(容器的動(dòng)態(tài)變化太過頻繁,很難進(jìn)行手動(dòng)干預(yù)),目前該方法已經(jīng)成為了 Kubernetes Network Special Internet Group(Network SIG)的一部分。如今,我們已經(jīng)有多個(gè)可供使用的網(wǎng)絡(luò)插件能夠?qū)⒕W(wǎng)絡(luò)策略應(yīng)用于命名空間和pods中,這其中包括OpenContrail 和 Project Calico。

通過這種新方法,Kubernetes管理員可以導(dǎo)入所有預(yù)先準(zhǔn)備的策略,開發(fā)者負(fù)責(zé)調(diào)整并根據(jù)需求自主選擇策略,而所有這一切都會(huì)定義到pod中執(zhí)行。

網(wǎng)絡(luò)策略示例:

POST /apis/net.alpha.kubernetes.io/v1alpha1/namespaces/tenant-a/networkpolicys/
{
    "kind": "NetworkPolicy",
    "metadata": {
        "name": "pol1"
    },
    "spec": {
        "allowIncoming": {
            "from": [
                { "pods": { "segment": "frontend" } }
            ],
            "toPorts": [
                { "port": 80, "protocol": "TCP" }
            ]
         },
            "podSelector": { "segment": "backend" }
     }
}

有網(wǎng)絡(luò)策略定義的pod配置示例:

apiVersion: v1
kind: Pod
metadata:
 name: nginx
 labels:
   app: nginx
   segment: frontend
spec:
 containers:
 - name: nginx
   image: nginx
   ports:
   - containerPort: 80
結(jié)論

有了Kubernetes提供的功能,開發(fā)者現(xiàn)在擁有了完全定義應(yīng)用程序及其依賴性所需的靈活性,并且可以在單個(gè)pod中使用多個(gè)容器。如果任何一個(gè)容器發(fā)生錯(cuò)誤,Kubernetes能夠確保將其對(duì)應(yīng)的pod停用,自動(dòng)用新的pod替換。此外,開發(fā)者還可以定義應(yīng)用程序或者服務(wù)偵聽的端口號(hào),無論它是較大服務(wù)的一部分,或僅僅是一個(gè)獨(dú)立實(shí)例。通過這樣的操作,使用持續(xù)交付和部署方法論的快速開發(fā)和部署周期將會(huì)成為常態(tài)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11281.html

相關(guān)文章

  • 應(yīng)用發(fā)者必須了解Kubernetes網(wǎng)絡(luò)三事

    摘要:在容器領(lǐng)域內(nèi),已毋庸置疑成為了容器編排和管理的社區(qū)標(biāo)準(zhǔn)??蛻舳藷o需連接到每個(gè)的,而是直接連接負(fù)載均衡器的地址。通過這樣的操作,使用持續(xù)交付和部署方法論的快速開發(fā)和部署周期將會(huì)成為常態(tài)。 在容器領(lǐng)域內(nèi),Kubernetes已毋庸置疑成為了容器編排和管理的社區(qū)標(biāo)準(zhǔn)。如果你希望你所搭建的應(yīng)用程序能充分利用多云(multi-cloud)的優(yōu)勢(shì),有一些與Kubernetes網(wǎng)絡(luò)相關(guān)的基本內(nèi)容是你...

    劉明 評(píng)論0 收藏0
  • 應(yīng)用發(fā)者必須了解Kubernetes網(wǎng)絡(luò)三事

    摘要:在容器領(lǐng)域內(nèi),已毋庸置疑成為了容器編排和管理的社區(qū)標(biāo)準(zhǔn)。客戶端無需連接到每個(gè)的,而是直接連接負(fù)載均衡器的地址。通過這樣的操作,使用持續(xù)交付和部署方法論的快速開發(fā)和部署周期將會(huì)成為常態(tài)。 在容器領(lǐng)域內(nèi),Kubernetes已毋庸置疑成為了容器編排和管理的社區(qū)標(biāo)準(zhǔn)。如果你希望你所搭建的應(yīng)用程序能充分利用多云(multi-cloud)的優(yōu)勢(shì),有一些與Kubernetes網(wǎng)絡(luò)相關(guān)的基本內(nèi)容是你...

    Backache 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<