nodes are available: 1 node(s) had taints that the pod didn‘t tolerate
首先、异常的发现
Troubleshooting was easy... kubectl describe node <node> revealed the taint, and figuring out the required configuration change was simple.
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
homelab Ready master 23h v1.17.0$ kubectl describe node homelab
Name: homelab
Roles: master
Labels: beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkubernetes.io/arch=amd64kubernetes.io/hostname=homelabkubernetes.io/os=linuxnode-role.kubernetes.io/master=
Annotations: kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock node.alpha.kubernetes.io/ttl: 0volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Sat, 28 Dec 2019 13:28:27 -0800
Taints: node-role.kubernetes.io/master:NoSchedule
Unschedulable: false
官方描述
And there it is – by default, kubeadm init configured this node as a Kubernetes master, which would normally take care for managing other Kubernetes "worker" (or "non-master") nodes. The Kubernetes Concepts documentation describes the distinction between the Kubernetes master and non-master nodes as follows:
The Kubernetes Master is a collection of three processes that run on a single node in your cluster, which is designated as the master node. Those processes are: kube-apiserver, kube-controller-manager and kube-scheduler.Each individual non-master node in your cluster runs two processes:kubelet, which communicates with the Kubernetes Master.kube-proxy, a network proxy which reflects Kubernetes networking services on each node.
So anyway, as soon as I saw node-role.kubernetes.io/master:NoSchedule I began nodding my head, realizing what the issue was. One Google search returned me straight back to the very installation guide I followed I had skimmed over, and the instruction I had skipped:
Control plane node isolation
By default, your cluster will not schedule pods on the control-plane node for security reasons. If you want to be able to schedule pods on the control-plane node, e.g. for a single-machine Kubernetes cluster for development, run:kubectl taint nodes --all node-role.kubernetes.io/master-
With output looking something like:
node "test-01" untainted taint "node-role.kubernetes.io/master:" not found taint "node-role.kubernetes.io/master:" not found
This will remove the node-role.kubernetes.io/master taint from any nodes that have it, including the control-plane node, meaning that the scheduler will then be able to schedule pods everywhere.
So... one quick kubectl taint nodes --all node-role.kubernetes.io/master- command later, and my single-node K8s cluster was now actually useful for running pods!
NOTE: there's a LOT more output from kubectl describe node <node> that this; I'm just trimming the rest for brevity; all we needed was this clue about the configured Taints.
nodes are available: 1 node(s) had taints that the pod didn‘t tolerate相关推荐
- 『已解决』0/1 nodes are available: 1 node(s) had taints that the pod didn‘t tolerate.
- k8s报错1 node(s) had taints that the pod didn‘t tolerate
这是由于我们在自己pod的yaml中没有添加容忍,加入容忍就可以了,可以看我之前的博客 这里再补充一下 当不清楚集群中node的污点时,可以用以下命令查看和删除污点 kubectl describe ...
- Kubernetes default-scheduler 0/2 nodes are available: 2 node(s
K8S pod 调度失败 问题 解决问题 问题 这个问题其实很简单,因为deployment(或其他控制器)或Pod的yaml文件中使用了nodeSelector,例如:下面的这个yaml文件: ...
- 缩放节点池 0/1 nodes are available: 1 node(s) didn‘t match Pod‘s node affinity.
今天程序出问题了,某个namespace下的所有的Pods, 全部出于pending状态, 0/1 nodes are available: 1 node(s) didn't match Pod's ...
- 如何调整 k8s Node节点的最大可运行Pod数量
环境介绍: Ubuntu 20.04.3 LTS kubeadm安装的k8s集群1.21.8 Kubernetes Node节点默认允许最多创建110个Pod,如何调整Node节点的最大可运行Pod数 ...
- default-scheduler 0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/disk-pressure: }
基于污点的驱逐 FEATURE STATE: Kubernetes v1.18 [stable] 前文提到过污点的 effect 值 NoExecute会影响已经在节点上运行的 Pod 如果 Pod ...
- kubectl查看node状态_K8S故障排除方法 - 笃行之 - 博客园
1.查看pods哪些是有问题的,Runningg正常,其他异常: /opt/kubernetes/bin/kubectl get pods --all-namespaces -owide NAMESP ...
- 使用kubeadm 安装 kuberntes 1.13.3
# kubeadm安装kubernetes步骤说明: ## 第一步 ### 准备系统环境 - Repo仓库准备 1. docker-ce.repo 2. kubernetes.repo - 停用服务 ...
- CentOS7系统上Kubernetes集群搭建
虚拟机创建 在自己的Mac系统里面利用Parallels Desktop创建3台虚拟机,具体信息如下: CentOS7-Node1: 10.211.55.7 parallels/centos-test ...
最新文章
- Android 微信支付步骤
- One order save debug screenshot
- linux配置iscsi无账号密码,linux配置ISCSI服务器的方法
- 华为路由器http诊断失败_高端家庭的标配,华为路由Q2 Pro是路由器中的吴彦祖...
- mysql中的页与磁盘关系_数据库和磁盘阵列的关系
- P2P网贷第三方托管模式存在5大缺陷,护法是最大的赢家
- 函数的非固定参数,默认参数,参数组
- 【机器学习】模型优化改进建议
- 使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!
- canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
- 群晖万兆文件服务器,NAS进阶 篇三:2019年最具性价比的NAS硬件是什么暨黑群晖万兆搭建经验介绍...
- 51单片机的蜂鸣器写歌的音阶
- 2022年甘肃省安全员B证判断题及在线模拟考试
- mysql 导入工具 php_MySQL数据导入导出方法与工具介绍_PHP教程
- java forward怎么用_【后端开发】java中forward是什么
- 一般看不见的机械原理
- 利用百度地图api将excel中的经纬度数据可视化
- 我是阿圆,我们明年见。
- python_numpy_计算对数收益率和还原问题
- 总结java重载和重写的区别
热门文章
- 临床试验中edc录入_临床试验中使用EDC的情况?
- 加载组件Already included file name ‘e:/Vuejs/组件/单文件组件/vue_test/src/components/Message.vue‘ differs from
- Linux系统:基础IO
- windows 如何批量修改文件后缀名?
- Java 并发编程之美:并发编程高级篇之一
- 【云原生】K8s简介之什么是K8s
- 回文子串是什么意思?
- Java代码实现MD5加密的两种方式
- starcraft2 html 资源,最新HTML5版星际争霸完全版源码
- css图片适应盒子大小