常见问题
大约 1 分钟
常见问题
- k8s 集群模式下,从节点执行命令失败:
kubectl get podThe connection to the server localhost:8080 was refused
解决方法:
(1)在master节点进入/etc/kubernetes目录下,下载admin.conf文件;
(2)将admin.conf文件上传到node节点的 /etc/kubernetes目录下;
(3)配置环境变量,并生效,依次执行如下命令:
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
(4)执行kubectl命令验证,kubectl version,可以看到能成功执行kubectl命令;
2. master节点默认不参与负载调度,要想master主节点参与负载,需要去污点操作:
1. 查看当前集群中的污点:shell kubectl describe nodes
在输出中找到带有污点标记的节点。 默认是在 taint :node-role.kubernetes.io/master:NoSchedule 下。
2. 找到要去除污点的节点名称。
3. 使用以下命令去除节点上的污点:
```shell
kubectl taint nodes <节点名称> <污点键>:<污点值>
# 示例:
kubectl taint nodes master node-role.kubernetes.io/master:NoSchedule-
```
- 验证节点上的污点是否已被成功去除:
```shell
kubectl describe nodes <节点名称>
# 示例:master节点
kubectl describe nodes master
```
当tains 显示为none时,污点已经被移除。
注意:去除污点会导致Pod在节点上调度,因此请谨慎操作,确保节点上的Pod可以正常运行。