功能介紹
創(chuàng)建一個(gè)Network對(duì)象。
Network對(duì)象是華為云CCI新增對(duì)象,用于定義kubernetes中一個(gè)namespace內(nèi)的網(wǎng)絡(luò)。目前CCI支持VPC網(wǎng)絡(luò),一個(gè)VPC網(wǎng)絡(luò)類(lèi)型的network對(duì)象對(duì)應(yīng)于華為云 虛擬私有云 服務(wù)中的一個(gè)子網(wǎng)。
CCI的容器網(wǎng)絡(luò)依賴(lài)于華為云底層VPC網(wǎng)絡(luò),因此在創(chuàng)建network對(duì)象前,需要先調(diào)用虛擬 私有云 的接口創(chuàng)建或者查詢(xún)已有子網(wǎng)信息。
須知: 此處VPC和子網(wǎng)的網(wǎng)段不能為10.247.0.0/16,10.247.0.0/16是云容器實(shí)例預(yù)留給Service的網(wǎng)段。如果您使用此網(wǎng)段,后續(xù)可能會(huì)造成IP沖突,導(dǎo)致負(fù)載無(wú)法創(chuàng)建或服務(wù)不可用;如果您不需要通過(guò)Service訪問(wèn),而是直接訪問(wèn)Pod,則可以使用此網(wǎng)段。
具體如何創(chuàng)建一個(gè)Network對(duì)象,可以參考Namespace和Network
調(diào)試
您可以在API Explorer中調(diào)試該接口,支持自動(dòng)認(rèn)證鑒權(quán)。API Explorer可以自動(dòng)生成SDK代碼示例,并提供SDK代碼示例調(diào)試功能。
URI
POST /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
namespace |
是 |
String |
object name and auth scope, such as for teams and projects |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
dryRun |
否 |
String |
When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed |
|
fieldManager |
否 |
String |
fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. |
|
pretty |
否 |
String |
If 'true', then the output is pretty printed. |
請(qǐng)求參數(shù)
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
用戶(hù)Token。 通過(guò)調(diào)用 IAM 服務(wù)獲取用戶(hù)Token接口獲?。憫?yīng)消息頭中X-Subject-Token的值)。 |
|
Content-Type |
是 |
String |
消息體的類(lèi)型(格式),默認(rèn)取值為“application/json” 缺省值:application/json |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
apiVersion |
否 |
String |
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
kind |
否 |
String |
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata |
否 |
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. |
|
|
spec |
否 |
Spec defines the attributes on a network |
|
|
status |
否 |
Status describes the network status |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
apiVersion |
否 |
String |
APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted. |
|
fieldsType |
否 |
String |
FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1" |
|
fieldsV1 |
否 |
Object |
FieldsV1 holds the first JSON version format as described in the "FieldsV1" type. |
|
manager |
否 |
String |
Manager is an identifier of the workflow managing these fields. |
|
operation |
否 |
String |
Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. |
|
time |
否 |
String |
Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
apiVersion |
是 |
String |
API version of the referent. |
|
blockOwnerDeletion |
否 |
Boolean |
If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. |
|
controller |
否 |
Boolean |
If true, this reference points to the managing controller. |
|
kind |
是 |
String |
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
name |
是 |
String |
Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names |
|
uid |
是 |
String |
UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids |
|
參數(shù) |
是否必選 |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|---|
|
attachedVPC |
否 |
String |
ID of the VPC to attach |
|
availableZone |
否 |
String |
available zone |
|
cidr |
否 |
String |
The CIDR of the network |
|
networkID |
否 |
String |
network ID |
|
networkType |
否 |
String |
network type like 'overlay_l2' |
|
subnetID |
否 |
String |
Subnet ID |
|
subnets |
否 |
Subnets |
響應(yīng)參數(shù)
狀態(tài)碼: 200
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
kind |
String |
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata |
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. |
|
|
spec |
Spec defines the attributes on a network |
|
|
status |
Status describes the network status |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted. |
|
fieldsType |
String |
FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1" |
|
fieldsV1 |
Object |
FieldsV1 holds the first JSON version format as described in the "FieldsV1" type. |
|
manager |
String |
Manager is an identifier of the workflow managing these fields. |
|
operation |
String |
Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. |
|
time |
String |
Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
API version of the referent. |
|
blockOwnerDeletion |
Boolean |
If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. |
|
controller |
Boolean |
If true, this reference points to the managing controller. |
|
kind |
String |
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
name |
String |
Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names |
|
uid |
String |
UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
attachedVPC |
String |
ID of the VPC to attach |
|
availableZone |
String |
available zone |
|
cidr |
String |
The CIDR of the network |
|
networkID |
String |
network ID |
|
networkType |
String |
network type like 'overlay_l2' |
|
subnetID |
String |
Subnet ID |
|
subnets |
Subnets |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
cidr |
String |
The CIDR of the network |
|
networkID |
String |
NetworkID describes the subnet network id |
|
subnetID |
String |
SubnetID describes the subnet id |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
message |
String |
Message describes why network is in current state |
|
state |
String |
State describes the network state |
狀態(tài)碼: 201
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
kind |
String |
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata |
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. |
|
|
spec |
Spec defines the attributes on a network |
|
|
status |
Status describes the network status |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted. |
|
fieldsType |
String |
FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1" |
|
fieldsV1 |
Object |
FieldsV1 holds the first JSON version format as described in the "FieldsV1" type. |
|
manager |
String |
Manager is an identifier of the workflow managing these fields. |
|
operation |
String |
Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. |
|
time |
String |
Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
API version of the referent. |
|
blockOwnerDeletion |
Boolean |
If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. |
|
controller |
Boolean |
If true, this reference points to the managing controller. |
|
kind |
String |
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
name |
String |
Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names |
|
uid |
String |
UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
attachedVPC |
String |
ID of the VPC to attach |
|
availableZone |
String |
available zone |
|
cidr |
String |
The CIDR of the network |
|
networkID |
String |
network ID |
|
networkType |
String |
network type like 'overlay_l2' |
|
subnetID |
String |
Subnet ID |
|
subnets |
Subnets |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
cidr |
String |
The CIDR of the network |
|
networkID |
String |
NetworkID describes the subnet network id |
|
subnetID |
String |
SubnetID describes the subnet id |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
message |
String |
Message describes why network is in current state |
|
state |
String |
State describes the network state |
狀態(tài)碼: 202
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
kind |
String |
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata |
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. |
|
|
spec |
Spec defines the attributes on a network |
|
|
status |
Status describes the network status |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted. |
|
fieldsType |
String |
FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1" |
|
fieldsV1 |
Object |
FieldsV1 holds the first JSON version format as described in the "FieldsV1" type. |
|
manager |
String |
Manager is an identifier of the workflow managing these fields. |
|
operation |
String |
Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'. |
|
time |
String |
Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply' |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
apiVersion |
String |
API version of the referent. |
|
blockOwnerDeletion |
Boolean |
If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. |
|
controller |
Boolean |
If true, this reference points to the managing controller. |
|
kind |
String |
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
name |
String |
Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names |
|
uid |
String |
UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids |
|
參數(shù) |
參數(shù)類(lèi)型 |
描述 |
|---|---|---|
|
attachedVPC |
String |
ID of the VPC to attach |
|
availableZone |
String |
available zone |
|
cidr |
String |
The CIDR of the network |
|
networkID |
String |
network ID |
|
networkType |
String |
network type like 'overlay_l2' |
|
subnetID |
String |
Subnet ID |
|
subnets |
Subnets |
請(qǐng)求示例
創(chuàng)建Network,指定賬號(hào)ID、項(xiàng)目ID和安全組ID,關(guān)聯(lián)VPC和子網(wǎng)網(wǎng)段。 metadata.annotations必選字段數(shù)據(jù)結(jié)構(gòu)說(shuō)明
| 參數(shù) | 是否必選 | 參數(shù)類(lèi)型 | 描述 |
|---|---|---|---|
| network.alpha.kubernetes.io/default-security-group | Yes | String | Network對(duì)應(yīng)子網(wǎng)所屬安全組ID。 |
| network.alpha.kubernetes.io/project-id | Yes | String | Network所屬用戶(hù)的project-id,獲取方法請(qǐng)參見(jiàn)獲取項(xiàng)目ID。 |
| network.alpha.kubernetes.io/domain-id | Yes | String | Network所屬用戶(hù)的domain-id,獲取方法請(qǐng)參見(jiàn)獲取帳號(hào)ID。 |
VPC網(wǎng)絡(luò)類(lèi)型
| 參數(shù) | 是否必選 | 參數(shù)類(lèi)型 | 描述 |
|---|---|---|---|
| cidr | No | String | Network對(duì)應(yīng)VPC子網(wǎng)的網(wǎng)段。**說(shuō)明:**此處VPC和子網(wǎng)的網(wǎng)段不能為10.247.0.0/16,10.247.0.0/16是云容器實(shí)例預(yù)留給Service的網(wǎng)段。如果您使用此網(wǎng)段,后續(xù)可能會(huì)造成IP沖突,導(dǎo)致負(fù)載無(wú)法創(chuàng)建或服務(wù)不可用;如果您不需要通過(guò)Service訪問(wèn),而是直接訪問(wèn)Pod,則可以使用此網(wǎng)段。 |
| attachedVPC | Yes | String | Network所在VPC的ID。 |
| networkType | Yes | String | Network網(wǎng)絡(luò)類(lèi)型,VPC網(wǎng)絡(luò)類(lèi)型取值:underlay_neutron。 |
| networkID | Yes | String | Network對(duì)應(yīng)VPC子網(wǎng)的網(wǎng)絡(luò)ID。 |
| subnetID | Yes | String | Network對(duì)應(yīng)VPC子網(wǎng)的子網(wǎng)ID。 |
| availableZone | Yes | String | Network對(duì)應(yīng)VPC子網(wǎng)所在可用區(qū)。當(dāng)前支持“華北-北京四”、“華東-上海一”、“華東-上海二”和“華南-廣州”區(qū)域,該值可設(shè)置為、“cn-north-4a”、“cn-east-3a”、“cn-east-2d”或“cn-south-1f”。 |
{
"apiVersion" : "networking.cci.io/v1beta1",
"kind" : "Network",
"metadata" : {
"annotations" : {
"network.alpha.kubernetes.io/default-security-group" : "security-group-id",
"network.alpha.kubernetes.io/domain-id" : "domain-id",
"network.alpha.kubernetes.io/project-id" : "project-id"
},
"name" : "test-network",
"namespace" : "test-ns"
},
"spec" : {
"attachedVPC" : "vpc-id",
"availableZone" : "cn-north-4a",
"cidr" : "192.168.0.0/24",
"networkID" : "network-id",
"networkType" : "underlay_neutron",
"subnetID" : "subnet-id"
}
}
響應(yīng)示例
狀態(tài)碼: 200
OK
{
"apiVersion" : "networking.cci.io/v1beta1",
"kind" : "Network",
"metadata" : {
"annotations" : {
"network.alpha.kubernetes.io/default-security-group" : "security-group-id",
"network.alpha.kubernetes.io/domain-id" : "domain-id",
"network.alpha.kubernetes.io/project-id" : "project-id",
"network.alpha.kubernetes.io/type" : "underlay_neutron"
},
"creationTimestamp" : "2018-08-21T02:35:59Z",
"name" : "test-network",
"namespace" : "test-ns",
"resourceVersion" : "2025736",
"selfLink" : "/apis/networking.cci.io/v1beta1/namespaces/test-ns/networks/test-network",
"uid" : "f03452ac-a4ea-11e8-8500-c81fbe371a17"
},
"spec" : {
"attachedVPC" : "vpc-id",
"availableZone" : "cn-north-4a",
"cidr" : "192.168.0.0/24",
"networkID" : "network-id",
"networkType" : "underlay_neutron",
"subnetID" : "subnet-id"
},
"status" : {
"state" : "Initializing"
}
}
狀態(tài)碼
|
狀態(tài)碼 |
描述 |
|---|---|
|
200 |
OK |
|
201 |
Created |
|
202 |
Accepted |
|
400 |
BadRequest |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
NotFound |
|
405 |
MethodNotAllowed |
|
406 |
NotAcceptable |
|
409 |
AlreadyExists |
|
415 |
UnsupportedMediaType |
|
422 |
Invalid |
|
429 |
TooManyRequests |
|
500 |
InternalError |
|
503 |
ServiceUnavailable |
|
504 |
ServerTimeout |
最新文章
- 如何創(chuàng)建網(wǎng)站
- ModelArts模型訓(xùn)練_創(chuàng)建訓(xùn)練作業(yè)_如何創(chuàng)建訓(xùn)練作業(yè)
- 如何使用模板創(chuàng)建函數(shù)_模板創(chuàng)建函數(shù)_函數(shù)工作流 FunctionGraph-華為云
- 容器鏡像創(chuàng)建用戶(hù)并授權(quán)使用SWR_華為云SWR_容器鏡像創(chuàng)建授權(quán)
- 如何創(chuàng)建用戶(hù)并授權(quán)使用應(yīng)用運(yùn)維管理服務(wù)_AOM_用戶(hù)權(quán)限_創(chuàng)建用戶(hù)_權(quán)限
- 如何創(chuàng)建用戶(hù)并授權(quán)使用應(yīng)用管理與運(yùn)維平臺(tái)_應(yīng)用管理與運(yùn)維平臺(tái)_創(chuàng)建用戶(hù)_用戶(hù)授權(quán)
