talltechdude.proxmox_k3os

Proxmox K3os 集群构建器

在 Proxmox 上构建 K3os 集群

要求

需要一个现有的 Proxmox 集群,配备适当的存储和网络,以及 ISO 文件夹中的 K3os ISO。

角色变量

请参见 defaults/main.yml

# ISO 文件名称
k3os_iso: "k3os-amd64"

# 用于所有节点的 K3s 令牌 - 请更改为更安全的内容!
k3os_token: "超级秘密令牌"

# 模板的存储位置(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"
# 本地磁盘大小(GB)
disk_size: 10

# CPU 套接字数量
sockets: 1
# 每个节点的内存(MB)
memory: 1024

# 用于 NIC 的桥接
bridge: vmbr0
# 用于 NIC 的 VLAN
vlan: 1

# 集群名称
cluster_name: k3os

# KubeConfig 文件的存储位置
kubeconfig_file: "{{ cluster_name | default ('') }}.kubeconfig.yaml"

# 使用 konfig 添加 KubeConfig
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.proxmox_k3os
许可证
Unknown
下载
611
拥有者