contrib-tmc

module
v0.20.0-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2023 License: Apache-2.0

README

TMC - Transparent Multi-Cluster

Experimental multi-cluster workload management platform for Kubernetes, built on top of KCP

What is TMC?

TMC is a multi-cluster management platform that allows you to manage multiple Kubernetes clusters from a single control plane. TMC should be a plugin of KCP and extend its functionality to support multi-cluster workload management.

Quick start

# Build CLI binaries

  make build

# Copy binaries to PATH

  # Either copy the binaries to a directory in your PATH
  cp bin/{kubectl-tmc,kubectl-workloads} /usr/local/bin/kubectl-tmc

  # Or add the bin directory to your PATH
  export PATH=$PATH:$(pwd)/bin

# Start TMC-KCP

  go run ./cmd/tmc start

# Create TMC workspace

  kubectl tmc workspace create tmc-ws --type tmc --enter

# Create SyncTarget for remote cluster

  kubectl tmc workload sync cluster-1 --syncer-image ghcr.io/kcp-dev/contrib-tmc/syncer:latest --output-file cluster-1.yaml

# Login into child cluster

  KUBECONFIG=<pcluster-config> kubectl apply -f "cluster-1.yaml"

# Bind compute resources

  kubectl tmc bind compute root:tmc-ws

# Create a workload on TMC-KCP cluster

  kubectl create deployment kuard --image gcr.io/kuar-demo/kuard-amd64:blue

Known issues

Background

https://github.com/kcp-dev/kcp/issues/2954

Directories

Path Synopsis
apis
apiresource/v1alpha1
+k8s:deepcopy-gen=package,register +groupName=apiresource.kcp.io +k8s:openapi-gen=true
+k8s:deepcopy-gen=package,register +groupName=apiresource.kcp.io +k8s:openapi-gen=true
scheduling/v1alpha1
+k8s:deepcopy-gen=package,register +groupName=scheduling.kcp.io +k8s:openapi-gen=true
+k8s:deepcopy-gen=package,register +groupName=scheduling.kcp.io +k8s:openapi-gen=true
workload/v1alpha1
+k8s:deepcopy-gen=package,register +groupName=workload.kcp.io +k8s:openapi-gen=true
+k8s:deepcopy-gen=package,register +groupName=workload.kcp.io +k8s:openapi-gen=true
client
clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset/versioned/typed/apiresource/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/apiresource/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset/versioned/typed/scheduling/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/scheduling/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset/versioned/typed/workload/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/workload/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cmd
tmc
config
tmc
pkg
test
third_party
tmc
logging
Package logging supplies common constants to ensure consistent use of structured logs.
Package logging supplies common constants to ensure consistent use of structured logs.
virtual/syncer
Package syncer and its sub-packages provide the Syncer Virtual Workspace.
Package syncer and its sub-packages provide the Syncer Virtual Workspace.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL