infra-ansible
ansible script to ship alpine/ssh/wireguard
git clone https://9o.is/git/infra-ansible.git
commit a6e86913ac78c45a2a2e1c33c6d36a92ad55933f parent 2a1a278b2bec467140de4ba818e61f860abc6786 Author: Jul <jul@9o.is> Date: Fri, 17 May 2024 23:23:15 +0800 remove k0s Diffstat:
| M | host/group_vars/all | | | 4 | ---- |
| M | host/readme.md | | | 2 | +- |
| D | host/roles/k0s/defaults/main.yml | | | 3 | --- |
| D | host/roles/k0s/handlers/main.yml | | | 6 | ------ |
| D | host/roles/k0s/tasks/install.yml | | | 42 | ------------------------------------------ |
| D | host/roles/k0s/tasks/kubeconfig.yml | | | 31 | ------------------------------- |
| D | host/roles/k0s/tasks/main.yml | | | 10 | ---------- |
| D | host/roles/k0s/tasks/prepare.yml | | | 39 | --------------------------------------- |
| D | host/roles/k0s/templates/env.conf.j2 | | | 2 | -- |
| D | host/roles/k0s/templates/k0s.yaml.j2 | | | 61 | ------------------------------------------------------------- |
| M | host/site.yml | | | 3 | --- |
11 files changed, 1 insertion(+), 202 deletions(-)
diff --git a/host/group_vars/all b/host/group_vars/all @@ -1,9 +1,5 @@ wireguard_port: 62620 -k0s_version: v1.29.4+k0s.0 -k0s_podCIDR: 10.244.0.0/16 -k0s_svcCIDR: 10.96.0.0/12 - wg_client_ip: 10.0.0.2 wg_client_public_key: ZlBc9LbWP4CBm/9aIbZ2dwPZQbkYdvi7TZimAo5czWk= wg_client_private_key: !vault | diff --git a/host/readme.md b/host/readme.md @@ -3,6 +3,6 @@ ``` ansible-playbook site.yml --tags raw-setup --user root ansible-playbook site.yml --tags setup --user root -ansible-playbook site.yml --tags wireguard,k0s +ansible-playbook site.yml --tags wireguard ``` diff --git a/host/roles/k0s/defaults/main.yml b/host/roles/k0s/defaults/main.yml @@ -1,3 +0,0 @@ ---- -k0s_distros: '{{ inventory_dir }}/.output/k0s/distros' -k0s_artifacts: '{{ inventory_dir }}/.output/k0s/artifacts' diff --git a/host/roles/k0s/handlers/main.yml b/host/roles/k0s/handlers/main.yml @@ -1,6 +0,0 @@ ---- -- name: restart kubes - service: - name: k0scontroller - state: restarted - diff --git a/host/roles/k0s/tasks/install.yml b/host/roles/k0s/tasks/install.yml @@ -1,42 +0,0 @@ ---- -- name: Configure k0s - template: - src: k0s.yaml.j2 - dest: '/etc/k0s/k0s.yaml' - owner: root - group: root - mode: '0600' - notify: restart kubes - -- name: Install k0s controller - register: install_cmd - command: k0s install controller --single - args: - creates: /etc/systemd/system/k0scontroller.service - changed_when: install_cmd | length > 0 - -- name: Ensure k0scontroller service dir exists - file: - path: /etc/systemd/system/k0scontroller.service.d - state: directory - -- name: Ensure systemd drop-in unit for custom Env exists - template: - src: env.conf.j2 - dest: /etc/systemd/system/k0scontroller.service.d/env.conf - notify: restart kubes - -- name: Enable and start k0s service - systemd: - name: k0scontroller - daemon_reload: yes - enabled: yes - state: started - -- name: Wait for k8s apiserver - wait_for: - host: localhost - port: 6443 - delay: 15 - timeout: 180 - diff --git a/host/roles/k0s/tasks/kubeconfig.yml b/host/roles/k0s/tasks/kubeconfig.yml @@ -1,31 +0,0 @@ ---- -- name: Copy config file to home directory - copy: - src: '/var/lib/k0s/pki/admin.conf' - dest: /root/k0s-kubeconfig.yml - remote_src: yes - owner: root - mode: '0644' - -- name: Set controller IP in kubeconfig - replace: - path: /root/k0s-kubeconfig.yml - regexp: 'localhost' - replace: '{{ wg_server_ip }}' - -- name: Fetch kubeconfig - fetch: - src: /root/k0s-kubeconfig.yml - dest: '{{ k0s_artifacts }}/k0s-kubeconfig.yml' - flat: yes - validate_checksum: no - -- name: Configure fish terminal with KUBECONFIG - delegate_to: localhost - copy: - content: 'set -x KUBECONFIG "{{ k0s_artifacts }}/k0s-kubeconfig.yml"' - dest: ~user/.config/fish/conf.d/k0s.fish - owner: user - group: user - mode: '0644' - diff --git a/host/roles/k0s/tasks/main.yml b/host/roles/k0s/tasks/main.yml @@ -1,10 +0,0 @@ ---- -- name: Prepare k0s - include_tasks: prepare.yml - -- name: Install k0s - include_tasks: install.yml - -- name: Set k0s kubeconfig - include_tasks: kubeconfig.yml - diff --git a/host/roles/k0s/tasks/prepare.yml b/host/roles/k0s/tasks/prepare.yml @@ -1,39 +0,0 @@ ---- -- name: Make dir for k0s distro - delegate_to: localhost - become: false - file: - path: '{{ k0s_distros }}' - state: directory - -- name: Download k0s binary k0s-{{ k0s_version }}-amd64 - delegate_to: localhost - become: false - get_url: - url: https://github.com/k0sproject/k0s/releases/download/{{ k0s_version }}/k0s-{{ k0s_version }}-amd64 - dest: '{{ k0s_distros }}' - when: item == 'x86_64' and not (k0s_distros + '/k0s-' + k0s_version + '-amd64') is exists - with_items: '{{ ansible_facts.architecture }}' - -- name: Upload k0s binary - copy: - src: '{{ k0s_distros }}/k0s-{{ k0s_version }}-amd64' - dest: '/usr/local/bin/k0s' - owner: root - group: root - mode: '0755' - when: ansible_facts.architecture == 'x86_64' - notify: restart kubes - -- name: Create k0s Directories - file: - path: '{{ item }}' - state: directory - mode: '0755' - owner: root - group: root - loop: - - '/etc/k0s' - - '/var/lib/k0s' - - '/usr/libexec/k0s' - diff --git a/host/roles/k0s/templates/env.conf.j2 b/host/roles/k0s/templates/env.conf.j2 @@ -1,2 +0,0 @@ -[Service] - diff --git a/host/roles/k0s/templates/k0s.yaml.j2 b/host/roles/k0s/templates/k0s.yaml.j2 @@ -1,61 +0,0 @@ -apiVersion: k0s.k0sproject.io/v1beta1 -kind: ClusterConfig -metadata: - creationTimestamp: null - name: k0s -spec: - api: - address: {{ ansible_default_ipv4.address }} - k0sApiPort: 9443 - port: 6443 - sans: - - {{ ansible_default_ipv4.address }} - controllerManager: {} - extensions: - helm: - charts: null - concurrencyLevel: 5 - repositories: null - storage: - create_default_storage_class: false - type: external_storage - installConfig: - users: - etcdUser: etcd - kineUser: kube-apiserver - konnectivityUser: konnectivity-server - kubeAPIserverUser: kube-apiserver - kubeSchedulerUser: kube-scheduler - konnectivity: - adminPort: 8133 - agentPort: 8132 - network: - clusterDomain: cluster.local - dualStack: {} - kubeProxy: - iptables: - minSyncPeriod: 0s - syncPeriod: 0s - ipvs: - minSyncPeriod: 0s - syncPeriod: 0s - tcpFinTimeout: 0s - tcpTimeout: 0s - udpTimeout: 0s - metricsBindAddress: 0.0.0.0:10249 - mode: iptables - nodeLocalLoadBalancing: - envoyProxy: - apiServerBindPort: 7443 - konnectivityServerBindPort: 7132 - type: EnvoyProxy - podCIDR: {{ k0s_podCIDR }} - provider: calico - serviceCIDR: {{ k0s_svcCIDR }} - scheduler: {} - storage: - type: kine - kine: - dataSource: sqlite:/var/lib/k0s/db/state.db?mode=rwc&_journal=WAL&cache=shared - telemetry: - enabled: false diff --git a/host/site.yml b/host/site.yml @@ -22,6 +22,3 @@ - role: firewall tags: firewall - - role: k0s - tags: k0s -