Browse Source

Merge pull request #38 from ansibl8s/dockerize_dnsmasq

[WIP] Docker dnsmasq
pull/43/merge
Smaine Kahlouch 9 years ago
parent
commit
005ddedb94
4 changed files with 59 additions and 21 deletions
  1. 3
      roles/dnsmasq/handlers/main.yml
  2. 26
      roles/dnsmasq/tasks/main.yml
  3. 49
      roles/dnsmasq/templates/dnsmasq-pod.yml
  4. 2
      roles/etcd/tasks/main.yml

3
roles/dnsmasq/handlers/main.yml

@ -1,3 +0,0 @@
---
- name: restart dnsmasq
command: systemctl restart dnsmasq

26
roles/dnsmasq/tasks/main.yml

@ -28,16 +28,6 @@
- '^127\.0\.0\.1(\s+){{ inventory_hostname }}.*'
- '^::1(\s+){{ inventory_hostname }}.*'
- name: install dnsmasq and bindr9utils
apt:
name: "{{ item }}"
state: present
update_cache: yes
with_items:
- dnsmasq
- bind9utils
when: inventory_hostname in groups['kube-master']
- name: ensure dnsmasq.d directory exists
file:
path: /etc/dnsmasq.d
@ -50,15 +40,17 @@
dest: /etc/dnsmasq.d/01-kube-dns.conf
mode: 755
backup: yes
notify:
- restart dnsmasq
when: inventory_hostname in groups['kube-master']
- name: enable dnsmasq
service:
name: dnsmasq
state: started
enabled: yes
- name: create dnsmasq pod template
template: src=dnsmasq-pod.yml dest=/etc/kubernetes/manifests/dnsmasq-pod.manifest
when: inventory_hostname in groups['kube-master']
- name: Check for dnsmasq port
wait_for:
port: 53
delay: 5
timeout: 100
when: inventory_hostname in groups['kube-master']
- name: update resolv.conf with new DNS setup

49
roles/dnsmasq/templates/dnsmasq-pod.yml

@ -0,0 +1,49 @@
---
apiVersion: v1
kind: Pod
metadata:
name: dnsmasq
namespace: kube-system
spec:
hostNetwork: true
containers:
- name: dnsmasq
image: andyshinn/dnsmasq:2.72
command:
- dnsmasq
args:
- -k
- "-7"
- /etc/dnsmasq.d
- --local-service
securityContext:
capabilities:
add:
- NET_ADMIN
imagePullPolicy: Always
resources:
limits:
cpu: 100m
memory: 256M
ports:
- name: dns
containerPort: 53
hostPort: 53
protocol: UDP
- name: dns-tcp
containerPort: 53
hostPort: 53
protocol: TCP
volumeMounts:
- name: etcdnsmasqd
mountPath: /etc/dnsmasq.d
- name: etcdnsmasqdavailable
mountPath: /etc/dnsmasq.d-available
volumes:
- name: etcdnsmasqd
hostPath:
path: /etc/dnsmasq.d
- name: etcdnsmasqdavailable
hostPath:
path: /etc/dnsmasq.d-available

2
roles/etcd/tasks/main.yml

@ -10,4 +10,4 @@
wait_for:
port: 2379
delay: 5
timeout: 30
timeout: 100
Loading…
Cancel
Save