vSphere mit Konfigurationsdateien für eigenständige Verwaltungscluster

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.

Überblick

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.

Erstellen einer 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.

Vorlage für Arbeitslastcluster

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.

  • Stellen Sie sicher, dass sich diese IP-Adresse nicht im DHCP-Bereich, sondern im selben Subnetz wie der DHCP-Bereich befindet.
  • Wenn Sie der VIP-Adresse einen vollqualifizierten Domänennamen (FQDN) zugeordnet haben, können Sie anstelle der VIP-Adresse den FQDN angeben.

Erstellen einer Objektspezifikationsdatei

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.

Nächste Schritte

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)).

check-circle-line exclamation-circle-line close-line
Scroll to top icon