作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图列出在operator-SDK运算符中设置为不可调度的所有节点。通常(1.12之前)这意味着它们已设置spec.unscheduleable
。所以我尝试了这个:
nodes := &corev1.NodeList{}
opts := &client.ListOptions{}
if err := opts.SetFieldSelector("spec.unschedulable=true"); err != nil {
reqLogger.Info("Failed to set field selector")
}
2019-04-23T10:19:39.761-0700 ERROR kubebuilder.controller Reconciler error {"controller": "node-controller", "request": "/nodename", "error": "Index with name field:spec.unschedulable does not exist"}
kubectl get nodes --field-selector="spec.unschedulable=true"
nodes := &corev1.NodeList{}
opts := &client.ListOptions{
Raw: &metav1.ListOptions{
FieldSelector: "spec.unschedulable=true",
},
}
最佳答案
根据Controller Runtime文档,使用原始选项不适用于缓存。
相反,您应该在 Controller 初始化期间将所需的字段添加到索引:
idx := myManager.GetFieldIndexer()
idx.IndexField(&corev1.Node{}, "spec.unschedulable", func(o runtime.Object) []string {
return []string{fmt.Sprintf("%v", o.(*corev1.Node).Spec.Unschedulable)}
})
关于kubernetes - 在operator-SDK/client-go中按污点列出无法调度的kubernetes节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55816640/
所以可以使用kubectl taint及其对应的容忍度,以限制 Kubernetes pod 被调度到/不被调度到特定节点上。但是我目前找不到配置谷歌云的方法,以便污点设置在节点创建过程中持续存在。可
我正在尝试运行在 Docker 桌面上下文中运行的本地开发 kubernetes 集群。但它一直有以下污点:node.kubernetes.io/not-ready:NoSchedule。 手动删除污
我是一名优秀的程序员,十分优秀!