In diesem Thema wird erläutert, wie Sie eine flache Konfigurationsdatei oder eine Objektspezifikation im Kubernetes-Stil verwenden, um einen Tanzu Kubernetes Grid (TKG)-Arbeitslastcluster zu konfigurieren, bevor Sie ihn auf vSphere mit einem eigenständigen Verwaltungscluster bereitstellen. Informationen zum Konfigurieren eines Arbeitslastclusters für die Bereitstellung auf vSphere with Tanzu finden Sie unter vSphere mit Konfigurationsdateien für Supervisor-Cluster.
Allgemeine Informationen zur Konfiguration von Arbeitslastclustern mithilfe von Konfigurationsdateien und Objektspezifikationen finden Sie unter Konfigurationsdateien und Objektspezifikationen.
Informationen zur Verwendung von vSphere-spezifischen Arbeitslastclusterfunktionen, die eine Konfiguration außerhalb der Konfigurationsdatei oder der Objektspezifikation des Clusters erfordern, finden Sie unter Cluster auf vSphere.
Um einen Arbeitslastcluster vor der Bereitstellung in vSphere zu konfigurieren, erstellen Sie eine Clusterkonfigurationsdatei oder eine Objektspezifikationsdatei im Kubernetes-Stil. Wenn Sie eine dieser Dateien an die Option -f
von tanzu cluster create
übergeben, verwendet die Tanzu CLI die in der Datei definierten Konfigurationsinformationen, um eine Verbindung zu Ihrem vSphere-Konto herzustellen und die vom Cluster verwendeten Ressourcen zu erstellen. Sie können beispielsweise auch Standardgrößen für die VMs der Steuerungsebenen- und Worker-Knoten angeben oder die Größen für CPU, Arbeitsspeicher und Festplatte für Steuerungsebenen- und Worker-Knoten explizit konfigurieren. Wenn Sie benutzerdefinierte Image-Vorlagen verwenden, können Sie ermitteln, welche Vorlage zum Erstellen von Knoten-VMs verwendet werden soll.
Eine vollständige Liste der Optionen, die Sie bei der Bereitstellung von Arbeitslastclustern unter vSphere angeben müssen, finden Sie in der Referenz für die Variablen der Konfigurationsdatei.
Um eine Clusterkonfigurationsdatei zu erstellen, können Sie die Vorlage in Workload-Clustervorlage unten verwenden. Fahren Sie nach dem Erstellen der Konfigurationsdatei mit Erstellen von Arbeitslastclustern fort.
Die folgende Vorlage enthält alle Optionen, die für die Bereitstellung von Arbeitslastclustern unter vSphere relevant sind. Sie können diese Vorlage kopieren und aktualisieren, um Arbeitslastcluster unter vSphere bereitzustellen.
Erforderliche Optionen sind unkommentiert. Optionale Einstellungen sind auskommentiert. Standardwerte sind, wenn erforderlich, enthalten.
Mit Ausnahme der in den Abschnitten unter der Vorlage beschriebenen Optionen ist die Art und Weise, wie Sie die Variablen für vSphere-spezifische Arbeitslastcluster konfigurieren, für Verwaltungscluster und Arbeitslastcluster dieselbe. Informationen zum Konfigurieren der Variablen finden Sie unter Bereitstellen von Verwaltungsclustern über eine Konfigurationsdatei und Konfiguration eines Verwaltungsclusters für vSphere.
#! ---------------------------------------------------------------------
#! Basic cluster creation configuration
#! ---------------------------------------------------------------------
# CLUSTER_NAME:
CLUSTER_PLAN: dev
NAMESPACE: default
# CLUSTER_API_SERVER_PORT: # For deployments without NSX Advanced Load Balancer
CNI: antrea
#! ---------------------------------------------------------------------
#! Node configuration
#! ---------------------------------------------------------------------
# SIZE:
# CONTROLPLANE_SIZE:
# WORKER_SIZE:
# VSPHERE_NUM_CPUS: 2
# VSPHERE_DISK_GIB: 40
# VSPHERE_MEM_MIB: 4096
# VSPHERE_CONTROL_PLANE_NUM_CPUS: 2
# VSPHERE_CONTROL_PLANE_DISK_GIB: 40
# VSPHERE_CONTROL_PLANE_MEM_MIB: 8192
# VSPHERE_WORKER_NUM_CPUS: 2
# VSPHERE_WORKER_DISK_GIB: 40
# VSPHERE_WORKER_MEM_MIB: 4096
# CONTROL_PLANE_MACHINE_COUNT:
# WORKER_MACHINE_COUNT:
# WORKER_MACHINE_COUNT_0:
# WORKER_MACHINE_COUNT_1:
# WORKER_MACHINE_COUNT_2:
#! ---------------------------------------------------------------------
#! vSphere configuration
#! ---------------------------------------------------------------------
#VSPHERE_CLONE_MODE: "fullClone"
VSPHERE_NETWORK: VM Network
# VSPHERE_TEMPLATE:
# VSPHERE_TEMPLATE_MOID:
# IS_WINDOWS_WORKLOAD_CLUSTER: false
# VIP_NETWORK_INTERFACE: "eth0"
VSPHERE_SSH_AUTHORIZED_KEY:
VSPHERE_USERNAME:
VSPHERE_PASSWORD:
# VSPHERE_REGION:
# VSPHERE_ZONE:
# VSPHERE_AZ_0:
# VSPHERE_AZ_1:
# VSPHERE_AZ_2:
# VSPHERE_AZ_CONTROL_PLANE_MATCHING_LABELS:
VSPHERE_SERVER:
VSPHERE_DATACENTER:
VSPHERE_RESOURCE_POOL:
VSPHERE_DATASTORE:
VSPHERE_FOLDER:
# VSPHERE_MTU:
# VSPHERE_STORAGE_POLICY_ID
# VSPHERE_WORKER_PCI_DEVICES:
# VSPHERE_CONTROL_PLANE_PCI_DEVICES:
# VSPHERE_IGNORE_PCI_DEVICES_ALLOW_LIST:
# VSPHERE_CONTROL_PLANE_CUSTOM_VMX_KEYS:
# VSPHERE_WORKER_CUSTOM_VMX_KEYS:
# WORKER_ROLLOUT_STRATEGY: "RollingUpdate"
# VSPHERE_CONTROL_PLANE_HARDWARE_VERSION:
# VSPHERE_WORKER_HARDWARE_VERSION:
VSPHERE_TLS_THUMBPRINT:
VSPHERE_INSECURE: false
# VSPHERE_CONTROL_PLANE_ENDPOINT: # Required for Kube-Vip
# VSPHERE_CONTROL_PLANE_ENDPOINT_PORT: 6443
# VSPHERE_ADDITIONAL_FQDN:
AVI_CONTROL_PLANE_HA_PROVIDER: false
#! ---------------------------------------------------------------------
#! NSX specific configuration for enabling NSX routable pods
#! ---------------------------------------------------------------------
# NSXT_POD_ROUTING_ENABLED: false
# NSXT_ROUTER_PATH: ""
# NSXT_USERNAME: ""
# NSXT_PASSWORD: ""
# NSXT_MANAGER_HOST: ""
# NSXT_ALLOW_UNVERIFIED_SSL: false
# NSXT_REMOTE_AUTH: false
# NSXT_VMC_ACCESS_TOKEN: ""
# NSXT_VMC_AUTH_HOST: ""
# NSXT_CLIENT_CERT_KEY_DATA: ""
# NSXT_CLIENT_CERT_DATA: ""
# NSXT_ROOT_CA_DATA: ""
# NSXT_SECRET_NAME: "cloud-provider-vsphere-nsxt-credentials"
# NSXT_SECRET_NAMESPACE: "kube-system"
#! ---------------------------------------------------------------------
#! Common configuration
#! ---------------------------------------------------------------------
# TKG_CUSTOM_IMAGE_REPOSITORY: ""
# TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY: false
# TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE: ""
# TKG_HTTP_PROXY: ""
# TKG_HTTPS_PROXY: ""
# TKG_NO_PROXY: ""
# TKG_PROXY_CA_CERT: ""
ENABLE_AUDIT_LOGGING: false
ENABLE_DEFAULT_STORAGE_CLASS: true
CLUSTER_CIDR: 100.96.0.0/11
SERVICE_CIDR: 100.64.0.0/13
# OS_NAME: ""
# OS_VERSION: ""
# OS_ARCH: ""
#! ---------------------------------------------------------------------
#! Autoscaler configuration
#! ---------------------------------------------------------------------
ENABLE_AUTOSCALER: false
# AUTOSCALER_MAX_NODES_TOTAL: "0"
# AUTOSCALER_SCALE_DOWN_DELAY_AFTER_ADD: "10m"
# AUTOSCALER_SCALE_DOWN_DELAY_AFTER_DELETE: "10s"
# AUTOSCALER_SCALE_DOWN_DELAY_AFTER_FAILURE: "3m"
# AUTOSCALER_SCALE_DOWN_UNNEEDED_TIME: "10m"
# AUTOSCALER_MAX_NODE_PROVISION_TIME: "15m"
# AUTOSCALER_MIN_SIZE_0:
# AUTOSCALER_MAX_SIZE_0:
# AUTOSCALER_MIN_SIZE_1:
# AUTOSCALER_MAX_SIZE_1:
# AUTOSCALER_MIN_SIZE_2:
# AUTOSCALER_MAX_SIZE_2:
#! ---------------------------------------------------------------------
#! Antrea CNI configuration
#! ---------------------------------------------------------------------
# ANTREA_NO_SNAT: false
# ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD: false
# ANTREA_TRAFFIC_ENCAP_MODE: "encap"
# ANTREA_EGRESS_EXCEPT_CIDRS: ""
# ANTREA_NODEPORTLOCAL_ENABLED: true
# ANTREA_NODEPORTLOCAL_PORTRANGE: 61000-62000
# ANTREA_PROXY_ALL: false
# ANTREA_PROXY_NODEPORT_ADDRS: ""
# ANTREA_PROXY_SKIP_SERVICES: ""
# ANTREA_PROXY_LOAD_BALANCER_IPS: false
# ANTREA_FLOWEXPORTER_COLLECTOR_ADDRESS: "flow-aggregator.flow-aggregator.svc:4739:tls"
# ANTREA_FLOWEXPORTER_POLL_INTERVAL: "5s"
# ANTREA_FLOWEXPORTER_ACTIVE_TIMEOUT: "30s"
# ANTREA_FLOWEXPORTER_IDLE_TIMEOUT: "15s"
# ANTREA_KUBE_APISERVER_OVERRIDE:
# ANTREA_TRANSPORT_INTERFACE:
# ANTREA_TRANSPORT_INTERFACE_CIDRS: ""
# ANTREA_MULTICAST_INTERFACES: ""
# ANTREA_MULTICAST_IGMPQUERY_INTERVAL: "125s"
# ANTREA_TUNNEL_TYPE: geneve
# ANTREA_ENABLE_USAGE_REPORTING: false
# ANTREA_ENABLE_BRIDGING_MODE: false
# ANTREA_DISABLE_TXCHECKSUM_OFFLOAD: false
# ANTREA_DNS_SERVER_OVERRIDE: ""
# ANTREA_MULTICLUSTER_ENABLE: false
# ANTREA_MULTICLUSTER_NAMESPACE: ""
Wenn Sie den Cluster in vSphere bereitstellen und den standardmäßigen Kube-Vip-Lastausgleichsdienst für die Steuerungsebenen-API des Clusters verwenden, müssen Sie seinen Endpoint angeben, indem Sie VSPHERE_CONTROL_PLANE_ENDPOINT
festlegen. Wenn Sie NSX Advanced Load Balancer (ALB) verwenden, legen Sie keinen VSPHERE_CONTROL_PLANE_ENDPOINT
fest, es sei denn, der Steuerungsebenen-Endpoint muss eine bestimmte Adresse sein. Wenn dies der Fall ist, verwenden Sie eine statische Adresse innerhalb des VIP-Netzwerkbereichs des NSX ALB-IPAM-Profils, die Sie dem statischen IP-Pool manuell hinzugefügt haben.
Keine zwei Cluster, einschließlich eines Verwaltungsclusters und Arbeitslastclusters, dürfen dieselbe VSPHERE_CONTROL_PLANE_ENDPOINT
-Adresse aufweisen.
Mit der Tanzu CLI können Sie eine Clusterkonfigurationsdatei in eine Objektspezifikationsdatei im Kubernetes-Stil für einen klassenbasierten Arbeitslastcluster konvertieren, ohne den Cluster bereitzustellen:
Um eine Objektspezifikation für jeden klassenbasierten Cluster zu generieren, den Sie mit tanzu cluster create
erstellen, müssen Sie sicherstellen, dass die Funktion auto-apply-generated-clusterclass-based-configuration
in der Konfiguration der Tanzu CLI auf false
festgelegt ist. Diese Funktion ist standardmäßig auf false
gesetzt. Wenn auto-apply-generated-clusterclass-based-configuration
auf false
festgelegt ist und Sie tanzu cluster create
mit dem Flag --file
ausführen, konvertiert der Befehl Ihre Clusterkonfigurationsdatei in eine Objektspezifikationsdatei und wird beendet, ohne dass der Cluster erstellt wird. Nach der Überprüfung der Konfiguration führen Sie tanzu cluster create
erneut mit der Objektspezifikationsdatei aus, die von der Tanzu CLI generiert wurde. Wenn Sie die Standardkonfiguration aktualisiert haben, führen Sie folgenden Befehl aus, um sie auf false
zurückzusetzen:
tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
Um eine Objektspezifikationsdatei für einen einzelnen Cluster zu generieren, übergeben Sie die Option --dry-run
an tanzu cluster create
und speichern die Ausgabe in einer Datei. Verwenden Sie dieselben Optionen und die gleiche Konfiguration --file
, die Sie bei Erstellung des Clusters verwenden würden, z. B.:
tanzu cluster create my-cluster --file my-cluster-config.yaml --dry-run > my-cluster-spec.yaml
Sie können diese Objektspezifikation dann verwenden, um einen Cluster wie unter Erstellen eines klassenbasierten Clusters anhand der Objektspezifikation unten beschrieben bereitzustellen.
Ein Beispiel für eine Objektspezifikationsdatei finden Sie unter Beispiel für Cluster
-Objekt und zugehörige untergeordnete Objekte.
Fahren Sie mit dem Abschnitt Erstellen von Arbeitslastclustern fort. Nachdem Sie einen Arbeitslastcluster in vSphere bereitgestellt haben, müssen Sie die DHCP-Reservierungen des zugehörigen Knotens und Endpoint-DNS konfigurieren (siehe Beschreibung unter Konfigurieren von DHCP-Reservierungen für Knoten und DNS-Datensätzen für Endpoints (nur vSphere)).