Kasten K10入门系列目录
Kasten K10入门系列01 - 快速搭建K8S单节点测试环境
正文
Kasten K10的安装使用Kubernetes安装包管理工具Helm,如果不熟悉Kubernetes的朋友可能不知道什么是Helm,简单来说,Kubernetes上的Helm来说就像CentOS上的yum,有啥软件需要安装在CentOS上直接yum install,而在Kubernetes上就是helm install。
Helm的命令和其他Linux命令一样,一大堆参数,看着就头疼,不过没关系,那么复杂的我们不用全明白,记住我下面的这几个关键的就足够玩转k10了:
# 添加 chart
$ helm repo add <repo name> <url>
# 安装软件
$ helm install <chart> <repo/chart> --namespace <namespace name>
# 卸载软件
$ helm uninstall <chart> --namespace <namespace name>
对于k10安装,几个关键要素分别是:
- Repo name (仓库名): kasten
- Chart(软件名) : k10
- URL(仓库地址): https://charts.kasten.io/
- Namespace name: kasten-io(默认值)
k10起飞检查
当然,在安装前,因为各个用户的环境错综复杂,会产生各种不满足条件的情况,Kasten提供了起飞检查脚本(pre-flight checks),用于帮助我们判断是否满足最基本的安装条件。简单来说,这个脚本跑完,看到上面是全绿的Ok状态,那么安装k10就完全没问题。
由于一些不可理解的网络问题,gcr.io无法正常访问,官网手册中的起飞检查脚本就没办法正常运行,这里我提供修改过的脚本可以用于国内网络正常访问:
$ curl https://blog.backupnext.cloud/k10_primer.sh | bash
这个k10起飞检查脚本还有一个storageclass检查专用参数,有需要的时候也可以针对创建好的storageclass做一系列体检:
$ curl -s https://blog.backupnext.cloud/k10_primer.sh | bash /dev/stdin -s ${STORAGE_CLASS}
k10安装
k10基本上能够通吃所有Kubernetes的发行版,在官网手册上,对于像AWS、Azure、Red Hat Openshift、Google Cloud、DigitalOcean和VMware vSphere这些特殊的发行版,给出了一些特别的安装指导,大部分都是关于service account的。而除了这些之外的Kubernetes发行版,都可以按照通用安装方式来进行。
还是一样因为gcr.io无法访问,我们国内的网络对应到手册中去找一些步骤,就需要找Air-Gapped Install章节。安装步骤如下:
- 将安装脚本下载到本地,运行命令后,会在本地文件夹中看到一个叫k10-4.0.2.tgz的文件,其中4.0.2是当前最新的k10版本。
# 更新helm库,将k10的chart抓到本地来
$ helm repo update && \
helm fetch kasten/k10
# 上面命令中,kasten就是repo名字,而k10就是chart名字
- 在Kubernetes群集中创建kasten-io的namespace。
# 创建名称为“kasten-io”的命名空间
$ kubectl create namespace kasten-io
- 使用国内镜像ccr.ccs.tencentyun.com/kasten/ 安装k10的4.0.2版本。
# 使用helm安装kasten k10
$ helm install k10 k10-4.0.2.tgz --namespace kasten-io \
--set global.airgapped.repository=ccr.ccs.tencentyun.com/kasten
# 上面命令中,k10就是chart名字,而repo就没有指定,直接使用了下载下来的tgz压缩包中的内容,不需要再去repo中找相关chart了。
- 由于整个安装过程,会自动去指定的容器镜像库中抓取容器镜像,比如我们这个例子就是去腾讯国内镜像ccr.ccs.tencentyun.com/kasten/ 中抓k10镜像,因此会需要等待一段时间,在这段等待的过程中,可以用以下命令来查询k10的所有pod的状态。
# 查询k10状态
$ watch -n 2 "kubectl get pod -n kasten-io"
- 等到所有pod状态都是running的时候,就可以Ctrl+C来终止这条命令了。
- 安装过程到此结束,接下去就是通过图形化界面来进行k10的使用了,访问Dashboard需要将k10的服务从Kubernetes中暴露出来,方法有很多,这里说一个最简单的,我自己测试时候最常用的。
# 后台运行命令,通过kubectl将k10仪表盘的网页服务发布出来。
$ kubectl -n kasten-io port-forward --address 0.0.0.0 svc/gateway 8080:8000 > /dev/null 2>&1 &
- 通过网页浏览器访问 http://cluster ip:8080/k10/#/就能访问k10,愉快的玩耍了。
好了,以上就是今天Kasten K10的第二课内容,感谢阅读,欢迎动手装一装玩一把。