文章目录
- 背景
- 环境准备
- 参考连接
- 问题1:windows如何配置kiali开发环境
- 问题2:kiali如何配置k8s连接
- 问题3:kiali启动报错
- 关键词:方便你们找到我
背景
kiali(凯莉)是istio技术对应的管理系统,其前端为ts、react技术,后端为go语言。本文介绍在windows搭建开发环境中遇到的问题。
环境准备
需要一个远程的k8s环境,安装上istio和kiali;需要在本地安装go环境;
参考连接
- 官方给了一个本地搭建的指南,不过说明比较简单
- 源代码
问题1:windows如何配置kiali开发环境
官方kiali-core部分的截图,是linux系统的,这里给一个windows的,config.yaml我在源码里没找到,直接从上面拷贝一份下来,环境变量改成你的k8s的地址和端口。如下图:
问题2:kiali如何配置k8s连接
上面配置好了启动还会报错,原因是找不到token所在的路径,kiali通过ca证书和token来连接k8s的api server。
系统默认的路径是/var/run/secrets/kubernetes.io/serviceaccount/token
,针对windows,根目录就是我们的C盘或D盘,如果你是在D盘,则对应的目录就是D:\\var/run/secrets/kubernetes.io/serviceaccount/token
ca和token从k8s的secrets里找,例如执行命令:kubectl -n istio-system get secrets istio-ca-secret -oyaml
,如下图中两个key后面的一大串就是,需要base64解码后就是文件的内容。
问题3:kiali启动报错
- 可能是token权限不足,会提示 forbidden user之类的
- 可能是istio与kiali版本不对应,如下图。ps:我这里istio是1.30 kiali是1.49。
图中看到提示获取不到资源的信息,v1beta1,而从k8s里看则是v1alpha3
于是从master分支切换到1.49分支,代码里显示也变成了v1alpha3,再次启动,ok了。
关键词:方便你们找到我
kiali developement
setup kiali on windows
ca.crt: data does not contain any valid RSA or ECDSA certificates
(ca没弄对)
Error initializing Kiali Cache. Details: open /var/run/secrets/kubernetes.io/serviceaccount/token: The system cannot find the path specified.
failed to list *v1beta1.WorkloadGroup: the server could not find the requested resource (get workloadgroups.networking.istio.io)
reflector.go:167