一 修改配置文件

1.1 下载解压

  1. 1 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/
  2. 2 [root@k8smaster01 kubernetes]# tar -xzvf kubernetes-src.tar.gz
提示:k8smaster01节点已解压完毕,可直接修改配置。

1.2 修改配置

  1. 1 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/cluster/addons/dns/coredns
  2. 2 [root@k8smaster01 coredns]# cp coredns.yaml.base coredns.yaml
  3. 3 [root@k8smaster01 coredns]# source /opt/k8s/bin/environment.sh
  4. 4 [root@k8smaster01 coredns]# sed -i -e "s/__PILLAR__DNS__DOMAIN__/${CLUSTER_DNS_DOMAIN}/" -e "s/__PILLAR__DNS__SERVER__/${CLUSTER_DNS_SVC_IP}/" coredns.yaml
  5. 5 [root@k8smaster01 coredns]# vi coredns.yaml
  6. 6 ……
  7. 7 image: registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1
  8. 8 ……
  9. 9 #修改image的源。

二 创建 coredns

2.1 创建coredns并检查

  1. 1 [root@k8smaster01 coredns]# kubectl create -f coredns.yaml

2.2 检查 coredns 功能

  1. 1 [root@k8smaster01 coredns]# kubectl get all -n kube-system

三 确认验证

3.1 新建Deployment

  1. 1 [root@k8smaster01 ~]# cd /opt/k8s/work
  2. 2 [root@k8smaster01 work]# cat > my-nginx.yaml <<EOF
  3. 3 apiVersion: extensions/v1beta1
  4. 4 kind: Deployment
  5. 5 metadata:
  6. 6 name: my-nginx
  7. 7 spec:
  8. 8 replicas: 2
  9. 9 template:
  10. 10 metadata:
  11. 11 labels:
  12. 12 run: my-nginx
  13. 13 spec:
  14. 14 containers:
  15. 15 - name: my-nginx
  16. 16 image: nginx:1.7.9
  17. 17 ports:
  18. 18 - containerPort: 80
  19. 19 EOF

3.2 export该Deployment

  1. 1 [root@k8smaster01 work]# kubectl expose deploy my-nginx

3.3 查看该service

  1. 1 [root@k8smaster01 work]# kubectl get services --all-namespaces | grep my-nginx
  2. 2 default my-nginx ClusterIP 10.254.157.163 <none> 80/TCP 9s
  3. 3

3.4 创建另一个pod

  1. 1 [root@k8smaster01 ~]# cd /opt/k8s/work
  2. 2 [root@k8smaster01 work]# cat > dnsutils-ds.yml <<EOF
  3. 3 apiVersion: v1
  4. 4 kind: Service
  5. 5 metadata:
  6. 6 name: dnsutils-ds
  7. 7 labels:
  8. 8 app: dnsutils-ds
  9. 9 spec:
  10. 10 type: NodePort
  11. 11 selector:
  12. 12 app: dnsutils-ds
  13. 13 ports:
  14. 14 - name: http
  15. 15 port: 80
  16. 16 targetPort: 80
  17. 17 ---
  18. 18 apiVersion: extensions/v1beta1
  19. 19 kind: DaemonSet
  20. 20 metadata:
  21. 21 name: dnsutils-ds
  22. 22 labels:
  23. 23 addonmanager.kubernetes.io/mode: Reconcile
  24. 24 spec:
  25. 25 template:
  26. 26 metadata:
  27. 27 labels:
  28. 28 app: dnsutils-ds
  29. 29 spec:
  30. 30 containers:
  31. 31 - name: my-dnsutils
  32. 32 image: tutum/dnsutils:latest
  33. 33 command:
  34. 34 - sleep
  35. 35 - "3600"
  36. 36 ports:
  37. 37 - containerPort: 80
  38. 38 EOF
  39. 39 [root@k8smaster01 work]# kubectl create -f dnsutils-ds.yml
  40. 40 [root@k8smaster01 work]# kubectl get pods -lapp=dnsutils-ds

3.5 检查解析

  1. 1 [root@k8smaster01 ~]# kubectl create clusterrolebinding kube-apiserver:kubelet-apis --clusterrole=system:kubelet-api-admin --user kubernetes
  2. 2 [root@k8smaster01 ~]# kubectl -it exec dnsutils-ds-4f2nt bash
  3. 3 root@dnsutils-ds-4f2nt:/# cat /etc/resolv.conf
  4. 4 nameserver 10.254.0.2
  5. 5 search default.svc.cluster.local svc.cluster.local cluster.local
  6. 6 options ndots:5
  7. 7
  8. 8 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kubernetes
  9. 9 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup www.baidu.com
  10. 10 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup my-nginx
  11. 11 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kube-dns.kube-system.svc
  12. 12 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kube-dns.kube-system.svc.cluster.local
  13. 13 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kube-dns.kube-system.svc.cluster.local.

