vcenter namespace management clusters: enable spec
The
enable_spec
structure contains the specification required to enable vSphere Namespaces on a cluster.Representation:
{
"master_DNS_search_domains" : [
"string",
"string"
],
"image_storage" : {
"storage_policy" : "obj-103"
},
"ncp_cluster_network_spec" : {
"nsx_edge_cluster" : "obj-103",
"pod_cidrs" : [
{
"address" : "string",
"prefix" : 1
},
{
"address" : "string",
"prefix" : 1
}
],
"egress_cidrs" : [
{
"address" : "string",
"prefix" : 1
},
{
"address" : "string",
"prefix" : 1
}
],
"cluster_distributed_switch" : "obj-103",
"ingress_cidrs" : [
{
"address" : "string",
"prefix" : 1
},
{
"address" : "string",
"prefix" : 1
}
]
},
"master_management_network" : {
"mode" : "DHCP",
"floating_IP" : "string",
"address_range" : {
"subnet_mask" : "string",
"starting_address" : "string",
"gateway" : "string",
"address_count" : 1
},
"network" : "obj-103"
},
"Master_DNS_names" : [
"string",
"string"
],
"master_NTP_servers" : [
"string",
"string"
],
"ephemeral_storage_policy" : "obj-103",
"default_image_repository" : "string",
"service_cidr" : {
"address" : "string",
"prefix" : 1
},
"login_banner" : "string",
"size_hint" : "TINY",
"worker_DNS" : [
"string",
"string"
],
"default_image_registry" : {
"hostname" : "string",
"port" : 1
},
"master_DNS" : [
"string",
"string"
],
"network_provider" : "NSXT_CONTAINER_PLUGIN",
"master_storage_policy" : "obj-103",
"default_kubernetes_service_content_library" : "obj-103"
}
"master_DNS_search_domains" : [
"string",
"string"
],
"image_storage" : {
"storage_policy" : "obj-103"
},
"ncp_cluster_network_spec" : {
"nsx_edge_cluster" : "obj-103",
"pod_cidrs" : [
{
"address" : "string",
"prefix" : 1
},
{
"address" : "string",
"prefix" : 1
}
],
"egress_cidrs" : [
{
"address" : "string",
"prefix" : 1
},
{
"address" : "string",
"prefix" : 1
}
],
"cluster_distributed_switch" : "obj-103",
"ingress_cidrs" : [
{
"address" : "string",
"prefix" : 1
},
{
"address" : "string",
"prefix" : 1
}
]
},
"master_management_network" : {
"mode" : "DHCP",
"floating_IP" : "string",
"address_range" : {
"subnet_mask" : "string",
"starting_address" : "string",
"gateway" : "string",
"address_count" : 1
},
"network" : "obj-103"
},
"Master_DNS_names" : [
"string",
"string"
],
"master_NTP_servers" : [
"string",
"string"
],
"ephemeral_storage_policy" : "obj-103",
"default_image_repository" : "string",
"service_cidr" : {
"address" : "string",
"prefix" : 1
},
"login_banner" : "string",
"size_hint" : "TINY",
"worker_DNS" : [
"string",
"string"
],
"default_image_registry" : {
"hostname" : "string",
"port" : 1
},
"master_DNS" : [
"string",
"string"
],
"network_provider" : "NSXT_CONTAINER_PLUGIN",
"master_storage_policy" : "obj-103",
"default_kubernetes_service_content_library" : "obj-103"
}
Attributes:
Name | Type | Description |
---|---|---|
Required | ||
size_hint | string | This affects the size and resources allocated to the Kubernetes API server and the worker nodes. It also affects the suggested default serviceCidr and podCidrs. Determines the configuration of Kubernetes API server and the worker nodes. It also determines the default values associated with the maximum number of pods and services. Use get to get information associated with a sizing_hint . Value is one of:TINY: Cluster size of 'tiny'. SMALL: Cluster size of 'small'. MEDIUM: Cluster size of 'medium'. LARGE: Cluster size of 'large'. |
service_cidr | ipv4_cidr | CIDR block from which Kubernetes allocates service cluster IP addresses. This range should not overlap with those in com.vmware.vcenter.namespace_management.NCPClusterNetworkEnableSpec#podCidrs, com.vmware.vcenter.namespace_management.NCPClusterNetworkEnableSpec#ingressCidrs, com.vmware.vcenter.namespace_management.NCPClusterNetworkEnableSpec#egressCidrs, or other services running in the datacenter. |
service_cidr.address | string | The IPv4 address. |
service_cidr.prefix | long | The CIDR prefix. |
network_provider | string | The provider of cluster networking for this vSphere Namespaces cluster. Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster. Value is one of: NSXT_CONTAINER_PLUGIN: NSX-T Container Plugin. |
ncp_cluster_network_spec.pod_cidrs | ipv4_cidr[] | CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in com.vmware.vcenter.namespace_management.EnableSpec#serviceCidr, vcenter.namespace_management.clusters.NCP_cluster_network_enable_spec.ingress_cidrs, vcenter.namespace_management.clusters.NCP_cluster_network_enable_spec.egress_cidrs, or other services running in the datacenter. All Pod CIDR blocks must be of at least subnet size /23. |
ncp_cluster_network_spec.pod_cidrs[].address | string | The IPv4 address. |
ncp_cluster_network_spec.pod_cidrs[].prefix | long | The CIDR prefix. |
ncp_cluster_network_spec.ingress_cidrs | ipv4_cidr[] | CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in vcenter.namespace_management.clusters.NCP_cluster_network_enable_spec.pod_cidrs, com.vmware.vcenter.namespace_management.EnableSpec#serviceCidr, vcenter.namespace_management.clusters.NCP_cluster_network_enable_spec.egress_cidrs, or other services running in the datacenter. |
ncp_cluster_network_spec.ingress_cidrs[].address | string | The IPv4 address. |
ncp_cluster_network_spec.ingress_cidrs[].prefix | long | The CIDR prefix. |
ncp_cluster_network_spec.egress_cidrs | ipv4_cidr[] | CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in vcenter.namespace_management.clusters.NCP_cluster_network_enable_spec.pod_cidrs, com.vmware.vcenter.namespace_management.EnableSpec#serviceCidr, vcenter.namespace_management.clusters.NCP_cluster_network_enable_spec.ingress_cidrs, or other services running in the datacenter. |
ncp_cluster_network_spec.egress_cidrs[].address | string | The IPv4 address. |
ncp_cluster_network_spec.egress_cidrs[].prefix | long | The CIDR prefix. |
master_management_network | network_spec | Specification for the management network on Kubernetes API server. vcenter.namespace_management.clusters.network_spec.mode must be STATICRANGE as we require Kubernetes API server to have a stable address. |
master_management_network.network | string | Identifier for the network. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Network . When operations return a value of this structure as a result, the field will be an identifier for the resource type: Network . |
master_management_network.mode | string | The address assignment mode. Defines various IPv4 address assignment modes. Value is one of: DHCP: The address is automatically assigned by a DHCP server. STATICRANGE: The address is static. |
master_management_network.address_range.starting_address | string | The IPv4 address denoting the start of the range. |
master_management_network.address_range.address_count | long | The number of IP addresses in the range. Addresses are derived by incrementing vcenter.namespace_management.clusters.ipv4_range.starting_address. |
master_management_network.address_range.subnet_mask | string | Subnet mask to be set. |
master_management_network.address_range.gateway | string | The IPv4 address of the gateway associated with the range indicated by vcenter.namespace_management.clusters.ipv4_range.starting_address and vcenter.namespace_management.clusters.ipv4_range.address_count. |
master_storage_policy | string | Identifier of storage policy associated with Kubernetes API server. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile . When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile . |
ephemeral_storage_policy | string | Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile . When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile . |
image_storage | image_storage_spec | Specification for storage to be used for container images. |
image_storage.storage_policy | string | Identifier of the storage policy. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: SpsStorageProfile . When operations return a value of this structure as a result, the field will be an identifier for the resource type: SpsStorageProfile . |
default_image_registry.hostname | string | IP address or the hostname of container image registry. |
Optional | ||
ncp_cluster_network_spec | NCP_cluster_network_enable_spec | Specification for the NSX Container Plugin cluster network. Optional. It is only relevant when network_provider has value NSXT_CONTAINER_PLUGIN. This field is optional and it is only relevant when the value of network_provider is NSXT_CONTAINER_PLUGIN. |
ncp_cluster_network_spec.cluster_distributed_switch | string | vSphere Distributed Switch used to connect this cluster. Optional. This field is required when configuring a cluster that uses NSX-T. If unset and using NSXe, the system will choose a suitable vSphere Distributed Switch.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: vSphereDistributedSwitch . When operations return a value of this structure as a result, the field will be an identifier for the resource type: vSphereDistributedSwitch . |
ncp_cluster_network_spec.nsx_edge_cluster | string | NSX Edge Cluster to be used for Kubernetes Services of type LoadBalancer, Kubernetes Ingresses, and NSX SNAT. Optional. This field is required when configuring a cluster that uses NSX-T. If unset and using NSXe, the system will choose a suitable NSX Edge Cluster.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: NSXEdgeCluster . When operations return a value of this structure as a result, the field will be an identifier for the resource type: NSXEdgeCluster . |
master_management_network.floating_IP | string | Optionally specify the Floating IP used by the HA master cluster in the DHCP case. Optional. It is only relevant when mode has value DHCP. This field is optional and it is only relevant when the value of mode is DHCP. |
master_management_network.address_range | ipv4_range | Settings for the interfaces on the network. Optional. It is only relevant when mode has value STATICRANGE. This field is optional and it is only relevant when the value of mode is STATICRANGE. |
master_DNS | string[] | List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference. Optional. If unset, no default DNS servers are set. |
worker_DNS | string[] | List of DNS server IP addresses to use on the worker nodes, specified in order of preference. Optional. If unset, no default DNS servers are set. |
master_DNS_search_domains | string[] | List of domains (for example "vmware.com") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference. Optional. If unset, no default DNS search domains are set. |
master_NTP_servers | string[] | List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference. Optional. If unset, VMware Tools based time synchronization is enabled. |
login_banner | string | Disclaimer to be displayed prior to login via the Kubectl plugin. Optional. If unset, just skip it. |
Master_DNS_names | string[] | List of additional DNS names to associate with the Kubernetes API server. These DNS names are embedded in the TLS certificate presented by the API server. Optional. If unset, no additional DNS names are embedded in the TLS certificate. |
default_image_registry | image_registry | Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name. Optional. If unset, defaults to Docker Hub. |
default_image_registry.port | long | Port number of the container image registry. Optional. If unset, defaults to 443. |
default_image_repository | string | Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name. Optional. If unset, defaults to Docker Hub official repository in case of Docker Hub image registry, otherwise defaults to empty string. |
default_kubernetes_service_content_library | string | Identifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. This Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. Optional. If unset, the Content Library identifier will not be set.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.content.Library . When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.content.Library . |