https://www.lixueduan.com/posts/multi-cluster/01-karmada-deploy/
K8s 多集群(一)---Karmada 初体验
2023-04-08 3003 words 6 minutes
本文主要记录了 Kubernetes 多集群项目 Karmada 部署及简单使用。
一句话简介:Karmada 是一个 Kubernetes 多集群领域的开源项目,旨在让用户像使用单集群一样使用多集群。
github repo:https://github.com/karmada-io/karmada
Karmada 本身也是运行在 k8s 上的,因此我们需要先准备一个 k8s 环境,同时为了体验多集群效果,最好能多建几个集群。
推荐使用 KubeClipper 来创建 k8s 集群,一条命令搞定:Kubernetes教程(十一)—使用 KubeClipper 通过一条命令快速创建 k8s 集群
本文将使用 3 台 2c4g 机器部署 3 个单 master 集群,其中 1 个用于运行 karmada,另外两个作为业务集群使用。
karmada 提供了 kubectl 插件,通过该插件可以很轻松的安装 Karmada,因此我们先安装该插件。
可以使用以下命令一键安装
curl -s https://raw.githubusercontent.com/karmada-io/karmada/master/hack/install-cli.sh | sudo bash -s kubectl-karmada
|
或者手动下载
wget https://github.com/karmada-io/karmada/releases/download/v1.5.0/kubectl-karmada-linux-amd64.tgz
tar -zxvf kubectl-karmada-linux-amd64.tgz
cp kubectl-karmada /usr/local/bin
kubectl-karmada version
|
正常情况下执行以下命令即可完成 Karmada 初始化
不过该命令默认会去 github 下载 crd 压缩包,同时默认会去 k8s.io 拉镜像。
因此在国内使用时,由于网络问题导致还需要指定一些参数才行:
先手动下载 crd,实际上里面就是一些 crd 的 yaml 文件
wget https://github.com/karmada-io/karmada/releases/download/v1.5.0/crds.tar.gz
|
然后 init 时指定 crd 地址以及镜像仓库
kubectl karmada init \
--kube-image-registry registry.cn-hangzhou.aliyuncs.com/google_containers \
--crds crds.tar.gz
|
安装完成后输出如下:
------------------------------------------------------------------------------------------------------
█████ ████ █████████ ███████████ ██████ ██████ █████████ ██████████ █████████
░░███ ███░ ███░░░░░███ ░░███░░░░░███ ░░██████ ██████ ███░░░░░███ ░░███░░░░███ ███░░░░░███
░███ ███ ░███ ░███ ░███ ░███ ░███░█████░███ ░███ ░███ ░███ ░░███ ░███ ░███
░███████ ░███████████ ░██████████ ░███░░███ ░███ ░███████████ ░███ ░███ ░███████████
░███░░███ ░███░░░░░███ ░███░░░░░███ ░███ ░░░ ░███ ░███░░░░░███ ░███ ░███ ░███░░░░░███
░███ ░░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ███ ░███ ░███
█████ ░░████ █████ █████ █████ █████ █████ █████ █████ █████ ██████████ █████ █████
░░░░░ ░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░░░░░░ ░░░░░ ░░░░░
------------------------------------------------------------------------------------------------------
Karmada is installed successfully.
Register Kubernetes cluster to
|