五、部署Dashboard和CoreDNS

1、部署 coredns

1.1 下载Dashboard的yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/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
1.2 部署Dashboard服务
# kubectl apply -f recommended.yaml
# kubectl get pods,svc -n kubernetes-dashboard
NAME                                             READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-694557449d-pzjvv   1/1     Running   0          20s
pod/kubernetes-dashboard-9774cc786-8mprh         1/1     Running   0          20s

NAME                                TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.0.0.230   <none>        8000/TCP        20s
service/kubernetes-dashboard        NodePort    10.0.0.24    <none>        443:30001/TCP   20s

访问地址:https://NodeIP:30001

1.3 创建service account并绑定默认cluster-admin管理员集群角色
# kubectl create serviceaccount dashboard-admin -n kube-system


# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin


# kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

使用输出的token登录Dashboard。

2、 部署CoreDNS

2.1 CoreDNS用于集群内部Service名称解析。

2.1 生成CoreDNS的yaml文件
mkdir /opt/tools/coredns &&  cd /opt/tools/coredns/
 
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/coredns.yaml.sed
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/deploy.sh
chmod +x deploy.sh

./deploy.sh -i 10.0.0.2 > coredns.yml

注:10.0.0.2应该是k8s集群中pod地址段中的IP

注:生成CoreDNS的yaml文件需要jq命令

CentOS7安装 jq

#安装EPEL源:
yum install epel-release

#安装jq:
yum install jq
2.2 部署coredns服务
kubectl apply -f coredns.yml 
查看coredns服务是否成功创建
# kubectl get pods -n kube-system 
NAME                          READY   STATUS    RESTARTS   AGE
coredns-6fdfb45d56-qv8hl      1/1     Running   0          2m7s
kube-flannel-ds-amd64-bnbrf   1/1     Running   3          43h
kube-flannel-ds-amd64-mtn2f   1/1     Running   2          44h
2.3 DNS解析测试
# kubectl run -it --rm dns-test --image=busybox:1.28.4 sh
If you don't see a command prompt, try pressing enter.
/ # nslookup kubernetes
Server:    10.0.0.2
Address 1: 10.0.0.2 kube-dns.kube-system.svc.cluster.local

Name:      kubernetes
Address 1: 10.0.0.1 kubernetes.default.svc.cluster.local

解析没问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值