Questa pagina descrive le risorse dell'API Cluster di Kubernetes utilizzate nei cluster Anthos su VMware (GKE on-prem).
Panoramica
I cluster Anthos su VMware supportano le seguenti risorse dell'API Cluster:
- cluster
- Computer
- Deployment macchina
- Set macchina
- Classi di macchina
I cluster Anthos su VMware generano automaticamente queste risorse nei cluster durante l'installazione; in genere, non è necessario interagire direttamente con loro. Inoltre, la documentazione dei cluster Anthos su VMware fa riferimento a queste risorse per illustrare concetti come alta disponibilità.
Puoi controllare quali CustomResourceDefinitions (CRD) dell'API 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 sui cluster VMware hanno una risorsa Cluster che descrive il cluster.
Per visualizzare le risorse di un cluster in un cluster, esegui il comando seguente, dove [KUBECONFIG] è il percorso del file kubeconfig del cluster:
kubectl get clusters --kubeconfig [KUBECONFIG]
Di seguito è riportato un esempio di risorsa cluster che potresti vedere in un cluster Anthos su cluster utente 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:
Computer
Nei cluster Anthos su VMware, una risorsa macchina è una specifica dichiarativa per una singola macchina virtuale (VM) che si trova 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 della macchina in un cluster, esegui il comando seguente, dove [KUBECONFIG] è il percorso del file kubeconfig del cluster:
kubectl get machines --kubeconfig [KUBECONFIG]
Di seguito è riportato un esempio di risorsa VM che potresti vedere in un cluster Anthos sul cluster 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 sul cluster VMware in cui vengono eseguite le macchine, dichiara la configurazione vSphere e implementa le modifiche alle configurazioni. Puoi considerare i deployment di macchine e i deployment come 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 risorsa MachineDeployment che potresti vedere in un cluster Anthos sul cluster 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: