Questa pagina descrive le risorse API cluster Kubernetes utilizzate in Cluster Anthos su VMware (GKE On-Prem).
Panoramica
Cluster Anthos su VMware supporta le seguenti risorse API Cluster:
- Cluster
- Macchina
- Deployment macchina
- Set macchina
- Classi di macchina
I cluster Anthos su VMware generano automaticamente queste risorse nei tuoi cluster durante l'installazione; in genere, non è necessario interagire direttamente con loro. Inoltre, la documentazione di Cluster Anthos su VMware fa riferimento a queste risorse per illustrare concetti come l'alta disponibilità.
Puoi controllare quali API ClusterResourceDefinizioni (CRD) del cluster sono disponibili in un cluster:
kubectl get crds | grep "cluster.k8s.io" clusters.cluster.k8s.io machineclasses.cluster.k8s.io machinedeployments.cluster.k8s.io machines.cluster.k8s.io machinesets.cluster.k8s.io
Le seguenti sezioni descrivono le risorse dell'API Cluster attualmente pertinenti per comprendere i cluster Anthos su VMware.
Cluster
Una risorsa cluster rappresenta un'istanza di Kubernetes in esecuzione su un host. Tutti i cluster Anthos su VMware hanno una risorsa cluster che descrive il cluster.
Per visualizzare le risorse del cluster in un cluster, esegui questo comando, dove [KUBECONFIG] è il percorso del file kubeconfig del cluster:
kubectl get clusters --kubeconfig [KUBECONFIG]
Di seguito è riportato un esempio di una risorsa cluster che potresti vedere in un cluster utente Cluster Anthos su VMware:
apiVersion: cluster.k8s.io/v1alpha1 kind: Cluster metadata: annotations: addons.gke.io/loadbalancerip: "" bundle.gke.io/target-version: bundle.gke.io/version: onprem.gke.io/provider: vsphere creationTimestamp: finalizers: - cluster.cluster.k8s.io generation: name: example-user-cluster namespace: default resourceVersion: "" selfLink: /apis/cluster.k8s.io/v1alpha1/namespaces/default/clusters/example-user-cluster uid: spec: clusterNetwork: pods: cidrBlocks: - serviceDomain: cluster.local services: cidrBlocks: - providerSpec: value: apiVersion: vsphereproviderconfig.k8s.io/v1alpha1 controlPlaneReplicas: controlPlaneVersion: kind: VsphereClusterProviderConfig loadBalancerIP: loadBalancerNodePort: metadata: creationTimestamp: networkSpec: dns: ntp: "" reservedAddresses: oidcSpec: sniCert: vsphereDatacenter: vsphereDefaultDatastore: vsphereNetwork: vsphereResourcePool: status: apiEndpoints: - host: port:
Macchina
Nei cluster Anthos su VMware, una risorsa macchina è una specifica dichiarativa per una singola macchina virtuale (VM) che risiede in vSphere. Ogni risorsa macchina ha una risorsa Nodo corrispondente creata dai cluster Anthos su VMware in base alla specifica della macchina. Queste risorse fanno riferimento allo stesso oggetto fisico: una VM che si trova nel tuo ambiente vSphere.
Per visualizzare le risorse macchina in un cluster, esegui il comando seguente, in cui [KUBECONFIG] è il percorso del file kubeconfig del cluster:
kubectl get machines --kubeconfig [KUBECONFIG]
Di seguito è riportato un esempio di una risorsa macchina che potresti vedere in un cluster Cluster Anthos su VMware:
apiVersion: cluster.k8s.io/v1alpha1 kind: Machine metadata: annotations: control-plane-version: "" kubelet-version: onprem.gke.io/provider: vsphere vm-ip-address: vsphere-machine-state: vsphere-machine-uuid: creationTimestamp: finalizers: - machine.cluster.k8s.io generateName: example-cluster-node generation: labels: kubernetes.googleapis.com/cluster-name: example-cluster-node kubernetes.googleapis.com/cluster-namespace: machine-template-hash: "" set: node name: example-cluster-node namespace: default ownerReferences: - apiVersion: cluster.k8s.io/v1alpha1 blockOwnerDeletion: controller: kind: MachineSet name: example-cluster-node uid: resourceVersion: "" selfLink: /apis/cluster.k8s.io/v1alpha1/namespaces/default/machines/example-cluster-node uid: spec: metadata: creationTimestamp: providerSpec: value: apiVersion: vsphereproviderconfig.k8s.io/v1alpha1 kind: VsphereMachineProviderConfig machineVariables: datacenter: datastore: disk_label: disk_size: "" memory: "" network: num_cpus: "" resource_pool: vm_template: metadata: creationTimestamp: networkSpec: address: dns: ntp: "" useIPAM: vsphereMachine: versions: kubelet: status: lastUpdated: nodeRef: kind: Node name: uid:
Deployment macchina
Un MachineDeployment gestisce un gruppo di macchine: specifica i cluster Anthos su VMware in cui le macchine vengono eseguite, dichiara la loro configurazione vSphere e implementa le modifiche alle configurazioni. Puoi pensare a VM e deployment di macchine come a deployment e pod.
Per visualizzare le risorse MachineDeployment in un cluster, esegui il comando seguente, dove [KUBECONFIG] è il percorso del file kubeconfig del cluster:
kubectl get machinedeployments --kubeconfig [KUBECONFIG]
Di seguito è riportato un esempio di una risorsa MachineDeployment che potresti visualizzare in un cluster Cluster Anthos su VMware:
apiVersion: cluster.k8s.io/v1alpha1 kind: MachineDeployment metadata: annotations: machinedeployment.clusters.k8s.io/revision: "1" onprem.gke.io/provider: vsphere creationTimestamp: generation: 2 labels: kubernetes.googleapis.com/cluster-name: example-cluster kubernetes.googleapis.com/cluster-namespace: set: node name: example-cluster namespace: default resourceVersion: "" selfLink: /apis/cluster.k8s.io/v1alpha1/namespaces/default/machinedeployments/example-cluster uid: spec: minReadySeconds: 0 progressDeadlineSeconds: replicas: revisionHistoryLimit: selector: matchLabels: kubernetes.googleapis.com/cluster-name: example-cluster kubernetes.googleapis.com/cluster-namespace: default set: node strategy: rollingUpdate: maxSurge: maxUnavailable: type: RollingUpdate template: metadata: annotations: onprem.gke.io/provider: vsphere creationTimestamp: null labels: kubernetes.googleapis.com/cluster-name: example-cluster kubernetes.googleapis.com/cluster-namespace: set: node spec: metadata: creationTimestamp: providerSpec: value: apiVersion: vsphereproviderconfig.k8s.io/v1alpha1 kind: VsphereMachineProviderConfig machineVariables: datacenter: datastore: disk_label: disk_size: "" memory: "" network: num_cpus: "" resource_pool: example-cluster vm_template: metadata: creationTimestamp: networkSpec: address: dns: ntp: "" useIPAM: vsphereMachine: versions: kubelet: status: availableReplicas: observedGeneration: readyReplicas: replicas: updatedReplicas: