$ kubectl config get-contexts
CURRENT   NAME                CLUSTER             AUTHINFO             NAMESPACE
          cluster1            k3d-cluster1        admin@k3d-cluster1   
          cluster2            k3d-cluster2        admin@k3d-cluster2   
          cluster3            k3d-cluster3        admin@k3d-cluster3   
          cluster4            k3d-cluster4        admin@k3d-cluster4   
          its1                its1-cluster        its1-admin           
*         k3d-kubeflex        k3d-kubeflex        admin@k3d-kubeflex   
          kind-do-it-please   kind-do-it-please   kind-do-it-please    
          kind-holox          kind-holox          kind-holox           
          kind-rahulxf        kind-rahulxf        kind-rahulxf         
          minikube            minikube            minikube             default
          wds1                wds1-cluster        wds1-admin           default
          
 # get it from their CLUSTER naming           
$ kubectl config view --minify
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://0.0.0.0:51092
  name: k3d-kubeflex
contexts:
- context:
    cluster: k3d-kubeflex
    user: admin@k3d-kubeflex
  name: k3d-kubeflex
current-context: k3d-kubeflex
kind: Config
preferences:
  extensions:
  - extension:
      data:
        kflex-initial-ctx-name: k3d-kubeflex
      metadata:
        creationTimestamp: null
        name: kflex-config-extension-name
    name: kflex-config-extension-name
users:
- name: admin@k3d-kubeflex
  user:
    client-certificate-data: DATA+OMITTED
    client-key-data: DATA+OMITTED 
get nodes -o wide
NAME                    STATUS   ROLES                  AGE    VERSION        INTERNAL-IP   EXTERNAL-IP   OS-IMAGE           KERNEL-VERSION     CONTAINER-RUNTIME
k3d-kubeflex-server-0   Ready    control-plane,master   111m   v1.31.5+k3s1   172.18.0.9    <none>        K3s v1.31.5+k3s1   6.10.14-linuxkit   containerd://1.7.23-k3s2
 
kubectl get nodes -o jsonpath='{.items[*].spec.providerID}'
k3s://k3d-kubeflex-server-0%                
kubectl get nodes --show-labels
NAME                    STATUS   ROLES                  AGE    VERSION        LABELS
k3d-kubeflex-server-0   Ready    control-plane,master   113m   v1.31.5+k3s1   beta.kubernetes.io/arch=arm64,beta.kubernetes.io/instance-type=k3s,beta.kubernetes.io/os=linux,kubernetes.io/arch=arm64,kubernetes.io/hostname=k3d-kubeflex-server-0,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=true,node-role.kubernetes.io/master=true,node.kubernetes.io/instance-type=k3s
 
if kubectl get nodes -o name | grep -qi kind; then
  echo "Cluster is probably KIND"
elif kubectl get nodes -o name | grep -qi k3d; then
  echo "Cluster is probably K3D"
else
  echo "Unknown cluster type"
fi
// Cluster is probably K3D