An der vSphere Supervisor API anmelden
Hast du dich immer gefragt, wie du dich direkt an der vSphere Supervisor API anmeldest, um ohne kubectl-vsphere oder vcf-cli direkt mit der Kubernetes API zu sprechen?
Hast du dich immer gefragt, wie du dich direkt an der vSphere Supervisor API anmeldest, um ohne den Umweg über kubectl-vsphere oder vcf-cli direkt mit der Kubernetes API zu sprechen?
Dieses kurze Beispiel zeigt, wie einfach die Anmeldung an der Supervisor API ist und wie du damit zum Beispiel die vSphere Namespaces abfragst:
# Get the JSON Web Token (JWT)
TOKEN=$(curl -sk -u "USER@DOMAIN" \
-X POST https://SUPERVISOR_FQDN_OR_IP/wcp/login | jq -r '.session_id')
# Query all vSphere Namespaces
curl -k -H "Authorization: Bearer ${TOKEN}" -X GET https://SUPERVISOR_FQDN_OR_IP/api/v1/namespaces | jq -r '.items[].metadata.name'
# Output
default
kube-node-lease
kube-public
kube-state-metrics-139ce
kube-system
svc-argocd
svc-argocd-service-3srmt
svc-auto-attach-1hnu0
svc-cci-ns-xk907
svc-configuration-tbe79
svc-consumption-operator-63v75
svc-contour-m8mn1
svc-harbor-jpft6
svc-metrics-aggregator-rs4er
svc-pais-lyk5h
svc-secret-store-6rqli
svc-supervisor-management-proxy-l4g5n
svc-tkg-gf8p0
svc-tmc-c9
svc-velero-od4zi
svc-vks-cluster-manager-service-3873a
vmware-system-ako
vmware-system-appplatform-operator-system
vmware-system-cert-manager
vmware-system-csi
vmware-system-imageregistry
vmware-system-kubeimage
vmware-system-logging
vmware-system-mgmt-proxy
vmware-system-mobility-operator
vmware-system-monitoring
vmware-system-netop
vmware-system-network-operations
vmware-system-nsop
vmware-system-nsx
vmware-system-pinniped
vmware-system-supervisor-services
vmware-system-supervisor-services-vpc
vmware-system-vks-public
vmware-system-vmop
vmware-system-workload-cli
vmware-system-zoneop
Du kannst dieses Token auch direkt in eine kubeconfig einbetten und danach mit dem kubectl CLI arbeiten:
apiVersion: v1
kind: Config
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://SUPERVISOR_IP:443
name: vcf-mgmt-sn91:SUPERVISOR_IP
contexts:
- context:
cluster: vcf-mgmt-sn91:SUPERVISOR_IP
user: vcf-mgmt-sn91:USER@DOMAIN@10.24.68.5
name: vcf-mgmt-sn91
current-context: vcf-mgmt-sn91
users:
- name: vcf-mgmt-sn91:USER@DOMAIN@SUPERVISOR_IP
user:
token: REDACTED_JWT
Vielen Dank an Will Arroyo (github.com/warroyo) für seine Unterstützung und seinen Beitrag.
Ein grosses Dankeschön geht ausserdem an Louis Baumann (github.com/soultecag), der uns einen schlanken Go-Client zur Verfügung gestellt hat. Damit meldest du dich an einem vSphere Supervisor an und erzeugst einen Kubernetes Client oder eine kubeconfig, entweder für das Supervisor Cluster selbst oder für eines seiner VKS Guest Cluster.