Fix k3s deployment
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Adrien Reslinger 2021-01-27 00:08:51 +01:00
parent 884df14b6e
commit 52a8de84bc
Signed by: adrien
GPG key ID: DA7B27055C66D6DE
3 changed files with 87 additions and 16 deletions

View file

@ -56,21 +56,6 @@
- "crictl"
- "ctr"
# Manque kubernetes_server_token, kubernetes_master url
- name: Deploy systemd service
template:
src: "etc/systemd/system/{{ item }}.j2"
dest: "/etc/systemd/system/{{ item }}"
owner: root
group: root
mode: 0600
with_items:
- "k3s.service"
- "k3s.service.env"
when:
- ansible_service_mgr == "systemd"
- name: Create thin volumes for k3s
lvol:
vg: "{{ item.vg }}"
@ -97,6 +82,81 @@
with_items:
- { name: var_lib_k3s, vg: vg_sys, size: 10g, mount_point: /var/lib/rancher/k3s, mount_opts: "discard"}
# Check controlers
- name: Check if /etc/rancher/k3s/k3s.yaml already existe
stat:
path: /etc/rancher/k3s/k3s.yaml
register: st
changed_when: False
when:
- kubernetes_master|bool
- name: Create KubernetesMasterConfigured group
group_by:
key: KubernetesMasterConfigured_{{ kubernetes_cluster_name }}
when:
- kubernetes_master|bool
- st.stat.exists
# First controler
- name: Configure first controler
# run_once: true
block:
- name: Deploy systemd service
template:
src: "etc/systemd/system/{{ item }}.j2"
dest: "/etc/systemd/system/{{ item }}"
owner: root
group: root
mode: 0600
with_items:
- "k3s.service"
- "k3s.service.env"
when:
- ansible_service_mgr == "systemd"
- name: Enable k3s on boot
service:
name: k3s
state: started
enabled: yes
- name: Wait for k3s.yaml
wait_for:
path: /etc/rancher/k3s/k3s.yaml
- name: Wait for node-token
wait_for:
path: /var/lib/rancher/k3s/server/node-token
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
group_by:
key: KubernetesMasterConfigured_{{ kubernetes_cluster_name }}
when:
- kubernetes_master|bool
- vars['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
# Manque kubernetes_server_token, kubernetes_master url
#- name: Deploy systemd service
# template:
# src: "etc/systemd/system/{{ item }}.j2"
# dest: "/etc/systemd/system/{{ item }}"
# owner: root
# group: root
# mode: 0600
# with_items:
# - "k3s.service"
# - "k3s.service.env"
# when:
# - ansible_service_mgr == "systemd"
- name: Enable k3s on boot
service:
name: k3s

View file

@ -9,6 +9,12 @@
{% if kubernetes_master == true %}
# Kubernetes API server, used by all
<port protocol="tcp" port="6443"/>
{% endif %}
{% if kubernetes_cri == "k3s" %}
# K3S with flannel and wireguard
<port protocol="udp" port="51820"/>
{% else %}
{% if kubernetes_master == true %}
# etcd server client API, used by kube-apiserver and etcd
<port protocol="tcp" port="2379"/>
<port protocol="tcp" port="2380"/>
@ -35,4 +41,5 @@
<port protocol="udp" port="6783-6784"/>
<port protocol="tcp" port="6783"/>
{% endif %}
{% endif %}
</service>

View file

@ -7,7 +7,11 @@ After=network-online.target
Type=notify
EnvironmentFile=/etc/systemd/system/k3s.service.env
{% if kubernetes_master|bool %}
ExecStart=/usr/local/bin/k3s server --flannel-backend=wireguard --disable traefik --secrets-encryption
{% if vars['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined %}
ExecStart=/usr/local/bin/k3s server --flannel-backend=wireguard --disable traefik --secrets-encryption --cluster-init
{% else %}
ExecStart=/usr/local/bin/k3s server --flannel-backend=wireguard --disable traefik --secrets-encryption --server https://{{ kubernetes_master }}:6443 --token ${NODE_TOKEN}
{% endif %}
{% else %}
ExecStart=/usr/local/bin/k3s agent --server https://{{ kubernetes_master }}:6443 --token ${NODE_TOKEN}
{% endif %}