Mercurial > code > home > repos > infra
changeset 21:948d9d72267d
k3s update and some config refactoring
author | drewp@bigasterisk.com |
---|---|
date | Tue, 28 Dec 2021 22:08:21 -0800 |
parents | b8105f575696 |
children | 301dad3cdb7b |
files | kube.py templates/kube/Corefile.j2 templates/kube/config.yaml.j2 templates/kube/k3s-server.service.j2 |
diffstat | 4 files changed, 46 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/kube.py Tue Dec 28 22:03:50 2021 -0800 +++ b/kube.py Tue Dec 28 22:08:21 2021 -0800 @@ -7,7 +7,7 @@ is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux'] is_wifi_pi = host.name in ['frontdoor', 'living'] -k3s_version = 'v1.21.2+k3s1' +k3s_version = 'v1.22.4-rc1+k3s1' master_ip = "10.5.0.1" server.sysctl(key='net.ipv4.ip_forward', value="1", persist=True) @@ -18,7 +18,8 @@ dest='/usr/local/bin/k3s', user='root', group='root', - mode='755') + mode='755', + cache_time=1000) if is_pi: old_cmdline = host.get_fact(FindInFile, path='/boot/cmdline.txt', pattern=r'.*')[0] @@ -40,12 +41,24 @@ if host.name == 'bang': # master files.template( + src='templates/kube/config.yaml.j2', + dest='/etc/k3s_config.yaml', + master_ip=master_ip, + ) + files.template( + src='templates/kube/Corefile.j2', + dest='/etc/k3s_coredns_config', + ) + files.template( src='templates/kube/k3s-server.service.j2', dest='/etc/systemd/system/k3s.service', master_ip=master_ip, ) systemd.service(service='k3s.service', daemon_reload=True, enabled=True, restarted=True) + server.shell(commands=[ + 'kubectl replace configmap -n kube-system coredns --from-file=Corefile=/etc/k3s_coredns_config -o yaml --dry-run=client | kubectl apply -', + ]) # one-time thing at cluster create time? not sure # - name: Replace https://localhost:6443 by https://master-ip:6443 # command: >- @@ -74,9 +87,9 @@ files.chown(target='/etc/rancher/k3s/k3s.yaml', user='root', group='drewp') files.chmod(target='/etc/rancher/k3s/k3s.yaml', mode='640') - # bug: doesn't update old versions since the file exists - files.download(src='https://storage.googleapis.com/skaffold/releases/v1.34.0/skaffold-linux-amd64', + files.download(src='https://storage.googleapis.com/skaffold/releases/v1.35.0/skaffold-linux-amd64', dest='/usr/local/bin/skaffold', user='root', group='root', - mode='755') + mode='755', + cache_time=1000)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/kube/Corefile.j2 Tue Dec 28 22:08:21 2021 -0800 @@ -0,0 +1,20 @@ +.:53 { + errors + health + ready + kubernetes cluster.local in-addr.arpa ip6.arpa { + pods insecure + fallthrough in-addr.arpa ip6.arpa + } + hosts /etc/coredns/NodeHosts { + ttl 60 + reload 15s + fallthrough + } + prometheus :9153 + forward . dns://10.2.0.1 + cache 30 + loop + reload + loadbalance +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templates/kube/config.yaml.j2 Tue Dec 28 22:08:21 2021 -0800 @@ -0,0 +1,7 @@ +debug: true +write-kubeconfig-mode: '640' +bind-address: {{ master_ip }} +node-external-ip: {{ master_ip }} +node-ip: {{ master_ip }} +disable: + - traefik \ No newline at end of file
--- a/templates/kube/k3s-server.service.j2 Tue Dec 28 22:03:50 2021 -0800 +++ b/templates/kube/k3s-server.service.j2 Tue Dec 28 22:08:21 2021 -0800 @@ -9,7 +9,7 @@ Type=notify ExecStartPre=-/sbin/modprobe br_netfilter ExecStartPre=-/sbin/modprobe overlay -ExecStart=/usr/local/bin/k3s server --debug --write-kubeconfig-mode=640 --bind-address {{ master_ip }} --node-external-ip {{ master_ip }} --node-ip {{ master_ip }} --disable traefik +ExecStart=/usr/local/bin/k3s server --config /etc/k3s_config.yaml KillMode=process Delegate=yes # Having non-zero Limit*s causes performance problems due to accounting overhead