為ECI Pod配置公網(wǎng)連接
默認(rèn)情況下,系統(tǒng)只為ECI Pod(即ECI實(shí)例)分配一個(gè)私網(wǎng)IP,如果您的ECI Pod有連接公網(wǎng)的需求,例如需要拉取公網(wǎng)鏡像等,您可以為其綁定EIP,或者在所屬VPC中創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān),以實(shí)現(xiàn)ECI Pod與公網(wǎng)互通。
背景信息
為ECI實(shí)例配置公網(wǎng)連接時(shí),支持以下兩種方式:
方式 | 說明 | 適用場(chǎng)景 |
綁定EIP | EIP是獨(dú)立購買的可單獨(dú)持有的公網(wǎng)IP地址,可以為綁定的ECI實(shí)例提供公網(wǎng)服務(wù)。更多信息,請(qǐng)參見什么是彈性公網(wǎng)IP和EIP計(jì)費(fèi)概述。 | 單個(gè)ECI實(shí)例。 例如:您有一個(gè)ECI實(shí)例用于部署Nginx服務(wù),在創(chuàng)建實(shí)例時(shí),您需要為該實(shí)例綁定EIP。當(dāng)Nginx啟動(dòng)時(shí),將自動(dòng)暴露80端口到EIP。您可以通過EIP地址加端口的方式訪問Nginx服務(wù)。 |
在所屬VPC中創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān) | NAT網(wǎng)關(guān)是一種網(wǎng)絡(luò)地址轉(zhuǎn)換服務(wù),提供NAT代理(SNAT和DNAT)能力。更多信息,請(qǐng)參見什么是NAT網(wǎng)關(guān)和公網(wǎng)NAT網(wǎng)關(guān)計(jì)費(fèi)。 | 多個(gè)ECI實(shí)例。 例如:您有多個(gè)ECI實(shí)例需要從Docker Hub拉取鏡像,由于ECI默認(rèn)不提供公網(wǎng)鏈接進(jìn)行公網(wǎng)鏡像的拉取,您需要在實(shí)例所屬VPC中創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān)并完成規(guī)則配置,否則無法拉取鏡像。 |
為ECI實(shí)例配置公網(wǎng)連接時(shí),請(qǐng)確保ECI實(shí)例所屬的安全組已放行相關(guān)地址和端口。更多信息,請(qǐng)參見添加安全組規(guī)則。
為ECI實(shí)例綁定EIP
創(chuàng)建ECI Pod時(shí),您可以在Pod metadata中添加Annotation來綁定已有EIP,或者自動(dòng)創(chuàng)建并綁定一個(gè)EIP。
EIP只支持為所綁定的ECI實(shí)例提供公網(wǎng)服務(wù),一個(gè)EIP只能綁定一個(gè)ECI實(shí)例。如果您有多個(gè)ECI實(shí)例需要連接公網(wǎng),您需要分別為其綁定EIP,或者在所屬VPC中創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān)。
綁定已有EIP
Annotation
示例值
說明
k8s.aliyun.com/eci-eip-instanceid
"eip-bp1q5n8cq4p7f6dzu****"
指定EIP,將其綁定到ECI Pod上。
自動(dòng)創(chuàng)建并綁定EIP
Annotation
示例值
說明
k8s.aliyun.com/eci-with-eip
"true"
配置為true表示自動(dòng)創(chuàng)建一個(gè)EIP,并將其綁定到ECI Pod上。
k8s.aliyun.com/eip-bandwidth
"10"
設(shè)置EIP帶寬。單位為Mbps。默認(rèn)為5 Mbps。
k8s.aliyun.com/eip-common-bandwidth-package-id
"cbwp-2zeukbj916scmj51m****"
綁定已有的共享帶寬。更多信息,請(qǐng)參見共享帶寬。
k8s.aliyun.com/eip-isp
BGP
設(shè)置EIP線路類型,僅按量付費(fèi)的EIP支持指定。取值范圍:
BGP(默認(rèn)值):BGP(多線)線路
BGP_PRO:BGP(多線)精品線路
更多信息,請(qǐng)參見EIP線路類型。
k8s.aliyun.com/eip-internet-charge-type
PayByTraffic
設(shè)置EIP的計(jì)量方式。取值范圍:
PayByBandwidth:按帶寬計(jì)費(fèi)
PayByTraffic:按流量計(jì)費(fèi)
更多信息,請(qǐng)參見EIP計(jì)費(fèi)方式。
k8s.aliyun.com/eip-public-ip-address-pool-id
pippool-bp187arfugi543y1s****
指定IP地址池ID。 EIP將從該IP地址池中分配。更多信息,請(qǐng)參見創(chuàng)建和管理IP地址池。
Annotation請(qǐng)?zhí)砑釉赑od的metadata下,例如:創(chuàng)建Deployment時(shí),Annotation需添加在spec>template>metadata下。
僅支持在創(chuàng)建ECI Pod時(shí)添加ECI相關(guān)Annotation來生效ECI功能,更新ECI Pod時(shí)添加或者修改ECI相關(guān)Annotation均不會(huì)生效。
配置示例如下:
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-eip-instanceid: "eip-bp1q5n8cq4p7f6dzu****" # 指定已有的EIP進(jìn)行綁定 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-with-eip: "true" # 自動(dòng)創(chuàng)建并綁定EIP k8s.aliyun.com/eip-bandwidth: "10" # 設(shè)置EIP帶寬 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80
apiVersion: apps/v1 kind: Deployment metadata: name: test labels: app: test spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-with-eip: "true" #自動(dòng)創(chuàng)建并綁定EIP k8s.aliyun.com/eip-common-bandwidth-package-id: "cbwp-2zeukbj916scmj51m****" # 綁定共享帶寬 spec: containers: - name: nginx image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80
在所屬VPC中創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān)
在VPC中創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān)后,公網(wǎng)NAT網(wǎng)關(guān)可以提供NAT代理(SNAT和DNAT)功能,使得該VPC中的ECI實(shí)例可以連接公網(wǎng)。
功能 | 說明 |
SNAT | 可以為VPC中沒有公網(wǎng)IP的ECI實(shí)例提供訪問公網(wǎng)的代理服務(wù)。 |
DNAT | 可以將公網(wǎng)NAT網(wǎng)關(guān)綁定的EIP映射給VPC中的ECI實(shí)例使用,使其能夠面向公網(wǎng)提供服務(wù)。 |
在專有網(wǎng)絡(luò)控制臺(tái)創(chuàng)建公網(wǎng)NAT網(wǎng)關(guān)。具體操作,請(qǐng)參見創(chuàng)建和管理公網(wǎng)NAT網(wǎng)關(guān)實(shí)例。
如果您的ECI實(shí)例需要訪問公網(wǎng),您需要?jiǎng)?chuàng)建SNAT條目。具體操作,請(qǐng)參見創(chuàng)建和管理SNAT條目。
創(chuàng)建時(shí)需要注意的參數(shù)如下:
參數(shù)
描述
SNAT條目粒度
請(qǐng)結(jié)合業(yè)務(wù)組網(wǎng)和安全性等因素進(jìn)行選擇:
VPC粒度:NAT網(wǎng)關(guān)所屬VPC內(nèi)的所有ECI實(shí)例均可以通過SNAT功能訪問公網(wǎng)。
交換機(jī)粒度:所選交換機(jī)下的ECI實(shí)例均可以通過SNAT功能訪問公網(wǎng)。
自定義網(wǎng)段粒度:指定網(wǎng)段內(nèi)的ECI實(shí)例均可以通過SNAT功能訪問公網(wǎng)。
選擇交換機(jī)
當(dāng)SNAT條目粒度選擇交換機(jī)粒度時(shí),選擇用于創(chuàng)建ECI實(shí)例的交換機(jī),支持配置多個(gè)。
自定義網(wǎng)段
當(dāng)SNAT條目粒度選擇自定義網(wǎng)段粒度時(shí),設(shè)置要訪問公網(wǎng)的ECI實(shí)例的所屬網(wǎng)段。
選擇公網(wǎng)IP地址
選擇NAT網(wǎng)關(guān)綁定的EIP(單個(gè)或多個(gè)),用于訪問公網(wǎng)。
說明如果ECI實(shí)例已經(jīng)綁定了EIP,則優(yōu)先使用ECI實(shí)例綁定的EIP來訪問公網(wǎng),而不會(huì)使用NAT網(wǎng)關(guān)的SNAT功能訪問公網(wǎng)。
如果您的ECI實(shí)例需要面向公網(wǎng)提供服務(wù),您需要?jiǎng)?chuàng)建DNAT條目。具體操作,請(qǐng)參見創(chuàng)建和管理DNAT條目。
創(chuàng)建時(shí)需要注意的參數(shù)如下:
參數(shù)
描述
選擇公網(wǎng)IP地址
選擇NAT網(wǎng)關(guān)綁定的EIP,用于公網(wǎng)訪問。
選擇私網(wǎng)IP地址
選擇要通過DNAT規(guī)則進(jìn)行公網(wǎng)通信的ECI實(shí)例,支持指定ECI實(shí)例對(duì)應(yīng)的彈性網(wǎng)卡,或者手動(dòng)輸入ECI實(shí)例的私網(wǎng)IP。
端口設(shè)置
選擇DNAT映射的方式:
任意端口:該方式輸入IP映射。任何訪問NAT網(wǎng)關(guān)所綁定EIP的請(qǐng)求都將轉(zhuǎn)發(fā)到目標(biāo)ECI實(shí)例。
具體端口:該方式輸入端口映射。NAT網(wǎng)關(guān)會(huì)將以指定協(xié)議和端口訪問NAT網(wǎng)關(guān)所綁定EIP的請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)ECI實(shí)例的指定端口上。