Files
k3k/k3k-kubelet
Hussein GalalandGitHub fcc875ab85 Mirror host nodes (#389)
* mirror host nodes

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* add mirror host nodes feature

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add controllername to secrets/configmap syncer

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* golint

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* wsl

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* wsl

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* wsl

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* build docs

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* setting controller namespace env

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* fix typo

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add a controller_namespace env to the test

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* fix tests

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* fix tests

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Add mirrorHostNodes spec to conformance tests

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Fixes

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Fixes

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* fixes

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* wsl

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* change the ptr int to int

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* fix map key name

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2025-07-08 14:48:24 +03:00
..
2025-07-08 14:48:24 +03:00
2025-07-08 14:48:24 +03:00
2025-06-19 14:28:27 +02:00
2025-07-08 14:48:24 +03:00
2025-07-08 14:48:24 +03:00
2025-07-08 14:48:24 +03:00

Virtual Kubelet

This package provides an impelementation of a virtual cluster node using virtual-kubelet.

The implementation is based on several projects, including:

Overview

This project creates a node that registers itself in the virtual cluster. When workloads are scheduled to this node, it simply creates/updates the workload on the host cluster.

Usage

Build/Push the image using (from the root of rancher/k3k):

make build
docker buildx build -f package/Dockerfile . -t $REPO/$IMAGE:$TAG

When running, it is recommended to deploy a k3k cluster with 1 server (with --disable-agent as a server arg) and no agents (so that the workloads can only be scheduled on the virtual node/host cluster).

After the image is built, it should be deployed with the following ENV vars set:

  • CLUSTER_NAME should be the name of the cluster.
  • CLUSTER_NAMESPACE should be the namespace the cluster is running in.
  • HOST_KUBECONFIG should be the path on the local filesystem (in container) to a kubeconfig for the host cluster (likely stored in a secret/mounted as a volume).
  • VIRT_KUBECONFIGshould be the path on the local filesystem (in container) to a kubeconfig for the virtual cluster (likely stored in a secret/mounted as a volume).
  • VIRT_POD_IP should be the IP that the container is accessible from.

This project is still under development and there are many features yet to be implemented, but it can run a basic nginx pod.