• 首页
  • 云服务器
  • 虚拟主机
  • 物理服务器
  • 大带宽
  • 跨境电商
  • 保障
    信任中心 >>
    • 基础设施与网络
    • 服务保障能力
    • 数据安全
    • 合规资质
    数据中心 >>
    • 中国洛阳国际数据中心
    • 中国香港多线数据中心
    VIP会员服务 >>
    • 7*24小时服务支持
    • 0元快速备案
    • 100倍故障赔偿
    • 5天无理由退款
会员登录 免费注册

帮助中心 / kubernetes中怎么部署coredns 插件

kubernetes中怎么部署coredns 插件



来源:辰迅云编辑:chenxun时间:2021-08-11 22:38:31



这期内容当中小编将会给大家带来有关kubernetes中怎么部署coredns 插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一:简介

    从Kubernetes 1.10开始,在安装时将默认的DNS服务切换为CoreDNS(beta测试阶段)。这里介绍在Kubernetes 1.10.4集群中部署coredns插件。

二:安装

 将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件。coredns 对应的目录是:cluster/addons/dns。

yaml文件配置:cp kubernetes1.10.4/kubernetes/cluster/addons/dns/coredns.yaml.base coredns.yaml

$ diff coredns.yaml.base coredns.yaml61c61<         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
# __MACHINE_GENERATED_WARNING__apiVersion: v1kind: ServiceAccountmetadata:  name: coredns  namespace: kube-system  labels:      kubernetes.io/cluster-service: "true"      addonmanager.kubernetes.io/mode: Reconcile---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:  labels:    kubernetes.io/bootstrapping: rbac-defaults    addonmanager.kubernetes.io/mode: Reconcile  name: system:corednsrules:- apiGroups:  - ""  resources:  - endpoints  - services  - pods  - namespaces  verbs:  - list  - watch---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:  annotations:    rbac.authorization.kubernetes.io/autoupdate: "true"  labels:    kubernetes.io/bootstrapping: rbac-defaults    addonmanager.kubernetes.io/mode: EnsureExists  name: system:corednsroleRef:  apiGroup: rbac.authorization.k8s.io  kind: ClusterRole  name: system:corednssubjects:- kind: ServiceAccount  name: coredns  namespace: kube-system---apiVersion: v1kind: ConfigMapmetadata:  name: coredns  namespace: kube-system  labels:      addonmanager.kubernetes.io/mode: EnsureExistsdata:  Corefile: |    .:53 {        errors        health        kubernetes cluster.local. in-addr.arpa ip6.arpa {            pods insecure            upstream            fallthrough in-addr.arpa ip6.arpa        }        prometheus :9153        proxy . /etc/resolv.conf        cache 30    }---apiVersion: extensions/v1beta1kind: Deploymentmetadata:  name: coredns  namespace: kube-system  labels:    k8s-app: coredns    kubernetes.io/cluster-service: "true"    addonmanager.kubernetes.io/mode: Reconcile    kubernetes.io/name: "CoreDNS"spec:  replicas: 2  strategy:    type: RollingUpdate    rollingUpdate:      maxUnavailable: 1  selector:    matchLabels:      k8s-app: coredns  template:    metadata:      labels:        k8s-app: coredns    spec:      serviceAccountName: coredns      tolerations:        - key: node-role.kubernetes.io/master          effect: NoSchedule        - key: "CriticalAddonsOnly"          operator: "Exists"      containers:      - name: coredns        image: coredns/coredns:1.0.6        imagePullPolicy: IfNotPresent        resources:          limits:            memory: 170Mi          requests:            cpu: 100m            memory: 70Mi        args: [ "-conf", "/etc/coredns/Corefile" ]        volumeMounts:        - name: config-volume          mountPath: /etc/coredns        ports:        - containerPort: 53          name: dns          protocol: UDP        - containerPort: 53          name: dns-tcp          protocol: TCP        livenessProbe:          httpGet:            path: /health            port: 8080            scheme: HTTP          initialDelaySeconds: 60          timeoutSeconds: 5          successThreshold: 1          failureThreshold: 5      dnsPolicy: Default      volumes:        - name: config-volume          configMap:            name: coredns            items:            - key: Corefile              path: Corefile---apiVersion: v1kind: Servicemetadata:  name: coredns  namespace: kube-system  labels:    k8s-app: coredns    kubernetes.io/cluster-service: "true"    addonmanager.kubernetes.io/mode: Reconcile    kubernetes.io/name: "CoreDNS"spec:  selector:    k8s-app: coredns  clusterIP: 10.254.0.2  ports:  - name: dns    port: 53    protocol: UDP  - name: dns-tcp    port: 53    protocol: TCP
kubectl create -f coredns.yaml

三:测试

创建一个简单的busybox pod  busybox.yaml

apiVersion: v1kind: Podmetadata:
  name: busybox
  namespace: defaultspec:
  containers:
  - image: busybox
    command:
      - sleep
      - "3600"    imagePullPolicy: IfNotPresent
    name: busybox
  restartPolicy: Always

创建POD

kubectl CREATE -f busybox.yaml

验证

kubectl exec -ti busybox -- nslookup kubernetes.default

Server: 10.0.0.10Address 1: 10.0.0.10Name: kubernetes.defaultAddress 1: 10.0.0.1

上述就是小编为大家分享的kubernetes中怎么部署coredns 插件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注辰讯云行业资讯频道。











    帮助中心

  • 云服务器类
  • 域名类
  • 虚拟主机类
  • 独立服务器
  • 付款类
  • 其他类

现在注册,即刻为您提供最佳上云实践机会

立即注册
辰迅云

400-0666-318 (7*24小时热线)

Copyright 2013 - chenxunyun.com. All RightsReserved. 辰迅云 版权所有
  • 关于辰迅云

    关于我们 发展历程 资质荣誉 新闻公告 诚聘英才 联系我们
  • 辰迅云产品

    云服务器 服务器托管 服务器租用 >
  • 服务与支持

    域名知识 云服务器问题 SSL证书问题 虚拟主机问题 租用托管 网站备案问题
  • 快速通道

    独立控制面板 忘记密码
乐创云 ASP300源码 whmcs之家
  • 工信部备案号沪ICP备20007084号
  • 《中华人民共和国增值电信业务经营许可证》编号: B1-20194590号

在线客服

电话咨询

微信客服