cluster DNS】的更多相关文章

[root@mhc1 dns]# pwd/root/test/k8s/kubernetes/cluster/addons/dns [root@mhc1 dns]# export DNS_SERVER_IP="10.254.10.2"[root@mhc1 dns]# export DNS_DOMAIN="cluster.local"[root@mhc1 dns]# export DNS_REPLICAS=1 sed -e "s/{{ pillar\['dns…
1. 提前条件 安装k8s 集群 2.  dns  安装配置 安装方式: 使用controller  service controller  脚本: 基于官方改动 apiVersion: v1 kind: ReplicationController metadata: name: kube-dns-v8 namespace: kube-system labels: k8s-app: kube-dns version: v8 kubernetes.io/cluster-service: "true…
DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统中各服务之间发现与调用. 组件: •SkyDNS 提供DNS解析服务 •Etcd 存储DNS信息 •Kube2sky 监听kubernetes,当有Service创建时,生成相应的记录到SkyDNS. 本文章的实验环境与<k8s入门系列之集群安装篇>介绍中一致.master(1) + node(4…
Cluster DNS主要包含如下几项: SkyDNS :提供DNS解析服务. Etcd :用于DNS的存储. Kube2sky :监听Kubernetes,当有新的Service创建时,将其注册到etcd上. healthz 提供对skydns服务的健康检查功能. 在 master服务器上 Cluster DNS在Kubernetes发布包的cluster/addons/dns目录下 yum -y install wget wget https://codeload.github.com/ku…
首先创建DNS服务的RC配置文件skydns-rc.yaml apiVersion: v1 kind: ReplicationController metadata: name: kube-dns-v8 namespace: kube-system labels: k8s-app: kube-dns version: v8 kubernetes.io/cluster-service: "true" spec: replicas: 1 selector: k8s-app: kube-dn…
在kubernetes1.2的时候,采用了skydns + kube2dns +etcd的方式来部署dns.而从1.3开始,则部署方式有了一点儿变化,将skydns和kube2dns封装到了一个容器镜像中,放弃了etcd,而将dns解析直接放入到了内存之中,同时引入了dnsmasq,进一步利用其缓存,具体的原理,请查阅相关文档.本篇文档,主要阐述新版的dns在kubernetes中的具体部署. 在Kubernetes的源码目录中,有个cluster/addons/dns目录,下面有几个与dns相…
DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统中各服务之间发现与调用. 组件: •SkyDNS 提供DNS解析服务 •Etcd 存储DNS信息 •Kube2sky 监听kubernetes,当有Service创建时,生成相应的记录到SkyDNS. 1.修改所有node的配置文件:/etc/kubernetes/kubelet  kubernet…
一.dns服务 1.解决的问题 为了通过服务的名字在集群内进行服务相互访问,需要创建一个dns服务 2.k8s中使用的虚拟dns服务是skydns 二.搭建 1.创建并应用skydns-rc.yaml [root@master dns]# cat skydns-rc.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: kube-dns namespace: kube-system labels: k8s-app…
1.在每个节点上面导入如下镜像 [root@node1 DNS]# lltotal 59816-rw-r--r--. 1 root root 8603136 Nov 25 18:13 exechealthz-amd64.tar.gz-rw-r--r--. 1 root root 47218176 Nov 25 18:13 kubedns-amd64.tar.gz-rw-r--r--. 1 root root 5424640 Nov 25 18:13 kube-dnsmasq-amd64.tar.…
1:首先创建kube-dns和dnsmasq这两个yaml,然后生成相应的pod.svc等. 2:然后在去创建其他的验证pod和svc 3:验证nslookup解析的是其他pod的svc的name,而不是podname 我的kubernets的版本是1.5的 skydns-rc.yaml   这里的地址记得修改,  - --domain=cluster.local. 或者写成你自己的相应的域名,但是需呀和/etc/kubernets/kubelet  里面的对应起来               …
一.导读 在使用k8s部署springboot+redis简单应用这篇文章中,spring boot连接redis是直接使用的IP连接,那么可不可以直接使用服务名称进行连接呢?答案是可以的,这就是k8s集群范围内的DNS服务来完成服务名到ClusterIP的解析,接下来就一起看一下如何搭建DNS服务器. 二.搭建DNS服务器 (1)简介 k8s提供的DNS服务是skydns,由四个组件组成 etcd:DNS信息存储 kube2sky:监控k8s中Service资源的变化,根据Service的名称…
创建 TLS CA证书及密钥 kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 和其它证书: 生成的 CA 证书和秘钥文件如下: ca-key.pem ca.pem kubernetes-key.pem kubernetes.pem kube-proxy.pem kube-proxy-key.pem admin.pem admin-key.pem…
管理组件采用staticPod或者daemonSet形式跑的,宿主机os能跑docker应该本篇教程能大多适用安装完成仅供学习和实验 本次安裝的版本: Kubernetes v1.10.0 (1.10.0和1.10.3亲测成功) CNI v0.6.0 Etcd v3.1.13 Calico v3.0.4 Docker CE latest version(18.03) 节点信息本教学将以下列节点数与规格来进行部署Kubernetes集群,系统可采用Ubuntu 16.x与CentOS 7.x IP…
本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7.0集群. 角色分配如下: 镜像仓库:172.16.138.100,域名为 harbor.suixingpay.com,为私有镜像仓库,请替换为公共仓库或你自己的镜像仓库地址. Master:172.16.138.171 Node:172.16.138.172,172.16.138.173 注意:1…
目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库),本文继续搭建Kubernete中的服务注册发现机制——SkyDNS. 1.部署Cluster DNS 1.1 原理 通过前面对Kubernetes的讨论(Kubernetes核心概念总结).我们已经知道,每个Kubernetes service都绑定了一个虚拟IP 地址(ClusterIP),而…
目录贴:Kubernetes学习系列 1.介绍 之前介绍过DNS的搭建(基于Kubernetes集群部署skyDNS服务),但那个版本的DNS是随着Kubernetes1.2发布出来的,有点原始.本文主要讲解Kubernetes1.4版本中的DNS插件的安装.与1.2版本相比,1.4中的DNS增加了解析Pod(HostName)对应的域名的新功能,且在部署上也有了一些变化.1.2中,需要部署etcd(或使用master上的Etcd).kube2sky.skydns三个组件:1.4中,DNS组件由…
0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansible和之前的步骤差不多都是和kubeadm步骤一样,不过这次所有kubelet全部走bootstrap不会像之前master上的kubelet生成证书,另外证书换成openssl生成 不建议使用secureCRT这个ssh软件复制本篇博客内容的命令,因为它的部分版本对包含多条命令的处理结果并不完美…
安装和配置 kubedns 插件 官方的yaml文件在:kubernetes/cluster/addons/dns. 该插件直接使用kubernetes部署,官方的配置文件中包含以下镜像: gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1 gcr.io/google_containers/k8s-dns-sidecar…
证书生成工具 1,openssl 2,jdk自带的keystone 3,cfssl 证书中各个字段的含义 - 查看证书的内容 openssl x509 -in /etc/pki/CA/cacert.pem -noout -text|egrep -i "issuer|subject|serial|dates" openssl x509 -noout -text -in kubernetes.pem cfssl-certinfo -cert kubernetes.pem 数字证书中主题(S…
目录贴:Kubernetes学习系列 本文依赖环境:Centos7部署Kubernetes集群.基于Kubernetes集群部署skyDNS服务 该示例中,我们将创建一个redis-master.两个redis-slave.三个frontend.其中,slave会实时备份master中数据,frontend会向master中写数据,之后会从slave中读取数据.所有系统间的调用(例如slave找master同步数据:frontend找master写数据:frontend找slave读数据等),采…
一.k8s组成部分 Master 1.   kube-apiserver 封装了核心对象的增删改查操作,以REST API接口方式提供给外部和内部组件调用.它维护的REST对象将持久化到Etcd中 2.   kube-controller 负责执行各种控制器,目前已经实现很多控制器来保证Kubernetes的正常运行,部分控制器如下: Replication Controller(简称RC): 关联RC和Pod,保证RC定义的副本数量与实际pod的数量是一致的. Deployment Contr…
转载于https://codegreen.cn/2018/08/30/kubernetes-cluster-1.9.7/ 前言 在部署之前,首先感谢 手动搭建高可用的kubernetes 集群 博文的作者[阳明],本文对kubernetes版本做了升级,其中一部分内容作了一下修改及完善. 一.服务器规划 角色 IP地址 Master01&&etcd01&&haproxy01 10.100.4.181 Master02&&etcd02&&hap…
一.概述 k8s中支持两种服务发现方法: 环境变量和DNS 二.环境变量 当Pod被创建的时候,k8s将为Pod设置每一个Service的相关环境变量,这些环境变量包括两种类型: k8s Service环境变量: k8s为Service设置的环境变量形式, 包括: {SVCNAME}_SERVICE_HOST {SVCNAME}_SERVICE_PORT {SVCNAME}_SERVICE_PORT_{PORTNAME} 其中的服务名和端口名转为大写,连字符转换为下划线. Docker Link…
一.概述 kubernetes中Service是真实应用的抽象,将用来代理Pod,对外提供固定IP作为访问入口,这样通过访问Service便能访问到相应的Pod,而对访问者来说只需知道Service的访问地址,而不需要感知Pod的变化: Service是通过Label来关联Pod的,在Service的定义中,设置 .spec.selector为name=redis-master,将关联上Pod: #kubectl get service redis-master NAME  CLUSTER_IP…
k8s 原理 kubernetes API server 作为集群的核心,负责集群各功能之间的通信, 集群内的各个功能模块通过API Server将信息存入etcd,当需要获取和操作这些数据的时候 通过API Server 提供的 REST 接口(get put post watch) 来实现. 场景一: node节点的 kubelet --------> apiserver node上的 kubelet 进程每隔一个时间周期,就会调用一次API Server接口报告自身状态,API Serve…
DNS 服务不是独立的系统服务,而是一种 addon ,作为插件来安装的,不是 kubernetes 集群必须的(但是非常推荐安装).可以把它看做运行在集群上的应用,只不过这个应用比较特殊而已. DNS 有两种配置方式,在 1.3 之前使用 etcd + kube2sky + skydns 的方式,在 1.3 之后可以使用 kubedns + dnsmasq 的方式. 第一步在所有node节点增加如下配置 vi /etc/kubernetes/kubelet KUBELET_ARGS="--cl…
目录 简要说明 环境说明 安装前的约定 配置etcd 生成相关证书 证书类型说明 cfssl配置 证书相关配置 生成ca证书 生成kubernetes证书 生成kubectl证书 生成kube-proxy证书 生成token及kubeconfig 生成客户端使用的token 生成bashboard使用的http basic认证文件 生成kubeconfig 部署master 安装 配置 启动 配置haproxy 部署node节点 配置docker 配置quagga 配置kubelet与kube-…
本节内容: Kubernetes简介 环境信息 创建TLS加密通信的证书和密钥 下载和配置 kubectl(kubecontrol) 命令行工具 创建 kubeconfig 文件 创建高可用 etcd 集群 部署 kubernetes master节点 部署kubernetes node节点 安装和配置 kube-dns 插件 一.Kubernetes简介 Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的 开源版本,主要功能包括: 基于容器的应用部…
转自 https://www.kubernetes.org.cn/3814.html 本篇延续过往手动安装方式来部署 Kubernetes v1.10.x 版本的 High Availability 集群,主要目的是学习 Kubernetes 安装的一些元件关析与流程.若不想这么累的话,可以参考 Picking the Right Solution 来选择自己最喜欢的方式. 本次安装的软件版本: Kubernetes v1.10.0 CNI v0.6.0 Etcd v3.1.13 Calico…
目前Kubernetes为Ubuntu提供的kube-up脚本,不支持15.10以及16.04这两个使用systemd作为init系统的版本. 这里详细介绍一下如何以非Docker方式在Ubuntu16.04集群上手动安装部署Kubernetes的过程. 环境信息 组件 版本 etcd 2.3.1 Flannel 0.5.5 kubernetes 1.5.1 主机信息 主机 IP OS k8s-master 172.12.24.36 ubuntu 16.04 k8s-node01 172.12.…