tes-cluster │ sts-token         │       │        ┃┃                              │               │ 🐳 docker-registry    │ iam-role          │       │        ┃

┃                              │               │                       │ session-token     │       │        ┃

┃                              │               │                       │ federation-token  │       │        ┃

┠──────────────────────────────┼───────────────┼───────────────────────┼───────────────────┼───────┼────────┨

┃    GCP Service Connector     │ 🔵 gcp        │ 🔵 gcp-generic        │ implicit          │ ✅    │ ✅     ┃

┃                              │               │ 📦 gcs-bucket         │ user-account      │       │        ┃

┃                              │               │ 🌀 kubernetes-cluster │ service-account   │       │        ┃

┃                              │               │ 🐳 docker-registry    │ oauth2-token      │       │        ┃

┃                              │               │                       │ impersonation     │       │        ┃

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━┷━━━━━━━┷━━━━━━━━┛

From the above, you can see that there are not one but four Service Connector Types that can connect ZenML to Kubernetes clusters. The first one is a generic implementation that can be used with any standard Kubernetes cluster, including those that run on-premise. The other three deal exclusively with Kubernetes services managed by the AWS, GCP and Azure cloud providers.

Conversely, to list all currently registered Service Connector instances that provide access to Kubernetes clusters, one might run:

zenml service-connector list --resource_type kubernetes-cluster

Example Command Output

┏━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┓