NamespaceManagement_Clusters_EnableSpec

NamespaceManagement_Clusters_EnableSpec
NamespaceManagement_Clusters_EnableSpec

The Clusters.EnableSpec structure contains the specification required to enable vSphere Namespaces on a cluster.

JSON Example
{
    "size_hint": "string",
    "service_cidr": {
        "address": "string",
        "prefix": 0
    },
    "network_provider": "string",
    "ncp_cluster_network_spec": {
        "pod_cidrs": [
            "NamespaceManagement_Ipv4Cidr Object"
        ],
        "ingress_cidrs": [
            "NamespaceManagement_Ipv4Cidr Object"
        ],
        "egress_cidrs": [
            "NamespaceManagement_Ipv4Cidr Object"
        ],
        "cluster_distributed_switch": "string",
        "nsx_edge_cluster": "string",
        "nsx_tier0_gateway": "string",
        "namespace_subnet_prefix": 0,
        "routed_mode": false
    },
    "workload_networks_spec": {
        "supervisor_primary_workload_network": {
            "network": "string",
            "network_provider": "NamespaceManagement_Clusters_NetworkProvider Object",
            "vsphere_network": {
                "portgroup": "string",
                "ip_assignment_mode": "string",
                "address_ranges": [
                    {
                        "address": "string",
                        "count": 0
                    }
                ],
                "gateway": "string",
                "subnet_mask": "string"
            },
            "nsx_network": {
                "namespace_network_cidrs": [
                    "NamespaceManagement_Ipv4Cidr Object"
                ],
                "ingress_cidrs": [
                    "NamespaceManagement_Ipv4Cidr Object"
                ],
                "egress_cidrs": [
                    "NamespaceManagement_Ipv4Cidr Object"
                ],
                "nsx_tier0_gateway": "string",
                "subnet_prefix_length": 0,
                "routed_mode": false,
                "load_balancer_size": "string"
            }
        },
        "network_list": [
            {
                "network": "string",
                "network_provider": "NamespaceManagement_Clusters_NetworkProvider Object",
                "vsphere_network": {
                    "portgroup": "string",
                    "ip_assignment_mode": "string",
                    "address_ranges": [
                        {
                            "address": "string",
                            "count": 0
                        }
                    ],
                    "gateway": "string",
                    "subnet_mask": "string"
                },
                "nsx_network": {
                    "namespace_network_cidrs": [
                        "NamespaceManagement_Ipv4Cidr Object"
                    ],
                    "ingress_cidrs": [
                        "NamespaceManagement_Ipv4Cidr Object"
                    ],
                    "egress_cidrs": [
                        "NamespaceManagement_Ipv4Cidr Object"
                    ],
                    "nsx_tier0_gateway": "string",
                    "subnet_prefix_length": 0,
                    "routed_mode": false,
                    "load_balancer_size": "string"
                }
            }
        ]
    },
    "workload_ntp_servers": [
        "string"
    ],
    "load_balancer_config_spec": {
        "id": "string",
        "address_ranges": [
            "NamespaceManagement_IPRange Object"
        ],
        "provider": "string",
        "ha_proxy_config_create_spec": {
            "servers": [
                {
                    "host": "string",
                    "port": 0
                }
            ],
            "username": "string",
            "password": "string",
            "certificate_authority_chain": "string"
        },
        "avi_config_create_spec": {
            "server": "NamespaceManagement_LoadBalancers_Server Object",
            "username": "string",
            "password": "string",
            "certificate_authority_chain": "string",
            "cloud_name": "string"
        }
    },
    "master_management_network": {
        "floating_IP": "string",
        "network": "string",
        "network_segment": {
            "networks": [
                "string"
            ]
        },
        "mode": "string",
        "address_range": {
            "starting_address": "string",
            "address_count": 0,
            "subnet_mask": "string",
            "gateway": "string"
        }
    },
    "master_DNS": [
        "string"
    ],
    "worker_DNS": [
        "string"
    ],
    "master_DNS_search_domains": [
        "string"
    ],
    "master_NTP_servers": [
        "string"
    ],
    "master_storage_policy": "string",
    "ephemeral_storage_policy": "string",
    "cns_file_config": {
        "vsan_clusters": [
            "string"
        ]
    },
    "login_banner": "string",
    "Master_DNS_names": [
        "string"
    ],
    "image_storage": {
        "storage_policy": "string"
    },
    "default_image_registry": {
        "hostname": "string",
        "port": 0
    },
    "default_image_repository": "string",
    "default_kubernetes_service_content_library": "string",
    "cluster_proxy_config": {
        "proxy_settings_source": "string",
        "https_proxy_config": "string",
        "http_proxy_config": "string",
        "no_proxy_config": [
            "string"
        ],
        "tls_root_ca_bundle": "string"
    },
    "content_libraries": [
        {
            "content_library": "string"
        }
    ]
}
size_hint
Required

