如何在 minikube 上安装 kube-dns?

Dav*_*ton 1 kubernetes

我看过如何为 minikube 安装 kube-dns 插件?但问题是在这个问题中,插件已安装。然而当我写的时候

minikube addons list

我得到以下信息:

- addon-manager: enabled - dashboard: enabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: disabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled

其中没有一个是 kube-dns。在任何地方都找不到说明,因为默认情况下应该在那里,那么我错过了什么?

编辑这是在 Ubuntu 18.04 上运行的 minikube v1.0.1。

Pjo*_*erS 5

您提到的 StackOverflow 案例是 2017 年的,所以有点过时了。

根据文档,推荐使用 CoreDNS 代替 kube-dns 的 DNS 服务器。有一个过渡期,KubeDNS 和 CoreDNS 并行部署,但在最新版本中仅部署 CoreDNS。

默认情况下Minikube使用 CoreDNS 创建 2 个 Pod。验证执行:

$ kubectl get pods -n kube-system
NAME                               READY   STATUS    RESTARTS   AGE
coredns-5c98db65d4-g4vs2           1/1     Running   1          20m
coredns-5c98db65d4-k4s7v           1/1     Running   1          20m
etcd-minikube                      1/1     Running   0          19m
kube-addon-manager-minikube        1/1     Running   0          20m
kube-apiserver-minikube            1/1     Running   0          19m
kube-controller-manager-minikube   1/1     Running   0          19m
kube-proxy-thbv5                   1/1     Running   0          20m
kube-scheduler-minikube            1/1     Running   0          19m
storage-provisioner                1/1     Running   0          20m
Run Code Online (Sandbox Code Playgroud)

您还可以看到有 CoreDNS 部署。

$ kubectl get deployments coredns -n kube-system
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
coredns   2/2     2            2           37m
Run Code Online (Sandbox Code Playgroud)

在这里您可以找到两个 DNS 之间的比较。

简而言之,您没有错过任何事情。CoreDNS 在minikube start.