AWS的ESK启用插件kubesphere Devops异常 namespaces "kubesphere-devops-worker" not found
chilianyi # kubectl api-versions | grep batch/v1
batch/v1
batch/v1beta1kubectl version
ks-installer-758d459599-592×9:/kubesphere$ kubectl api-versions | grep batch/v1
batch/v1
ks-installer-758d459599-592×9:/kubesphere$ kubectl version
Client Version: version.Info{Major:“1”, Minor:“23”, GitVersion:“v1.23.7”, GitCommit:“42c05a547468804b2053ecf60a3bd15560362fc2”, GitTreeState:“clean”, BuildDate:“2022-05-24T12:30:55Z”, GoVersion:“go1.17.10”, Compiler:“gc”, Platform:“linux/amd64”}
Server Version: version.Info{Major:“1”, Minor:“26+”, GitVersion:“v1.26.7-eks-2d98532”, GitCommit:“c9c3fc1fdf677f38b8d26568c10b921a1235fa43”, GitTreeState:“clean”, BuildDate:“2023-07-28T16:51:21Z”, GoVersion:“go1.20.6”, Compiler:“gc”, Platform:“linux/amd64”}
WARNING: version difference between client (1.23) and server (1.26) exceeds the supported minor version skew of +/-1
请大神抽空再帮看看,做最后的努力 了
kubesphere/ks-devops#998
你好,是个 bug,错误的识别了 k8s 的版本,导致安装时,cronjob 用了 batch/v1beta1, 但 k8s 1.26 里已经只有 batch/v1 没有 batch/v1beta1 了, 导致安装失败。
目前已经做了修复,在 helm chart 中,kubesphere-sigs/ks-devops-helm-chart#122/files
晚些 会提供下 新的 helm chart,到时 更新下 ks-installer 中对应的 helm 包,就可以正常安装了。
YyudongK零S
panpan 你好,经过我们测试发现是创建 cronjob 的 apiversion 有问题,在 chart 包里的比较当前 k8s 版本没有生效;针对 ks 3.4.0 麻烦先参考下面步骤,先临时手动修复下,后面会在新版本 3.4.1 修复此问题:
- 编辑 ks-installer deployment,修改 securityContext.runAsUser 为 0,以 root 用户运行 ks-installer:
kubectl -n kubesphere-system edit deployments.apps ks-installer
- 下载更新后的 ke-devops helm 包 ks-devops-0.2.1.tgz
- 等待 ks-installer 重启完成之后,替换 helm 包:
kubectl -n kubesphere-system cp ks-devops-0.2.1.tgz $(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath='{.items[0].metadata.name}'):/kubesphere/installer/roles/ks-devops/files/ks-devops/charts/
- 重新开启 ks-devops 组件
kubectl -n kubesphere-system edit cc ks-installer
如果 status.devops 存在,删除 status.devops,即删除截图中的三行;
修改 spec.devops 配置里任意一项,如图中的 jenkinsCpuReq ,触发重新安装 DevOps 即可;
**************************************************
Waiting for all tasks to be completed …
task network status is successful (⅕)
task multicluster status is successful (⅖)
task openpitrix status is successful (⅗)
task devops status is successful (⅘)
task monitoring status is successful (5/5)
**************************************************
我按照上面的方法把devops创建成功了,但是为什么kubesphere中的devops导航栏为空呢?
麻烦帮忙看下
YyudongK零S
laozhou333 执行下命令 kubectl -n kubesphere-devops-system get pod
看下 devops 相关服务的状态 ?
kubectl -n kubesphere-devops-system get pod
No resources found in kubesphere-devops-system namespace.
是空的,环境是aws eks 1.28。
在此之前是有两个问题:
- 开启devops功能后,报错kubesphere-devops-worker not found,参照上面的解决方案替换helm包为ks-devops-0.2.1.tgz 并手动创建namespace后解决了
- monitoring 安装failed,参考 https://ask.kubesphere.io/forum/d/9338-kubesphere/17 基于ks-installer:v3.3.2镜像,修改了镜像配置后也解决了
接着就碰到了上面反馈的问题,安装均成功,但devops导航栏为空,namespace中也没有任何资源。
YyudongK零S
laozhou333 这个可能是之前安装 devops 失败了,但是 ClusterConfiguration status 里 DevOps 是 enabled ,ks-installer 认为已经安装了,所以没有再安装了;可以重新安装 DevOps :
执行下面命令编译 ClusterConfigurations ks-installer 文件,清理删除 status.devops
kubectl -n kubesphere-system edit clusterconfigurations.installer.kubesphere.io ks-installer
然后在重启下 ks-installer 服务就可以重新安装了。
删除ClusterConfigurations 中status.devops部分后,重启kubectl -n kubesphere-system rollout restart deploy ks-installer,cp ks-devops-0.2.1.tgz的包
kubectl -n kubesphere-system cp ks-devops-0.2.1.tgz $(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath=‘{.items[0].metadata.name}’):/kubesphere/installer/roles/ks-devops/files/ks-devops/charts/
安装完成:
Waiting for all tasks to be completed …
task network status is successful (⅕)
task multicluster status is successful (⅖)
task openpitrix status is successful (⅗)
task devops status is successful (⅘)
task monitoring status is successful (5/5)
但devops仍然为空,麻烦再帮忙看看