Kubernetes DNS服务配置

本文介绍了Kubernetes DNS服务的配置,包括etcd、kube2sky和skyDNS三个组件的功能。详细讲解了skyDNS的配置文件参数设置,如master IP、domain、端口等。同时,阐述了如何创建DNS服务的ReplicationController和Service,以及调整kubelet参数。最后,通过创建一个redis-master服务和使用busybox验证DNS工作原理。
摘要由CSDN通过智能技术生成

Kubernetes DNS服务配置
Kubernetes提供的DNS由以下三个组件组成:
1. etcd:DNS存储
2. kube2sky:将kubernetes master中的service(服务)注册到etcd
3. skyDNS:提供DNS域名解析服务 这三个组件以pod的方式启动和运行

skydns配置文件
首先创建DNS服务的ReplicationController配置文件skydns-rc.yaml:

apiVersion: v1
kind: ReplicationController
metadata:
  name: kube-dns
  namespace: kube-system
  labels:
    k8s-app: kube-dns
    version: v8
    kubernetes.io/cluster-service: "true"
spec:
  replicas: 1
  selector:
    k8s-app: kube-dns
    version: v8
  template:
    metadata:
      labels:
        k8s-app: kube-dns
        version: v8
        kubernetes.io/cluster-service: "true"
    spec:
      containers:
      - name: etcd
        image: gcr.io/google_containers/etcd:2.0.9
        resources:
          limits:
            cpu: 100m
            memory: 50Mi
        command:
        - /usr/local/bin/etcd
        - -data-dir
        - /var/etcd/data
        - --listen-client-urls
        - http://127.0.0.1:2379,http://127.0.0.1:4001
        - --advertise-client-urls
        - http://127.0.0.1:2379,http://127.0.0.1:4001
        - --initial-cluster-token
        - skydns-etcd
        volumeMounts:
        - name: etcd-storage
          mountPath: /var/etcd/data
      - name: kube2sky
        image: gcr.io/google_containers/kube2sky:1.11
        resources:
          limits:
            cpu: 100m
            memory: 50Mi
        args:
       # command:
       # - /kube2sky
        - --kube_master_url=http://172.16.36.50:8080
        - -domain=cluster.local
      - name: skydns
        image: gcr.io/google_containers/skydns:2015-10-13-8c72f8c
        resources:
          limits:
            cpu: 100m
            memory: 50Mi
        args:
        #command:
        #- /skydns
        - -machines=http://127.0.0.1:4001
        - -addr=0.0.0.0:53
        - -domain=cluster.local
        ports:
        - containerPort: 53
          name: dns
          protocol: UDP
        - containerPort: 53
          name: dns-tcp
          protocol: TCP
      volumes:
        - name: etcd-storage
          emptyDir: {}
      dnsPolicy: Default

需要修改的几个配置参数如下:

  1. kube2sky容器需要访问kubernetes master,需要配置master所在物理主机的ip地址和端口号
  2. kube2sky容器和skydns容器的启动参数-domain,设置kubernetes集群中service所属的域名,本例中为cluster.local。启动后,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值