前言
安装心得
经过多种方式操作,发现二进制方法安装太复杂,证书生成及其手工操作太多了,没有安装成功;helm方式的安装,v1.7.0的chart包执行安装会报错,手工修复了报错并修改了镜像地址,还是各种啦不下来镜像,安装失败。最后使用了kubectl karmada init的方式安装成功了。
此外,官方文档要求条件如下:
前提条件
- Go v1.18+
- kubectl v1.19+
详细安装步骤
1、从github上下载karmada的v1.7.0的版本
Release Karmada v1.7.0 release · karmada-io/karmada · GitHub
安装过程中用到的文件如下,这些包是需要下载的
Source code(zip)
crds.tar.gz
2、安装Go SDK
- 下载软件包All releases - The Go Programming Language,我们这里使用的是
go1.20.4.linux-amd64.tar.gz
把软件包go1.20.4.linux-amd64.tar.gz上传到/root下面,执行如下命令解压
tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz
- 添加环境变量
vi /etc/profile
- 把如下内容添加进去
export PATH=$PATH:/usr/local/go/bin
export GOPROXY=https://goproxy.io,direct
- 执行如下命令生效
source /etc/profile
- 执行如下命令,显示如下内容,表示安装成功
# go version
go version
显示信息如下,
go version go1.20.4 linux/amd64
3、从源代码编译karmada二进制文件。
cd karmada
make karmada-aggregated-apiserver karmada-controller-manager karmada-scheduler karmada-webhook karmadactl kubectl-karmada
cd _output/bin/linux/amd64/
mv karmadactl kubectl-karmada /usr/local/sbin/
4、通过 Karmada 命令行工具安装 Karmada
参考链接:安装概述 | karmada
执行如下命令:
kubectl karmada init --crds /root/karmada-install2023/crds.tar.gz --kube-image-registry=registry.aliyuncs.com/google_containers --kube-image-tag='v1.25.4' --karmada-aggregated-apiserver-image='docker.io/karmada/karmada-aggregated-apiserver' --karmada-controller-manager-image='docker.io/karmada/karmada-controller-manager' --karmada-scheduler-image='docker.io/karmada/karmada-scheduler' --karmada-webhook-image='docker.io/karmada/karmada-webhook'
执行结果如下,表示安装成功:
可以查看更多帮助命令:
kubectl karmada init --help
5、安装完成,结果查看
kubectl -n karmada-system get pod