背景

kiali是istio技术对应的管理系统,其前端为ts、react技术,后端为go语言。本文介绍在windows搭建开发环境中遇到的问题。

环境准备

需要一个远程的k8s环境,安装上istio和kiali;需要在本地安装go环境;

参考连接

  1. 官方给了一个本地搭建的指南,不过说明比较简单
  2. 源代码

问题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启动报错

  1. 可能是token权限不足,会提示 forbidden user之类的
  2. 可能是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

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