預設情況下,系統只為ECI執行個體分配一個私網IP。如果您的Knative服務有串連公網的需求,例如拉取公網鏡像等,您可以通過添加Annotation為其使用的ECI執行個體綁定已有的EIP或建立一個新EIP。自動建立EIP時,您還可以同步設定EIP頻寬、綁定共用頻寬包等。
前提條件
已在叢集中部署Knative,請參見部署Knative。
如何?公網訪問
為ECI執行個體配置公網服務時,通常有以下兩種方式:
綁定EIP:EIP是獨立購買的可單獨持有的公網IP地址,可以為綁定的ECI執行個體提供公網服務。
綁定NAT Gateway:NAT Gateway是可獨立購買的網關產品,綁定EIP後,可以為關聯VPC下的所有ECI執行個體提供公網服務。
Knative僅支援通過為ECI綁定EIP的方式實現公網訪問,關於ECI執行個體串連公網的更多資訊,請參見串連公網。
通過Annotation為ECI執行個體綁定EIP
您可以在Knative的Service中添加Annotation來綁定已有的EIP,或者建立並綁定一個新的EIP,來實現公網訪問。
Annotation | 描述 |
| 綁定已有的EIP。 |
| 是否自動建立並綁定EIP。 |
| 設定EIP頻寬。預設為5 Mbps。 |
| 綁定已有的共用頻寬包。 |
| 設定EIP的線路類型。 取值範圍:
|
樣本一:指定已有EIP
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
spec:
template:
metadata:
labels:
app: helloworld-go
annotations:
k8s.aliyun.com/eci-eip-instanceid: "eip-bp1q5n8cq4p7f6dzu****" # 指定已有的EIP進行綁定。
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
樣本二:自動建立EIP,並設定EIP頻寬
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
spec:
template:
metadata:
labels:
app: helloworld-go
annotations:
k8s.aliyun.com/eci-with-eip: "true" # 自動建立並綁定EIP。
k8s.aliyun.com/eip-bandwidth: "10" # 設定EIP頻寬。
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
樣本三:自動建立EIP,並綁定共用頻寬包
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
spec:
template:
metadata:
labels:
app: helloworld-go
annotations:
k8s.aliyun.com/eci-with-eip: "true" # 自動建立並綁定EIP。
k8s.aliyun.com/eip-common-bandwidth-package-id: "cbwp-2zeukbj916scmj51m****" #綁定共用頻寬包。
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
相關文檔
您可以為自訂網域名配置相應的HTTPS認證,請參見配置HTTPS認證訪問。