利用项目空闲期,决定选型个PASS平台,让项目运行在上面看上去更高大上点。本人以前使用过openshift,刚开始倾向于使用比较熟悉的平台,选型时跟其他技术大咖沟通交流了下,好几位反馈kubesphere比较不错,看了下是国内开源的PASS平台,也比较新,本着支持国货的原则,最终选择使用kubesphere,记录下部署和使用过程。很多时候生产环境是跟公网隔离的,在使用部署直接选择了离线部署kebesphere,不多说直接上干货。
一、artifact制作
制作kubesphere安装模版,官方叫artifact,目的是在有网环境下制作,然后可以拷贝到网隔离的环境直接安装。制作一次后可以多次使用,且需要在有公网环境制作
1)从git下载kubekey最新包,Releases · kubesphere/kubekey · GitHub,上传到指定目录,并解压缩
2、利用vi命令,创建manifest-sample.yaml文件,参照离线安装,本人使用的是ubuntu镜像,文件内容如下
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Manifest
metadata:
name: sample
spec:
arches:
- amd64
operatingSystems:
- arch: amd64
type: linux
id: ubuntu
version: "20.04"
osImage: Ubuntu 20.04.3 LTS
repository:
iso:
localPath:
url: https://github.com/kubesphere/kubekey/releases/download/v2.0.0/ubuntu-20.04-amd64-debs.iso
kubernetesDistributions:
- type: kubernetes
version: v1.21.5
components:
helm:
version: v3.6.3
cni:
version: v0.9.1
etcd:
version: v3.4.13
containerRuntimes:
- type: docker
version: 20.10.8
crictl:
version: v1.22.0
docker-registry:
version: "2"
#harbor:
#version: v2.4.1
docker-compose:
version: v2.2.2
images:
- registry.cn-beijing.aliyuncs.com/kubesphereio/examples-bookinfo-ratings-v1:1.16.3
- registry.cn-beijing.aliyuncs.com/kubesphereio/cni:v3.20.0
- registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controllers:v3.20.0
- registry.cn-beijing.aliyuncs.com/kubesphereio/pod2daemon-flexvol:v3.20.0
- registry.cn-beijing.aliyuncs.com/kubesphereio/node:v3.20.0
- registry.cn-beijing.aliyuncs.com/kubesphereio/coredns:1.8.0
- registry.cn-beijing.aliyuncs.com/kubesphereio/k8s-dns-node-cache:1.15.12
- registry.cn-beijing.aliyuncs.com/kubesphereio/kube-apiserver:v1.21.5
- registry.cn-beijing.aliyuncs.com/kubesphereio/kube-controller-manager:v1.21.5
- registry.cn-beijing.aliyuncs.com/kubesphereio/kube-proxy:v1.21.5
- registry.cn-beijing.aliyuncs.com/kubesphereio/kube-scheduler:v1.21.5
- registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.4.1
registry:
auths: {}
3、 制作artifact并导出,需要在有网络环境下,因为需要下载相关工具和镜像
执行命令:./kk artifact export -m manifest-sample.yaml -o kubesphere.tar.gz
到此artifact制作完成,可以拷贝到离线环境直接通过kubesphere.tar.gz安装部署kubesphere
二、 离线安装kubephere
1、拷贝kubekey-v2.1.0-linux-amd64.tar.gz和kubesphere.tar.gz(制作好的artifact)到需要部署kubespere的服务器,并执行tar -zxvf kubekey-v2.1.0-linux-amd64.tar.gz解压缩kubekey
2、创建kubespere集群config配置文件,执行以下命令,会自动生成一个config-sample.yaml文件
./kk create config --with-kubesphere v3.2.1 --with-kubernetes v1.21.5 -f config-sample.yaml
用vi命令打开文件根据实际需要创建kubesphere集群节点
3、安装镜像仓库,执行以下命令
./kk init registry -f config-sample.yaml -a kubesphere.tar.gz
说明:
config-sample.yaml 指离线环境集群的配置文件
kubesphere.tar.gz 指源集群打包出来的 tar 包镜像
4、安装kubesphere集群,执行以下命令
./kk create cluster -f config-sample.yaml -a kubesphere.tar.gz --with-packages
说明:
config-sample.yaml:离线环境集群的配置文件
kubesphere.tar.gz:源集群打包出来的 tar 包镜像
--with-packages:若需要安装操作系统依赖,需指定该选项
5、验证,在浏览器输入127.0.0.1:30880/login,弹出登录页面
三、kubesphere卸载
执行以下命令即可:
./kk delete cluster -f config-sample.yaml