kubectl edit configmap kube-dns Error from server (NotFound): configmaps "kube-dns" not found
时间: 2024-03-14 15:48:00 浏览: 200
如果出现 `NotFound` 的错误,则意味着名为 `kube-dns` 的 ConfigMap 在 `kube-system` 命名空间中不存在。您可以使用以下命令检查 ConfigMap 是否存在:
```
kubectl get configmap kube-dns -n kube-system
```
如果该命令返回 `NotFound`,则表示 ConfigMap 不存在。您可以尝试使用以下命令创建它:
```
kubectl create configmap kube-dns --from-literal="nameserver=223.6.6.6" --from-literal="nameserver=8.8.4.4" -n kube-system
```
这将在 `kube-system` 命名空间中创建一个名为 `kube-dns` 的 ConfigMap,并添加您想要设置的 DNS 服务器。然后,您可以使用 `kubectl edit` 命令编辑该 ConfigMap,更新 `nameserver` 键的值。
相关问题
kubectl create configmap kube-dns --from-literal="nameserver=223.6.6.6" --from-literal="nameserver=8.8.4.4" error: cannot add key "nameserver", another key by that name already exists in Data for ConfigMap "kube-dns"
这个错误的原因是您已经创建了一个名为 `kube-dns` 的 ConfigMap,并且其中已经包含了一个名为 `nameserver` 的键。您可以使用以下命令来更新 `kube-dns` ConfigMap 来添加新的 DNS 服务器:
```
kubectl edit configmap kube-dns
```
找到 `data` 部分,并添加 `nameserver=223.6.6.6` 和 `nameserver=8.8.4.4`,如下所示:
```
apiVersion: v1
kind: ConfigMap
metadata:
name: kube-dns
namespace: kube-system
data:
Corefile: |
.:53 {
forward . /etc/resolv.conf
errors
health
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
proxy . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
nameserver: |
223.6.6.6
8.8.4.4
```
保存并退出编辑器,然后重启 kube-dns:
```
kubectl delete pod -l k8s-app=kube-dns -n kube-system
```
等待一段时间,直到 kube-dns Pod 重新启动并运行。然后,您应该能够使用 `curl` 命令访问其他节点的 IP 地址。
kubectl create configmap kube-dns \ --from-literal="nameserver=223.6.6.6" \ --from-literal="nameserver=8.8.4.4" error: exactly one NAME is required, got 3 See 'kubectl create configmap -h' for help and examples
抱歉,这是我的失误。正确的命令应该是:
```
kubectl create configmap kube-dns --from-literal="nameserver=223.6.6.6" --from-literal="nameserver=8.8.4.4"
```
也就是说,不需要在每个参数前面添加反斜杠。这个命令应该在 Kubernetes 集群的 master 节点上运行,这将在集群中创建一个名为 `kube-dns` 的 ConfigMap。这个 ConfigMap 包含您想要设置的 DNS 服务器。
阅读全文