blob: cf27c63eba6cc0040effd6be2eada82eae942562 [file] [log] [blame] [edit]
# Copyright (c) 2023 VEXXHOST, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- ansible.builtin.import_playbook: vexxhost.atmosphere.kubernetes
# NOTE(mnaser): When using Docker with custom networks, it will use 127.0.0.11
# as the DNS server which trips up the CoreDNS "loop" plugin.
- name: Switch CoreDNS to use CloudFlare DNS
hosts: controllers[0]
become: true
tasks:
- name: Update CoreDNS ConfigMap
kubernetes.core.k8s:
state: present
definition:
apiVersion: v1
kind: ConfigMap
metadata:
name: coredns
namespace: kube-system
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . 1.1.1.1 {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
}
notify:
- Rollout CoreDNS
- Wait for CoreDNS to be ready
handlers:
- name: Rollout CoreDNS
command: kubectl -n kube-system rollout restart deploy/coredns
- name: Wait for CoreDNS to be ready
command: kubectl -n kube-system rollout status deploy/coredns
- ansible.builtin.import_playbook: vexxhost.atmosphere.csi
- hosts: controllers
become: true
roles:
- vexxhost.atmosphere.ingress_nginx