K3k,Kubernetes in Kubernetes,是一個讓您能在現有的 Kubernetes 環境中建立和管理隔離的 K3s 叢集。它能實現高效的多租戶、簡化實驗流程,以及強大的資源隔離,透過允許您在同一台實體主機上運行多個輕量級 Kubernetes 叢集,來最大程度地降低基礎設施成本。
K3k 提供「共享」模式,以優化資源利用率,以及「虛擬」模式,透過專用的 K3s 伺服器 Pod 提供完整的隔離。這讓您無需管理獨立的實體資源的額外負擔,即可獲得完整的 Kubernetes 體驗。
K3k 與 Rancher 無縫整合,以簡化您嵌入式叢集的管理。
資源隔離:確保工作負載隔離,並防止團隊或應用程式之間的資源爭用。K3k 允許您為每個嵌入式叢集定義資源限制和配額,保證一個團隊的工作負載不會影響另一個團隊的效能。
簡化的多租戶:輕鬆為不同的使用者或專案建立專用的 Kubernetes 環境,簡化存取控制和管理。為每個團隊提供他們自己的隔離叢集,包含其自身的命名空間、RBAC 和資源配額,而無需管理多個實體叢集的複雜性。
輕量級且快速:利用 K3s 的輕量級特性,快速啟動和關閉叢集,加速開發和測試週期。在幾秒鐘內啟動一個新的 K3k 叢集,在乾淨的環境中測試您的應用程式,然後同樣快速地將其關閉,從而簡化您的 CI/CD 管道。
優化的資源利用率(共享模式):透過在同一台實體主機上運行多個 K3s 叢集,最大化您的基礎設施投資。K3k 的共享模式允許您有效地共享底層資源,減少額外負擔並降低成本。
完整的隔離(虛擬模式):為了增強安全性與隔離性,K3k 的虛擬模式為每個嵌入式叢集提供專用的 K3s 伺服器 Pod。這確保了工作負載的完全分離,並消除了任何潛在的資源爭用或安全風險。
Rancher 整合:透過 Rancher 簡化您的 K3k 叢集的管理。利用 Rancher 直觀的使用者介面和強大的功能,輕鬆監控、管理和擴展您的嵌入式叢集。
此部分提供了如何安裝 K3k 和 k3kcli 的說明。
注意:如果您沒有儲存提供者,您可以將叢集配置為使用臨時或靜態儲存。請參閱 k3kcli 進階用法,了解使用這些選項的說明。
我們建議盡可能使用最新發行的版本。
k3kcli 提供了一種快速簡便的方法來建立 K3k 叢集,並透過 kubeconfig 自動公開它們。
若要安裝它,只需從 GitHub Releases 頁面下載適用於您架構的最新可用版本。
例如,您可以使用以下方式下載 Linux amd64 版本:
此部分提供了如何使用 k3kcli 管理您的 K3k 叢集的範例。
K3k 在您目前配置的 kubectl 上下文的範圍內運行。這意味著 K3k 遵循標準的 Kubernetes 上下文配置機制,包括 --kubeconfig 標誌、$KUBECONFIG 環境變數,以及預設的 $HOME/.kube/config 文件。您建立的任何 K3k 叢集都將位於您的 kubectl 目前指向的 Kubernetes 叢集內。
若要建立一個新的 K3k 叢集,請使用以下命令:
在 Rancher 管理的主機叢集上建立 K3k 叢集
如果您的主機 Kubernetes 叢集由 Rancher 管理(例如,您的 kubeconfig 的伺服器地址包含 Rancher URL),請在建立 K3k 叢集時使用 --kubeconfig-server 標誌:
這確保了生成的 kubeconfig 連接到正確的端點。
當 K3s 伺服器準備就緒後,k3kcli 將生成必要的 kubeconfig 文件,並列印如何使用的說明。
匯出生成的 kubeconfig 後,您應該能夠存取您的 Kubernetes 叢集:
您也可以直接在某些命名空間中建立一個 Cluster 資源,以建立一個 K3k 叢集:
並使用 k3kcli 檢索 kubeconfig:
若要刪除一個 K3k 叢集,請使用以下命令:
如需 K3k 架構的詳細解釋,請參閱架構文件。
如需更深入的範例和有關 K3s 進階用法的資訊,包括共享與虛擬模式、資源管理和其他配置選項的詳細資訊,請參閱進階用法文件。
如果您有興趣從原始碼建置 K3k 或為該專案做出貢獻,請參閱開發文件。