zoukankan      html  css  js  c++  java
  • 09-1.部署 coredns 插件

    09-1.部署 coredns 插件

    修改配置文件

    将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件。

    coredns 对应的目录是:cluster/addons/dns

    $ pwd
    /opt/k8s/kubernetes/cluster/addons/dns
    
    $ cp coredns.yaml.base coredns.yaml
    $ diff coredns.yaml.base coredns.yaml
    61c61
    <         kubernetes __PILLAR__DNS__DOMAIN__ in-addr.arpa ip6.arpa {
    ---
    >         kubernetes cluster.local. in-addr.arpa ip6.arpa {
    153c153
    <   clusterIP: __PILLAR__DNS__SERVER__
    ---
    >   clusterIP: 10.254.0.2
    

    创建 coredns

    $ kubectl create -f coredns.yaml
    

    检查 coredns 功能

    $ kubectl get all -n kube-system
    NAME                           READY     STATUS    RESTARTS   AGE
    pod/coredns-77c989547b-6l6jr   1/1       Running   0          3m
    pod/coredns-77c989547b-d9lts   1/1       Running   0          3m
    
    NAME              TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
    service/coredns   ClusterIP   10.254.0.2   <none>        53/UDP,53/TCP   3m
    
    NAME                      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/coredns   2         2         2            2           3m
    
    NAME                                 DESIRED   CURRENT   READY     AGE
    replicaset.apps/coredns-77c989547b   2         2         2         3m
    

    新建一个 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
    service "my-nginx" exposed
    
    $ kubectl get services --all-namespaces |grep my-nginx
    default       my-nginx     ClusterIP   10.254.242.255   <none>        80/TCP          9s
    

    创建另一个 Pod,查看 /etc/resolv.conf 是否包含 kubelet 配置的 --cluster-dns--cluster-domain,是否能够将服务 my-nginx 解析到上面显示的 Cluster IP 10.254.242.255

    $ cat > pod-nginx.yaml <<EOF
    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
    EOF
    
    $ kubectl create -f pod-nginx.yaml
    $ kubectl exec  nginx -i -t -- /bin/bash
    root@nginx:/# cat /etc/resolv.conf
    nameserver 10.254.0.2
    search default.svc.cluster.local. svc.cluster.local. cluster.local. 4pd.io
    options ndots:5
    
    root@nginx:/#  ping my-nginx
    PING my-nginx.default.svc.cluster.local (10.254.242.255): 48 data bytes
    56 bytes from 10.254.242.255: icmp_seq=0 ttl=64 time=0.115 ms
    ^C--- my-nginx.default.svc.cluster.local ping statistics ---
    1 packets transmitted, 1 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 0.115/0.115/0.115/0.000 ms
    
    
    root@nginx:/# ping my-nginx
    PING my-nginx.default.svc.cluster.local (10.254.63.136): 48 data bytes
    ^C--- my-nginx.default.svc.cluster.local ping statistics ---
    4 packets transmitted, 0 packets received, 100% packet loss
    
    root@nginx:/# ping kubernetes
    PING kubernetes.default.svc.cluster.local (10.254.0.1): 48 data bytes
    56 bytes from 10.254.0.1: icmp_seq=0 ttl=64 time=0.097 ms
    56 bytes from 10.254.0.1: icmp_seq=1 ttl=64 time=0.123 ms
    ^C--- kubernetes.default.svc.cluster.local ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 0.097/0.110/0.123/0.000 ms
    
    root@nginx:/# ping coredns.kube-system.svc.cluster.local
    PING coredns.kube-system.svc.cluster.local (10.254.0.2): 48 data bytes
    56 bytes from 10.254.0.2: icmp_seq=0 ttl=64 time=0.129 ms
    ^C--- coredns.kube-system.svc.cluster.local ping statistics ---
    1 packets transmitted, 1 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 0.129/0.129/0.129/0.000 ms



    链接:https://www.orchome.com/659
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
  • 相关阅读:
    java集合--使用集合应该关注的方面
    Linux环境Java多版本管理与切换
    java集合--LinkedList源码
    Java集合--ArrayList源码
    数据库规范化(范式)
    Java异常
    Java内部类
    Java抽象类和接口
    JavaScript 语句
    Vue.js简介
  • 原文地址:https://www.cnblogs.com/linux20190409/p/10976991.html
Copyright © 2011-2022 走看看