proxmox_k3os

Проект K3os Кластера на Proxmox

Создает кластер K3os на Proxmox

Требования

Необходимо наличие существующего кластера Proxmox с соответствующим хранилищем и сетью, а также ISO-образа K3os в папке ISO.

Переменные роли

См. defaults/main.yml

# Имя файла ISO
k3os_iso: "k3os-amd64"

# Токен K3s, используемый для всех узлов - замените на более безопасный!
k3os_token: "SuperSecretToken"

# Хранилище для шаблонов (iso/фрагменты)
templates: "local"

# Путь к ISO (замените, если необходимо)
pve_iso_path: "{{ (templates == 'local') | ternary('/var/lib/vz/template/iso', '/mnt/pve/{{ templates }}/template/iso') }}"
# Путь к фрагментам (замените, если необходимо)
pve_snippets_path: "{{ (templates == 'local') | ternary('/var/lib/vz/snippets', '/mnt/pve/{{ templates }}/snippets') }}"

# Хранилище для дискового пространства
storage: "local"
# Размер локального диска (ГБ)
disk_size: 10

# Количество сокетов CPU
sockets: 1
# Оперативная память на узел (МБ)
memory: 1024

# Мост для сетевой карты
bridge: vmbr0
# VLAN для сетевой карты
vlan: 1

# Имя кластера
cluster_name: k3os

# Место для хранения файла KubeConfig
kubeconfig_file: "{{ cluster_name | default ('') }}.kubeconfig.yaml"

# Добавить KubeConfig с konfig
konfig: true

# Установить статические IP на каждом узле (принуждает IP к значению ansible_host из инвентаря)
static_ip: false

Зависимости

Нет

Примеры

Файл хостов

[proxmox]
pve-01 ansible_host=10.0.0.31
pve-02 ansible_host=10.0.0.32
pve-03 ansible_host=10.0.0.33

[k3os_managers]
k3os-manager-01 ansible_host=10.0.0.11 pve_host=pve-01 vmid=701
k3os-manager-02 ansible_host=10.0.0.12 pve_host=pve-02 vmid=702
k3os-manager-03 ansible_host=10.0.0.13 pve_host=pve-03 vmid=703

[k3os_workers]
# Автоматическая нумерация рабочих узлов - используйте, например, 01:06 для 01, 02, 03, 04, 05, 06
k3os-[01:06] node_number="{{ inventory_hostname | regex_replace(\"^k3os-(\\d+)$\", \"\\1\") | int }}" ansible_host="10.0.0.{{ 20 + node_number | int }}" pve_host="{{ groups.proxmox[(node_number | int - 1) % (groups.proxmox | length)] }}" vmid="{{ node_number | int + 750 }}"

[k3os:children]
k3os_managers
k3os_workers

Плейбук

- name: 'K3os | Установка'
  hosts: k3os
  gather_facts: false
  roles:
  - name: talltechdude.proxmox_k3os
    vars:
      iso_name: "k3os-amd64-{{ k3os_version }}"
      cluster_name: "Пример"

Лицензия

MIT

Информация об авторе

TallTechDude

О проекте

Builds a K3os cluster on Proxmox

Установить
ansible-galaxy install talltechdude/ansible-role-proxmox-k3os
Лицензия
Unknown
Загрузки
602
Владелец