跳至主要內容

常见问题

技术中心大约 1 分钟

常见问题

  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:NoScheduleopen in new window 下。

2. 找到要去除污点的节点名称。

3. 使用以下命令去除节点上的污点:
```shell
   kubectl taint nodes <节点名称> <污点键>:<污点值>
  # 示例:
   kubectl taint nodes master node-role.kubernetes.io/master:NoSchedule-
```
  1. 验证节点上的污点是否已被成功去除:
```shell
  kubectl describe nodes <节点名称>
  # 示例:master节点
  kubectl describe nodes master
```

当tains 显示为none时,污点已经被移除。

taint.png

注意:去除污点会导致Pod在节点上调度,因此请谨慎操作,确保节点上的Pod可以正常运行。