skydns
来源:互联网 发布:java语言分段函数 编辑:程序博客网 时间:2024/06/06 04:08
Useful link:
https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/admin/dns.md
Kube-dns服务后端启动多个POD时的注意事项:
- 开启kube2sky和skydns的livenessProbe
- 为skydns添加--no-rec启动参数
- 在一个skydns pod无法正常提供dns解析服务时,health check机制会重启相应的pod,但是在pod完全重启成功之前,部分服务的dns解析请求有可能会失败,失败的概率与后端skydns pod的个数有关
下面是部署skydns用到的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: 3
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: 192.168.0.76:5000/etcd:2.2.1
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 50m
memory: 1000Mi
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: 192.168.0.76:5000/kube2sky:1.12
image: 192.168.0.76:5000/kube2sky:1.12
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 60
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
resources:
limits:
cpu: 50m
memory: 1000Mi
args:
# command = "/kube2sky"
- --kube_master_url=http://192.168.0.75:8080
- --domain=cluster.local
- name: skydns
image: 192.168.0.76:5000/longlong:2017
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 60
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
resources:
limits:
cpu: 50m
memory: 1000Mi
args:
# command = "/skydns"
- -machines=http://localhost:4001
- -addr=0.0.0.0:53
- -domain=cluster.local
- -no-rec
- -rcache=1000
ports:
- containerPort: 53
name: dns
protocol: UDP
- containerPort: 53
name: dns-tcp
protocol: TCP
- name: healthz
image: 192.168.0.76:5000/exechealthz:1.1
resources:
limits:
cpu: 10m
memory: 20Mi
requests:
cpu: 10m
memory: 20Mi
args:
- -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null
- -port=8080
ports:
- containerPort: 8080
protocol: TCP
volumes:
- name: etcd-storage
emptyDir: {}
dnsPolicy: Default # Don't use cluster DNS.
musl库的DNS:
Traditional resolvers, including glibc's, make use of multiple nameserver lines in resolv.conf by trying each one in sequence and falling to the next after one times out. musl's resolver queries them all in parallel and accepts whichever response arrives first. This can increase network load (this is mitigated by only supporting up to three nameservers, and can be mitigated further at the configuration level by only configuring one nameserver) but drastically improves performance and reliability of DNS lookups, especially if diverse nameservers are used.
- skydns
- SkyDNS试用
- DCOS之skydns
- skydns+etcd域名服务集群
- kubernetes skydns 路由解析
- skydns 测试记录
- skydns+etcd域名服务压测
- kubernetes基础入门之-配置kubernetes skyDNS服务
- 内存模型笔记
- CentOS重启后resolv.conf被重置的解决方案
- listview学习之初探adapter
- 编程第七天
- 二分法l例 E
- skydns
- Android Behavior详解
- ftp+nginx搭建图片服务器,上传FTP文件可以传到服务器上,但是文件大小是0字节的 而且点击按钮后程序会卡死
- The server time zone value 'EDT' is unrecognized or represents more than one time zone.
- Fragment深入解析
- linux中shell变量$#,$@,$0,$1,$2的含义解释:
- Javascript模块化编程(二):AMD规范
- exec函数实现
- 盘点5种长盛不衰的电子游戏类型