istvano.microk8s
Ansible 角色:microk8s
下载并安装 microk8s 这是最小、最简单的纯生产级 K8s。
需求
- Ansible >= 2.7
- Linux 发行版
- Debian 家族
- Ubuntu
- Xenial (16.04)
- Bionic (18.04)
- Focal (20.04)(未经测试)
- Jammy (22.04)(未经测试)
- Ubuntu
- Arch Linux(未经测试)
- Debian 家族
许可证
MIT
使用方法
角色变量
此角色中可用的一些变量如下所示。完整集合定义在 [defaults/main.yml](defaults/main.yml) 中。
microk8s_version: 要使用的版本,默认为1.27/stable。microk8s_plugins: 启用/禁用各种插件。当使用name:arg启用插件时,会将字符串作为arg传递。microk8s_enable_HA: 启用/禁用高可用性。microk8s_group_HA: 其成员将形成高可用集群的主机组。microk8s_group_WORKERS: 其成员仅作为工作节点的主机组(这里不运行控制平面组件)。microk8s_csr_template: 如果定义,将导致在生成证书时使用自定义的 CSR。
基本剧本
- hosts: servers
roles:
- role: istvano.microk8s
vars:
microk8s_plugins:
dns: "1.1.1.1"
istio: true
ingress: true
注意:当覆盖插件列表时,建议从 defaults/main.yml 复制整个插件列表,因为一些 Ansible 任务会引用它们(例如 helm3),否则可能会导致部署失败。
自定义证书请求模板
定制 MicroK8s 在生成集群证书时使用的证书请求模板可能会很有用。例如,可以向证书中添加额外的 SAN,以便从集群外部(例如通过反向代理)访问时,MicroK8s 证书能够验证。
要生成 CSR 模板,最简单的方法是使用没有模板的角色,然后将 CSR 从 /var/snap/microk8s/current/certs/csr.conf.template 复制到你的剧本模板目录,进行编辑并相应地设置 microk8s_csr_template 变量,然后重新运行剧本。
仅添加工作节点(仅限 1.23+)
可以配置额外的节点仅在你的 microk8s 集群中作为工作节点。这可以通过配置 ansible 主机组 microk8s_WORKERS 来完成(该组的名称可以通过 microk8s_group_WORKERS 配置)。每个列在主机组中的主机将基本上运行 microk8s join .... --worker,更多信息可以在这里找到:microk8s-clustering。
测试
使用 Molecule 包装器和系统 Python
./moleculew lint./moleculew create./moleculew list./moleculew check./moleculew test
使用 Python 虚拟环境
- 设置虚拟环境
$ python3 -m venv venv - 激活环境
$ . venv/bin/activate - 安装带有 lint 和 Docker 选项的 Molecule
$ pip install 'molecule[lint,docker]' - 如有必要,安装最新的 Ansible 包
$ pip install ansible - 运行测试命令:
molecule lintmolecule createmolecule listmolecule checkmolecule test
安装
ansible-galaxy install istvano.microk8s许可证
mit
下载
52k
拥有者
