一 修改配置文件

1.1 下载解压

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

1.2 修改配置

  1 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/cluster/addons/dns/coredns
2 [root@k8smaster01 coredns]# cp coredns.yaml.base coredns.yaml
3 [root@k8smaster01 coredns]# source /opt/k8s/bin/environment.sh
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 [root@k8smaster01 coredns]# vi coredns.yaml
6 ……
7 image: registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1
8 ……
9 #修改image的源。

二 创建 coredns

2.1 创建coredns并检查

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

2.2 检查 coredns 功能

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

三 确认验证

3.1 新建Deployment

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

3.2 export该Deployment

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

3.3 查看该service

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

3.4 创建另一个pod

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

3.5 检查解析

  1 [root@k8smaster01 ~]# kubectl create clusterrolebinding kube-apiserver:kubelet-apis --clusterrole=system:kubelet-api-admin --user kubernetes
2 [root@k8smaster01 ~]# kubectl -it exec dnsutils-ds-4f2nt bash
3 root@dnsutils-ds-4f2nt:/# cat /etc/resolv.conf
4 nameserver 10.254.0.2
5 search default.svc.cluster.local svc.cluster.local cluster.local
6 options ndots:5
7
8 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kubernetes
9 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup www.baidu.com
10 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup my-nginx
11 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kube-dns.kube-system.svc
12 [root@k8smaster01 work]# kubectl exec dnsutils-ds-4f2nt nslookup kube-dns.kube-system.svc.cluster.local
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. 一张图一个题帮你迅速理解RLU算法

    下面是某年的软考题: 某进程页面访问序列为4,2,3,1,2,4,5,3,1,2,3,5,且开始执行时内存中没有页面,分配给该进程的物理块数是3,则采用RLU页面置换算法时的缺页率是多少? 对于这个问 ...

  2. C、C++的Makefile模板

    目录 Makefile模板 用法 编译C程序 编译C++程序 其他 Tips Makefile模板 CC = gcc LD = $(CC) TARGET = $(notdir $(CURDIR)) S ...

  3. 从源码的角度彻底搞懂 HandlerMapping 和 HandlerAdapter

    彻底搞懂 HandlerMapping和HandlerAdapter 知识点的回顾: 当Tomcat接收到请求后会回调Servlet的service方法,一开始入门Servlet时,我们会让自己的Se ...

  4. firefox 实用插件推荐和使用

    1.firefox安装插件 2.firebug 3.Cookie editor 4.Tamper data 5.user agent switcher 6.hackbar 7.httpfox抓包工具 ...

  5. 后台模板引擎ejs与前台模板引擎artTemplate的简单介绍

    动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...

  6. 入门了解Service Mesh + Istio?从本文开始

    下周六,深圳,阔别已久的线下技术沙龙要和你见面啦! 现场有Rancher Labs研发经理demo刚刚发布的Rancher 2.3中的Istio.Windows容器.集群模板等功能及使用,还有k3s首 ...

  7. Java Stream函数式编程图文详解(二):管道数据处理

    一.Java Stream管道数据处理操作 在本号之前发布的文章<Java Stream函数式编程?用过都说好,案例图文详解送给你>中,笔者对Java Stream的介绍以及简单的使用方法 ...

  8. 百万年薪python之路 -- MySQL数据库之 常用数据类型

    MySQL常用数据类型 一. 常用数据类型概览 # 1. 数字: 整型: tinyint int bigint 小数: float: 在位数比较短的情况下不精确 double: 在位数比较长的情况下不 ...

  9. 清理git仓库

    参考 https://harttle.land/2016/03/22/purge-large-files-in-gitrepo.html https://git-scm.com/docs/git-re ...

  10. Java基础(四)注释

    1.类注释 类注释必须放在import语句之后,类定义之前.eclipse中使用Shift + Alt + J快捷键添加类注释. 2.方法注释 每一个方法注释必须放在所描述的方法之前.除了通用标记之外 ...