Closed JaydenChang closed 7 months ago
问题一:/mnt/d/src/go_work/customScheduler/scheduler.conf 这个路径是我本地的kube-scheduler(或者custom scheduler)的配置文件,这个不是作为 k8s api的,是随kube-scheduler(或者custom scheduler)启动时配置 问题2:我之前打的镜像有些问题,后面没有在看了,直接用二进制启动的,如果你要用容器方式启动的话,需要有集群管理员权限才可以,这个报错的问题就是serviceaccount没有对应资源的权限
已回复
Best regards.
寄件者: Jayden Chang @.> 寄件日期: 2024年2月29日 17:53 收件者: cylonchau/customScheduler @.> 副本: Subscribed @.***> 主旨: [cylonchau/customScheduler] 部署阶段的 yaml 配置文件看不太懂 (Issue #3)
一个是 scheduler 的 profile 里的 /mnt/d/src/go_work/customScheduler/scheduler.conf,这个对应的是自己集群里的 /etc/kubernetes/scheduler.conf 吗,是需要在打镜像时把这个文件也放在和 Dockerfile 同一级目录下吗 然后这个 scheduler 的 profile,好像是不可以 使用 kubectl apply 这个命令去添加的吧,应该是要放在镜像里给 编译后的二进制文件去识别的吧 然后就是我使用了你后面写的有 rbac 和 image deployment 的 yaml 配置生成 deployment,进入 custom-scheduler 容器的 logs 查看,发现一个错误,,具体为:
I0229 09:50:46.208421 1 reflector.go:243] Listing and watching *v1.ConfigMap from @./tools/cache/reflector.go:156 E0229 09:50:46.209875 1 reflector.go:127] @./tools/cache/reflector.go:156: Failed to watch v1.ConfigMap: failed to list v1.ConfigMap: configmaps "extension-apiserver-authentication" is forbidden: User "system:serviceaccount:kube-system:scheduler-sa" cannot list resource "configmaps" in API group "" in the namespace "kube-system"
我大概是在哪一步配置出现了问题呢
― Reply to this email directly, view it on GitHubhttps://github.com/cylonchau/customScheduler/issues/3, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHDSYB4DM43HLE6JE2BWF23YV35DNAVCNFSM6AAAAABD7TIXAGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE3DAOBVG42TGMA. You are receiving this because you are subscribed to this thread.Message ID: @.***>
上面两个解决了,给原来的ServiceAccount也添加了合适的权限,关闭原来的kube-scheduler的也找到了方法,挪走 /etc/kubernetes/manifests/kube-scheduler.yaml
即可。
现在出现了一个新的问题,用容器部署和二进制启动都有一个新bug:
I0304 06:15:51.121046 9652 reflector.go:243] Listing and watching *v1beta1.PodDisruptionBudget from pkg/mod/k8s.io/client-go@v0.19.10/tools/cache/reflector.go:156
E0304 06:15:51.122681 9652 reflector.go:127] pkg/mod/k8s.io/client-go@v0.19.10/tools/cache/reflector.go:156: Failed to watch *v1beta1.PodDisruptionBudget: failed to list *v1beta1.PodDisruptionBudget: the server could not find the requested resource
这个问题我看GitHub上有类似的issue,好像是在新版本移除了某API,但是好像没有给出相应的解决方案,不知道大佬之前有没有遇到过。
噢看了下你的go.mod,用的比较旧版本的包,可能是这个原因吧
是的,api版本应该更新了,需要用hack切换1.25,但是,可能1.25用的framework也变了,可以用新版本framework重构 Best regards
寄件者: Jayden Chang @.> 寄件日期: 2024年3月4日 14:52 收件者: cylonchau/customScheduler @.> 副本: Cylon @.>; Comment @.> 主旨: Re: [cylonchau/customScheduler] 部署阶段的 yaml 配置文件看不太懂 (Issue #3)
噢看了下你的go.mod,用的比较旧版本的包,可能是这个原因吧
― Reply to this email directly, view it on GitHubhttps://github.com/cylonchau/customScheduler/issues/3#issuecomment-1975848792, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHDSYB4YWNYYVN2EYEUAT23YWQK3TAVCNFSM6AAAAABD7TIXAGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVHA2DQNZZGI. You are receiving this because you commented.Message ID: @.***>
v1beta1应该新版本api移除了
Best regards
寄件者: Jayden Chang @.> 寄件日期: 2024年2月29日 17:53 收件者: cylonchau/customScheduler @.> 副本: Subscribed @.***> 主旨: [cylonchau/customScheduler] 部署阶段的 yaml 配置文件看不太懂 (Issue #3)
一个是 scheduler 的 profile 里的 /mnt/d/src/go_work/customScheduler/scheduler.conf,这个对应的是自己集群里的 /etc/kubernetes/scheduler.conf 吗,是需要在打镜像时把这个文件也放在和 Dockerfile 同一级目录下吗 然后这个 scheduler 的 profile,好像是不可以 使用 kubectl apply 这个命令去添加的吧,应该是要放在镜像里给 编译后的二进制文件去识别的吧 然后就是我使用了你后面写的有 rbac 和 image deployment 的 yaml 配置生成 deployment,进入 custom-scheduler 容器的 logs 查看,发现一个错误,,具体为:
I0229 09:50:46.208421 1 reflector.go:243] Listing and watching *v1.ConfigMap from @./tools/cache/reflector.go:156 E0229 09:50:46.209875 1 reflector.go:127] @./tools/cache/reflector.go:156: Failed to watch v1.ConfigMap: failed to list v1.ConfigMap: configmaps "extension-apiserver-authentication" is forbidden: User "system:serviceaccount:kube-system:scheduler-sa" cannot list resource "configmaps" in API group "" in the namespace "kube-system"
我大概是在哪一步配置出现了问题呢
― Reply to this email directly, view it on GitHubhttps://github.com/cylonchau/customScheduler/issues/3, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHDSYB4DM43HLE6JE2BWF23YV35DNAVCNFSM6AAAAABD7TIXAGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE3DAOBVG42TGMA. You are receiving this because you are subscribed to this thread.Message ID: @.***>
一个是 scheduler 的 profile 里的
/mnt/d/src/go_work/customScheduler/scheduler.conf
,这个对应的是自己集群里的/etc/kubernetes/scheduler.conf
吗,是需要在打镜像时把这个文件也放在和 Dockerfile 同一级目录下吗 然后这个 scheduler 的 profile,好像是不可以 使用 kubectl apply 这个命令去添加的吧,应该是要放在镜像里给 编译后的二进制文件去识别的吧 然后就是我使用了你后面写的有 rbac 和 image deployment 的 yaml 配置生成 deployment,进入 custom-scheduler 容器的 logs 查看,发现一个错误,,具体为:我大概是在哪一步配置出现了问题呢