018.Kubernetes二进制部署插件coredns的更多相关文章

  1. 019.Kubernetes二进制部署插件dashboard

    一 修改配置文件 1.1 下载解压 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/ [root@k8smaster01 kubernetes]# ...

  2. Kubernetes 二进制部署(一)单节点部署(Master 与 Node 同一机器)

    0. 前言 最近受“新冠肺炎”疫情影响,在家等着,入职暂时延后,在家里办公和学习 尝试通过源码编译二进制的方式在单一节点(Master 与 Node 部署在同一个机器上)上部署一个 k8s 环境,整理 ...

  3. kubernetes二进制部署k8s-master集群controller-manager服务unhealthy问题

    一.问题现象 我们使用二进制部署k8s的高可用集群时,在部署多master时,kube-controller-manager服务提示Unhealthy [root@ceph-01 system]# k ...

  4. 003.Kubernetes二进制部署准备

    一 前置准备 1.1 前置条件 相应的充足资源的Linux服务器: 设置相应的主机名,参考命令: hostnamectl set-hostname k8smaster Mac及UUID唯一: 若未关闭 ...

  5. Kubernetes 二进制部署(二)集群部署(多 Master 节点通过 Nginx 负载均衡)

    0. 前言 紧接上一篇,本篇文章我们尝试学习多节点部署 kubernetes 集群 并通过 haproxy+keepalived 实现 Master 节点的负载均衡 1. 实验环境 实验环境主要为 5 ...

  6. Kubernetes 二进制部署

    目录 1.基础环境 2.部署DNS 3.准备自签证书 4.部署Docker环境 5.私有仓库Harbor部署 6.部署Master节点 6.1.部署Etcd集群 6.2.部署kube-apiserve ...

  7. 008.Kubernetes二进制部署Nginx实现高可用

    一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案. 控制节点的 kube-controller ...

  8. 012.Kubernetes二进制部署worker节点Flannel

    一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通.flannel 使用 vxlan 技术为各节点创建一 ...

  9. 013.Kubernetes二进制部署worker节点Nginx实现高可用

    一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案. 控制节点的 kube-controller ...

随机推荐

  1. springboot依赖的一些配置:spring-boot-dependencies、spring-boot-starter-parent、io.spring.platform

    springboot里会引入很多springboot starter依赖,这些依赖的版本号统一管理,springboot有几种方案可以选择. 一.spring-boot-dependencies 有两 ...

  2. 浏览器渗透框架BeEF使用笔记(一)

    0x00 前言 BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具. 用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XS ...

  3. Neo4j:图数据库GraphDB(四)Python中的操作

    本文总结下Python中如何操作Neo4j数据库,用到py2neo包,Pip install 一下. 1 连接neo4j数据库:跟其它数据库一样,操作前必须输入用户名和密码及地址连接一下. from ...

  4. jmeter-控制业务比例

    方式一: 多线程组 缺点:由于各事务相应时间一般不一致,故只能粗略的控制业务占比 实例:待补充

  5. qt读取文本

    直接 代码: // lyy : 2016/8/26 16:40:11 说明:读取文本 bool FileOpeartion:: GetTheTextContent (const QString str ...

  6. CheckBox状态多选

    前: <StackPanel Margin="> <Label FontWeight="Bold">Application Options< ...

  7. dubbo集成zookeeper rpc远程调用

    注:下面使用dubbo依赖的是zookeeper注册中心,这里没有详细的介绍.在配置之前,请自行准备好zookeeper环境. 后续如果写zookeeper的配置会补放链接 添加Gradle依赖 co ...

  8. The usage of Markdown---链接的使用

    目录 1. 序言 2. 网页链接 3. 图片链接 4. 页内跳转 更新时间:2019.09.14 1. 序言   在编辑文章的时候,我们常常需要插入各种链接,比如说网页链接,图片链接等等.当文章篇幅过 ...

  9. JSONP安全防御要点

    严格安全地实现CSRF方式调用JSON文件:限制Referer.部署一次性token等. 严格安装JSON格式标准输出Content-Type及编码(Content-Type: application ...

  10. OptimalSolution(9)--其他问题(1)

    一.从5随机到7及其扩展 题目1:给定一个等概率随机产生1~5的随机函数rand1to5: public int rand1To5() { return (int)(Math.random() * 5 ...