跳至主要內容

部署Dashboard和CoreDNS

Zenghr大约 2 分钟kubernetes

部署Dashboard和CoreDNS

一、部署Dashboard

1.1 Dashboard简介

Dashboard 是基于网页的 Kubernetes 用户界面。您可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。您可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源(如 Deployment,Job,DaemonSet 等等)。例如,您可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。

Dashboard 同时展示了 Kubernetes 集群中的资源状态信息和所有报错信息。

ui-dashboard
ui-dashboard

1.2 下载 YAML 文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
# 默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:
vim recommended.yaml
# 修改如下
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  type: NodePort
  selector:
    k8s-app: kubernetes-dashboard
    
# 启动服务
kubectl apply -f recommended.yaml
# 查看
kubectl get pods,svc -n kubernetes-dashboard

访问地址:https://NodeIP:30001open in new window

二、部署 DNS

2.1 coreDNS简介

服务发现是 K8s 的一项很重要的功能。K8s 的服务发现有两种方式,一种是将 svc 的 ClusterIP 以环境变量的方式注入到 pod 中;一种就是 DNS,从 1.13 版本开始,coreDNS 就取代了 kube dns 成为了内置的 DNS 服务器。

2.2 下载部署脚本

git clone https://github.com/coredns/deployment.git
cd deployment/kubernetes

2.3 部署

总体流程是我们使用 deploy.sh 生成 yaml 并保存成 coredns.yaml 文件并执行 kubectl apply -f coredns.yaml 进行部署 ,如果要卸载,执行 kubectl delete -f coredns.yaml

deploy.sh 脚本依赖 jq 命令,所以先确保 jq 已安装: apt install -y jq

提示

如果集群中没有 kube-dns 或低版本 coredns,我们直接用 -i 参数指定集群 DNS 的 CLUSTER IP,这个 IP 是安装集群时就确定好的,可以在 kubeletclusterDNS 配置设置,示例:

./deploy.sh -i 10.0.0.2 > coredns.yaml
kubectl apply -f coredns.yaml
# 查看是否部署成功
kubectl get pods -n kube-system 
>
NAME                          READY   STATUS    RESTARTS   AGE
coredns-5ffbfd976d-j6shb      1/1     Running   0          32s