The SizingHint enumerated type 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 ClusterSizeInfo.get to get information associated with a SizingHint.
TINY : Cluster size of 'tiny'.
SMALL : Cluster size of 'small'.
MEDIUM : Cluster size of 'medium'.
LARGE : Cluster size of 'large'.

service_cidr
Required

The Ipv4Cidr structure contains the specification for representing CIDR notation of IP range. For example, this can be used to represent 256 IP addresses using 10.10.10.0/24.

network_provider
Required

Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster.
NSXT_CONTAINER_PLUGIN : NSX-T Container Plugin.
VSPHERE_NETWORK : vSphere Networking.

ncp_cluster_network_spec
Optional

The Clusters.NCPClusterNetworkEnableSpec structure encapsulates the NSX Container Plugin-specific cluster networking configuration parameters for the vSphere Namespaces Cluster Enable operation.

workload_networks_spec
Optional

The Clusters.WorkloadNetworksEnableSpec contains the specification required to configure workload networks for a vSphere Namespaces Cluster during Enable operation. These workload networks will be used as backing network for Tanzu Kubernetes Cluster VMs and Kubernetes control plane VMs.

array of string
workload_ntp_servers
Optional

List of NTP server DNS names or IP addresses to use for workloads such as Tanzu Kubernetes Grid VMs, specified in order of preference. If unset, NTP server for Kubernetes API servers will be used.

load_balancer_config_spec
Optional

The LoadBalancers.ConfigSpec encapsulates load balancer configuration on vSphere Namespaces.

master_management_network
Required

The Clusters.NetworkSpec contains information related to network configuration for one or more interfaces.

array of string
master_DNS
Optional

List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference. If unset, no default DNS servers are set.

array of string
worker_DNS
Optional

List of DNS server IP addresses to use on the worker nodes, specified in order of preference. If unset, no default DNS servers are set.

array of string
master_DNS_search_domains
Optional

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. If unset, no default DNS search domains are set.

array of string
master_NTP_servers
Optional

List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference. If unset, VMware Tools based time synchronization is enabled.

string
master_storage_policy
Required

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.

string
ephemeral_storage_policy
Required

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.

cns_file_config
Optional

The CNSFileConfig structure contains the specification required to set the configuration for Cloud Native Storage file volume support on Supervisor.

string
login_banner
Optional

Disclaimer to be displayed prior to login via the Kubectl plugin. If unset, just skip it.

array of string
Master_DNS_names
Optional

List of DNS names to associate with the Kubernetes API server. These DNS names are embedded in the TLS certificate presented by the API server. If unset, no DNS names are embedded in the TLS certificate.

image_storage
Required

The Clusters.ImageStorageSpec structure contains the specification required to configure storage used for container images.

default_image_registry
Optional

The Clusters.ImageRegistry structure contains the specification required to configure container image registry endpoint.

string
default_image_repository
Optional

Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name. If unset, defaults to Docker Hub official repository in case of Docker Hub image registry, otherwise defaults to empty string.

string
default_kubernetes_service_content_library
Optional

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.

If unset, the Content Library will be automatically generated and configured to the Supervisor. 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.

cluster_proxy_config
Optional

The ProxyConfiguration structure defines proxy configuration to be used by the Supervisor.

content_libraries
Optional

List of Content Libraries that will be associated with a Supervisor. This list should refer to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces. This list does not overlap with the #defaultKubernetesServiceContentLibrary. If unset, no additional Content Libraries will be set for the Supervisor apart from the default Kubernetes Service Content Library.