十八,Kubernetes_v1.14.2插件CoreDNS

一,创建解压目录

kubernetes-server-linux-amd64.tar.gz 解压后,其中会有kubernetes-src.tar.gz 文件

#创建解压目录
mkdir /opt/kubernetes/package/kubernetes/kubernetes-src
#解压
tar -zxvf /opt/kubernetes/package/kubernetes/kubernetes-src.tar.gz -C /opt/kubernetes/package/kubernetes/kubernetes-src/
#查看是否解压成功
ls /opt/kubernetes/package/kubernetes/kubernetes-src

 

 

二,创建配置文件

cd /opt/kubernetes/package/kubernetes/kubernetes-src/cluster/addons/dns/coredns/
cp coredns.yaml.base coredns.yaml
source /root/env.sh
sed -i -e "s#__PILLAR__DNS__DOMAIN__#${CLUSTER_DNS_DOMAIN}#" -e "s#__PILLAR__DNS__SERVER__#${CLUSTER_DNS_SVC_IP}#" coredns.yaml
sed -i "s#k8s.gcr.io/coredns:1.3.1#coredns/coredns:1.4.0#" coredns.yaml

 

 

三,创建 coredns

kubectl create -f coredns.yaml

 

 

四,检查 coredns 功能

kubectl get all -n kube-system

#输出:

NAME                                           READY   STATUS    RESTARTS   AGE
pod/coredns-5bcf987f9d-fts96   1/1           Running   0                   6s

NAME                      TYPE         CLUSTER-IP   EXTERNAL-IP   PORT(S)                              AGE
service/kube-dns   ClusterIP   10.1.0.2           <none>               53/UDP,53/TCP,9153/TCP   6s

NAME                                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns   1/1          1                       1                     6s

NAME                                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/coredns-5bcf987f9d   1                1                    1             6s

 

 

五,新建一个 Deployment

cat > my-nginx.yaml <<EOF
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
EOF
kubectl create -f my-nginx.yaml

 

 

六,export 该 Deployment, 生成 my-nginx 服务

kubectl expose deploy my-nginx
kubectl get services --all-namespaces |grep my-nginx

#输出:

default       my-nginx      ClusterIP   10.1.225.115   <none>        80/TCP                   20m

 

 

七,创建另一个 Pod

#查看 /etc/resolv.conf 是否包含 kubelet 配置的 --cluster-dns 和 --cluster-domain,是否能够将服务 my-nginx 解析到上面显示的 Cluster IP 10.1.0.2 

cat > dnsutils-ds.yml <<EOF
apiVersion: v1
kind: Service
metadata:
  name: dnsutils-ds
  labels:
    app: dnsutils-ds
spec:
  type: NodePort
  selector:
    app: dnsutils-ds
  ports:
  - name: http
    port: 80
    targetPort: 80
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: dnsutils-ds
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
spec:
  template:
    metadata:
      labels:
        app: dnsutils-ds
    spec:
      containers:
      - name: my-dnsutils
        image: tutum/dnsutils:latest
        command:
          - sleep
          - "3600"
        ports:
        - containerPort: 80
EOF
kubectl create -f dnsutils-ds.yml
kubectl get pods -lapp=dnsutils-ds

#输出:

NAME                       READY   STATUS    RESTARTS   AGE
dnsutils-ds-464hp   1/1           Running   0                    23m
dnsutils-ds-chfmn   1/1          Running   0                    23m
dnsutils-ds-zgnpk   1/1           Running   0                   23m

 

 

八,验证

#dnsutils-ds-464hp容器名字有所不同,根据自己的输入

kubectl -it exec dnsutils-ds-464hp cat /etc/resolv.conf

#输出:
nameserver 10.1.0.2
search default.svc.cluster.local. svc.cluster.local. cluster.local. openstacklocal
options ndots:5

 

 

kubectl -it exec dnsutils-ds-464hp nslookup kubernetes

#输出:
Server:        10.1.0.2
Address:    10.1.0.2#53

Name:    kubernetes.default.svc.cluster.local
Address: 10.1.0.1

 

 

kubectl -it exec dnsutils-ds-464hp nslookup www.baidu.com

#输出: 
Server:        10.1.0.2
Address:    10.1.0.2#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 220.181.38.149
Name:    www.a.shifen.com
Address: 220.181.38.150

 

 

kubectl -it exec dnsutils-ds-464hp nslookup my-nginx

#输出:
Server:        10.1.0.2
Address:    10.1.0.2#53

Name:    my-nginx.default.svc.cluster.local
Address: 10.1.225.115

 

 

kubectl -it exec dnsutils-ds-464hp nslookup kube-dns.kube-system.svc

#输出:
Server:        10.1.0.2
Address:    10.1.0.2#53

Name:    kube-dns.kube-system.svc.cluster.local
Address: 10.1.0.

 

 

kubectl -it exec dnsutils-ds-464hp nslookup kube-dns.kube-system.svc.cluster.local

#输出:
Server:        10.1.0.2

Address:    10.1.0.2#53

Name:    kube-dns.kube-system.svc.cluster.local
Address: 10.1.0.2

 

 

kubectl -it exec dnsutils-ds-464hp nslookup kube-dns.kube-system.svc.cluster.local.

#输出:
Server:        10.1.0.2
Address:    10.1.0.2#53

Name:    kube-dns.kube-system.svc.cluster.local
Address: 10.1.0.2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值