使用之前的话
Skoala 的微服务治理和微服务是强依赖的 Ghippo、Insight 和 Kpanda 作为基石;同时 Skoala 也支持了 Mesh 服务治理能力,所以也需要 Mspider。 为了保证良好的使用体验,以及减少不可预知的部署问题,请确认以上组件均可正常工作。
检测方式一
访问 UI 界面环境,可以在左侧导航栏能够正确看到所有模块,并且可以正常使用。
检测方式二
通过终端查看集群内的 apiserver 是否正常,检查服务 Pod 是否正常运行
# 检测 ghippo
~ kubectl -n ghippo-system get pods | egrep "apiserver|ui"
ghippo-apiserver-589c4ddcf6-cmct7 3/3 Running 0 17h
ghippo-apiserver-589c4ddcf6-sts8t 3/3 Running 0 17h
ghippo-ui-7ddddc548c-nsbkj 2/2 Running 0 94m
# 检查 kpanda
~ kubectl -n kpanda-system get pods | egrep "apiserver|ui"
kpanda-apiserver-695b76f476-kdb8l 2/2 Running 0 5m56s
kpanda-apiserver-695b76f476-mvllg 2/2 Running 0 7m51s
kpanda-clusterpedia-apiserver-574d49c4c-hptm7 2/2 Running 0 74m
kpanda-clusterpedia-apiserver-574d49c4c-mjm84 2/2 Running 0 74m
kpanda-ui-5f9586d49b-f4mn2 2/2 Running 0 66m
kpanda-ui-5f9586d49b-qpgwd 2/2 Running 0 66m
# 检查 Insight
~ kubectl -n insight-system get pods | egrep "server|ui"
insight-server-5bbc96bb94-n2wc7 1/1 Running 0 174m
insight-ui-66b6795c44-zm6qj 1/1 Running 0 3h38m
# 检查 mspider
~ kubectl -n mspider-system get pods | egrep "api|ui"
mspider-api-service-7d96c6798-mljst 2/2 Running 0 3h20m
mspider-ui-6f5d58cdc6-59hbn 2/2 Running 0 170m
mspider-work-api-684b75dccb-4659g 2/2 Running 0 3h20m
配置 skoala helm repo
配置好 skoala 仓库,即可查看和获取到 skoala 的应用 chart
helm repo add skoala-release https://release.daocloud.io/chartrepo/skoala
helm repo update
需要实现安装 Helm
安装依赖 mysql
在安装 skoala 的组件时,hive 和 sesame 需要用到 mysql 组件,所以这里需要预先安装一下 mysql,执行下方 yaml。
# 使用如下命令
kubectl -n skoala-system apply -f skoala-mysql.yml
# 保存到 skoala-mysql.yml 文件
~ cat skoala-mysql.yml
apiVersion: v1
kind: Service
metadata:
name: skoala-mysql
namespace: skoala-system
spec:
ports:
- port: 3306
selector:
app: mysql
clusterIP: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: skoala-mysql
namespace: skoala-system
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: release.daocloud.io/skoala/mysql:5.7.32
name: mysql
env:
# Use secret in real usage
- name: MYSQL_ROOT_PASSWORD
value: password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
- 注意修改以上,mysql 的密码。
初始化 mysql
登录到 pod 内,并成功登录到 mysql 内
kubectl -n skoala-system exec pods/`kubectl -n skoala-system get pods | grep skoala-mysql | awk '{print $1}'` -it bash
初始化数据库表
- 获取到 mysql 的初始化脚本文件,https://gitlab.daocloud.cn/ndx/skoala/-/tree/main/app/hive/db
- 依次查看对应的文件,并放在 mysql 中执行
注意把对应的版本,建议使用最新的版本,这里建议 v0.6.1
helm upgrade --install skoala --create-namespace -n skoala-system --cleanup-on-fail \
--set image.tag=v0.6.1 \
skoala/skoala-agent \
--version 0.6.1
这里会将资源部署到 skoala-system 命名空间内,可以通过查看该命名空间内的资源来查看是否部署成功。
~ kubectl -n skoala-system get pods
NAME READY STATUS RESTARTS AGE
hive-96b58785c-shhnh 0/1 Running 0 23h
sesame-cdd894f74-l55hw 0/1 Running 0 23h
ui-7df9754f85-v2gg5 1/1 Running 0 23h