【Karmada使用教程】快速开始,通过 Karmada 分发 Deployment
Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容 Kubernetes 原生 API 的能力,Karmada 可以平滑迁移单集群工作负载,并且仍可保持与 Kubernetes 周边生态工具链协同。本系列文章将介绍 Karmada 的使用教程,本文介绍如何通过 Karmada 分发 Deployment。
本指南涵盖了:
- 在名为 host cluster 的 Kubernetes 集群中安装 karmada 控制面组件。
- 将一个成员集群接入到 karmada 控制面。
- 通过使用 karmada 分发应用程序。
前提条件
✅ Go v1.18+
✅ kubectl v1.19+
✅ kind v0.14.0+
安装 Karmada 控制面
1️⃣ 克隆此代码仓库到你的机器
git clone https://github.com/karmada-io/karmada
2️⃣ 更改到 karmada 目录
cd karmada
3️⃣ 部署并运行 Karmada 控制面
运行以下脚本:
hack/local-up-karmada.sh
📝 该脚本将为你执行以下任务:
- 启动一个 Kubernetes 集群来运行 Karmada 控制面,即 host cluster。
- 根据当前代码库构建 Karmada 控制面组件。
- 在 host cluster 上部署 Karmada 控制面组件。
- 创建成员集群并接入 Karmada。
💬 如果一切良好,在脚本输出结束时你将看到以下类似消息:
Local Karmada is running.
To start using your Karmada environment, run:
export KUBECONFIG="$HOME/.kube/karmada.config"
Please use 'kubectl config use-context karmada-host/karmada-apiserver' to switch the host and control plane cluster.
To manage your member clusters, run:
export KUBECONFIG="$HOME/.kube/members.config"
Please use 'kubectl config use-context member1/member2/member3' to switch to the different member cluster.
Karmada 中有两个上下文环境:
- karmada-apiserver kubectl config use-context karmada-apiserver
- karmada-host kubectl config use-context karmada-host
karmada-apiserver 是与 Karmada 控制面交互时要使用的 主要 kubeconfig, 而 karmada-host 仅用于调试 Karmada 对 host cluster 的安装。 你可以通过运行 kubectl config view 随时查看所有集群。 要切换集群上下文,请运行 kubectl config use-context [CONTEXT_NAME]
Demo

分发应用程序
在以下步骤中,我们将通过 Karmada 分发一个 Deployment。
1️⃣ 在 Karmada 中创建 nginx deployment
首先创建名为 nginx 的 deployment:
kubectl create -f samples/nginx/deployment.yaml
2️⃣ 创建将 nginx 分发到成员集群的 PropagationPolicy
随后我们需要创建一个策略将 Deployment 分发到成员集群。
kubectl create -f samples/nginx/propagationpolicy.yaml
3️⃣ 从 Karmada 查看 Deployment 状态
你可以从 Karmada 查看 Deployment 状态,无需访问成员集群:
$ kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 2/2 2 2 20s
更多Karmada云原生多云容器引擎使用教程与技术交流,欢迎关注Karmada社区公众号或添加社区小助手k8s2222,回复Karmada进群。

Karmada 公众号
Karmada 是CNCF 首个多云多集群容器编排项目(孵化级),旨在帮助用户像使用单个集群一样轻松管理跨云多集群,让基于 Karmada 的多云方案无缝融入云原生技术生态。社区吸引了来自华为、道客、浙江大学、滴滴、腾讯、中国电子云等60多家公司的全球贡献者,广泛分布于22个国家和地区。Karmada 现已在华为云、道客、兴业数金、中国移动、中国联通、携程、360集团、新浪、中通快递等众多企业单位生产应用,为企业提供从单集群到多云架构的平滑演进方案。
Karmada官网:https://karmada.io/
项目地址:https://github.com/karmada-io/karmada
Slack地址:https://slack.cncf.io/(#karmada)
- 点赞
- 收藏
- 关注作者
评论(0)