Kubernetes extension plugin Cluster DNS installation

Kubernetes extension plugin Cluster DNS installation

 

Back to master machine 10.99.0.10

 

The directory where the skydns configuration file is located (this example uses the file in the getting-started-guides directory)

[root@vultr ~]# find -name *skydns*

./kubernetes/cluster/libvirt-coreos/skydns-rc.yaml

./kubernetes/cluster/libvirt-coreos/skydns-svc.yaml

./kubernetes/cluster/gce/coreos/kube-manifests/addons/dns/skydns-rc.yaml

./kubernetes/cluster/gce/coreos/kube-manifests/addons/dns/skydns-svc.yaml

./kubernetes/cluster/juju/layers/kubernetes/templates/skydns-rc.yml

./kubernetes/cluster/juju/layers/kubernetes/templates/skydns-svc.yml

./kubernetes/docs/getting-started-guides/coreos/azure/addons/skydns-rc.yaml

./kubernetes/docs/getting-started-guides/coreos/azure/addons/skydns-svc.yaml

 

Create a working directory

cd ~/kubernetes/docs/getting-started-guides/coreos/azure/addons/

mkdir -p ~/workspace/skydns

cp skydns-* ~/workspace/skydns/

cd ~/workspace/skydns

ls -l

 

Modify skydns-rc.yaml and  skydns-svc.yaml        

 

sed -i "s/replicas: 3/replicas: 1/" skydns-rc.yaml

 

sed -i "s/kube.local/cluster.local/" skydns-rc.yaml

sed -i "s/kube-00/10.99.0.10/" skydns-rc.yaml

 

sed -i "s/localhost/127.0.0.1/" skydns-rc.yaml

sed -i "s/kube.local/cluster.local./" skydns-rc.yaml

 

sed -i "s/kubernetes.default.svc.kube.local/kubernetes.default.svc.cluster.local/" skydns-rc.yaml

 

sed -i "s/10.16.0.3/172.16.66.66/" skydns-svc.yaml

 

 

Create Kubernetes DNS

[root@vultr skydns]#kubectl create -f skydns-rc.yaml

replicationcontroller "kube-dns-v9" created

 

[root@vultr skydns]# kubectl get pod --selector k8s-app=kube-dns --namespace=kube-system

NAME                READY     STATUS    RESTARTS   AGE

kube-dns-v9-hgnfh   4/4       Running   0          16s

 

[root@vultr skydns]# kubectl create -f skydns-svc.yaml

kubectl get service -l k8s-app=kube-dns --namespace=kube-systemservice "kube-dns" created

[root@vultr skydns]# kubectl get service -l k8s-app=kube-dns --namespace=kube-system

NAME       CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE

kube-dns   172.16.66.66   <none>        53/UDP,53/TCP   2s

 

 

kubectl cluster-info

return result

Kubernetes master is running at http://localhost:8080

KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns

 

actually visit

http://master机器IP:8080/api/v1/namespaces/kube-system/services/kube-dns

can see details

{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "kube-dns",
    "namespace": "kube-system",
    "selfLink": "/api/v1/namespaces/kube-system/services/kube-dns",
    ... ...

 

 

修改各节点机器上的kubelet配置

vi /etc/sysconfig/kubelet

--cluster-dns=172.16.66.66

--cluster-domain=cluster.local

 

重启节点机器上的kubelet

systemctl restart kubelet

systemctl status -l kubelet

 

创建一个测试pod

echo "  apiVersion: v1

  kind: ReplicationController

  metadata:

      name: tomcat

  spec:

    replicas: 1

    template:

      metadata:

        labels:

          app: tomcat

      spec:

        containers:

          - name: tomcat

            image: tomcat" > tomcat.yaml

 

cat tomcat.yaml

 

kubectl --server=10.99.0.10:8080 create -f tomcat.yaml 

kubectl get pod

 

进入到pod中的第一个容器

kubectl exec tomcat-4d33v -i -t -- bash

查看DNS

cat /etc/resolv.conf

 

search default.svc.cluster.local svc.cluster.local cluster.local

nameserver 172.16.66.66

options ndots:5

 

之前创建的pod DNS未改变,需要删除之后重建

kubectl --server=10.99.0.10:8080 delete -f test-1.yaml 

kubectl --server=10.99.0.10:8080 delete -f test-2.yaml 

kubectl --server=10.99.0.10:8080 delete -f test-3.yaml 

kubectl --server=10.99.0.10:8080 delete -f test-4.yaml 

 

kubectl --server=10.99.0.10:8080 create -f test-1.yaml  

kubectl --server=10.99.0.10:8080 create -f test-2.yaml 

kubectl --server=10.99.0.10:8080 create -f test-3.yaml 

kubectl --server=10.99.0.10:8080 create -f test-4.yaml 

 

kubectl --server=10.99.0.10:8080 get pods

 

进入test-1-cqc6p点的第一个容器查看DNS

kubectl exec test-1-cqc6p -i -t -- bash

cat /etc/resolv.conf

 

search default.svc.cluster.local svc.cluster.local cluster.local

nameserver 172.16.66.66

options ndots:5

 

expose 创建tomcat service

kubectl expose replicationcontroller tomcat --port=8080 --target-port=8099 

 

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326568481&siteId=291194637