CauchyK零SK壹S
- 已编辑
镜像获取
在可连接外网的机器上下载镜像列表images-list.txt
curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/images-list.txt
列表中以
##+{模块名称}
对镜像进行分组,如有需求,也可按此规则将自己的镜像加入到列表中。
下载offline-installation-tool.sh
curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/offline-installation-tool.sh
chmod +x offline-installation-tool.sh
可通过执行·./offline-installation-tool.sh -h
查看脚本使用方法
-b: 保存k8s相关二进制文件
-d: 镜像保存路径
-s: 保存镜像到指定路径
-l: 镜像列表
-r: 私有仓库地址, 将镜像导入私有仓库时使用
-v: 保存指定版本的k8s二进制文件
下载k8s二进制文件(已有k8s集群,可略过)
./offline-installation-tool.sh -b -v v1.17.9
### 若无法访问google对象存储,可添加环境变量切换下载源
export KKZONE=cn;./offline-installation-tool.sh -b -v v1.17.9
脚本执行后会在当前目录下生成kubekey文件夹,将该文件夹拷贝至待安装机器,并于kk可执行文件放置在同级目录下。
拉取images-list.txt
中镜像
./offline-installation-tool.sh -s -l images-list.txt -d ./kubesphere-images
可按需拉去镜像,如已有k8s环境,可将镜像列表中
##k8s-images
及其所包含镜像删除。
将下载并打包好的镜像传入离线环境
确保离线环境中有可使用的私有镜像仓库。
可使用harbor或其他第三方镜像仓库。
如需快速部署自签名镜像仓库可参考:https://kubesphere.com.cn/forum/d/2240-docker-registry
将镜像导入私有镜像仓库
## 以下命令中以dockerhub.kubekey.local为例,使用时请使用自己实际镜像仓库地址。
./offline-installation-tool.sh -l images-list.txt -d ./kubesphere-images -r dockerhub.kubekey.local
在已有k8s之上部署kubesphere
下载部署文件
curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/cluster-configuration.yaml
curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml
修改安装配置
在cluster-configuration.yaml中添加私有镜像仓库配置
## 以dockerhub.kubekey.local为例,部署时请配置自己实际镜像仓库地址。
local_registry: dockerhub.kubekey.local
替换ks-installer为私有仓库镜像
## 以dockerhub.kubekey.local为例,部署时请配置自己实际镜像仓库地址。
sed -i 's|kubesphere/ks-installer:v3.0.0|dockerhub.kubekey.local/kubesphere/ks-installer:v3.0.0|g' kubesphere-installer.yaml
部署
kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml
部署k8s + kubesphere
下载kk
可从github上下载kk至本地环境:https://github.com/kubesphere/kubekey/releases
创建配置文件
./kk create config --with-kubesphere -f config.yaml
配置文件中指定私有镜像仓库地址
以dockerhub.kubekey.local为例,部署时请配置自己实际镜像仓库地址。
...
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
registry:
registryMirrors: []
insecureRegistries: []
privateRegistry: "dockerhub.kubekey.local"
addons:
...
执行安装
确保机器已经安装所需依赖软件(sudo curl openssl ebtables socat ipset conntrack docker),离线环境下可使用私有源或者rpm包(centos类OS)或deb包(debian类OS)安装。
具体环境要求参见:https://github.com/kubesphere/kubekey/tree/release-1.0#requirements-and-recommendations
建议:可将安装了所有依赖软件的操作系统制作成系统镜像使用,避免每台机器都安装依赖软件,即可提升交付部署效率,又可避免依赖问题的发生。
## kk可执行文件应与kubekey文件夹放置于同级目录下
./kk create cluster -f config.yaml