Consulte o exemplo de YAML fornecido aqui para provisionar um cluster TanzuKubernetesCluster que usa o sistema operacional Ubuntu para nós de cluster. Esse cluster pode ser usado para cargas de trabalho de vGPU.

Exemplo de v1alpha3: TKC com Ubuntu TKR

Por padrão, a edição PhotonOS do TKR nomeado é usada para nós de cluster do TKG 2. Se o TKR referenciado for compatível com o formato OSImage e tiver uma edição do Ubuntu OS disponível, use a anotação run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu para especificar a edição do Ubuntu OS do TKR. Para obter mais informações sobre o formato OSImage, consulte TKR OSImage Format.

O Ubuntu TKR é necessário para cargas de trabalho de IA/ML. Neste exemplo, o nó do plano de controle tem um volume separado para o banco de dados etcd. Cada pool de nós do trabalhador tem um volume separado para o tempo de execução do containerd e o kubelet, cada um com uma capacidade de 70 GiB. É recomendável fornecer um volume separado desse tamanho para cargas de trabalho de IA/ML baseadas em contêiner.
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-ubuntu-gpu
  namespace: tkg2-cluster-ns
  annotations:
    run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu
spec:
   topology:
     controlPlane:
       replicas: 3
       storageClass: tkg2-storage-policy
       vmClass: guaranteed-large
       tkr:
         reference:
           name: v1.23.8---vmware.2-tkg.2-zshippable
       volumes:
       - name: etcd
         mountPath: /var/lib/etcd
         capacity:
           storage: 4Gi
     nodePools:
     - name: nodepool-a100-primary
       replicas: 3
       storageClass: tkg2-storage-policy
       vmClass: vgpu-a100
       tkr:
         reference:
           name: v1.23.8---vmware.2-tkg.2-zshippable
       volumes:
       - name: containerd
         mountPath: /var/lib/containerd
         capacity:
           storage: 70Gi
       - name: kubelet
         mountPath: /var/lib/kubelet
         capacity:
           storage: 70Gi
     - name: nodepool-a100-secondary
       replicas: 3
       storageClass: tkg2-storage-policy
       vmClass: vgpu-a100
       tkr:
         reference:
           name: v1.23.8---vmware.2-tkg.2-zshippable
       volumes:
       - name: containerd
         mountPath: /var/lib/containerd
         capacity:
           storage: 70Gi
       - name: kubelet
         mountPath: /var/lib/kubelet
         capacity:
           storage: 70Gi
   settings:
     storage:
       defaultClass: tkg2-storage-policy
     network:
       cni:
        name: antrea
       services:
        cidrBlocks: ["198.51.100.0/12"]
       pods:
        cidrBlocks: ["192.0.2.0/16"]
       serviceDomain: cluster.local